O Resource Access Management (RAM) é um serviço fornecido pela Alibaba Cloud para gerenciar identidades de usuários e permissões de acesso a recursos. O uso do RAM ajuda a evitar o compartilhamento das chaves da sua conta da Alibaba Cloud com outros usuários e permite conceder aos usuários o acesso com privilégio mínimo. O RAM usa políticas de permissão para definir autorizações. Este tópico descreve a estrutura geral de uma política RAM e os elementos de instrução de política (Action, Resource e Condition) definidos por Container Service for Kubernetes para políticas de permissão RAM. O código RAM (RamCode) para Container Service for Kubernetes é cs , e a granularidade de autorização suportada é Resource-level .
Estrutura geral de uma política
As políticas de permissão suportam o formato JSON com a seguinte estrutura geral:
{
"Version": "1",
"Statement": [
{
"Effect": "<Effect>",
"Action": "<Action>",
"Resource": "<Resource>",
"Condition": {
"<Condition_operator>": {
"<Condition_key>": [
"<Condition_value>"
]
}
}
}
]
} A lista a seguir descreve os campos da política:
Version: Especifica o número da versão da política. É fixo em 1.
Statement:
Effect: Especifica o resultado da autorização. Valores válidos: Allow e Deny.
Action: Especifica uma ou mais operações que são permitidas ou negadas.
Resource: Especifica os objetos específicos afetados pelas operações. Você pode usar os Alibaba Cloud Resource Names (ARNs) para descrever recursos específicos.
Condition: Especifica as condições para que a autorização entre em vigor. Este campo é opcional.
Operador de condição: Especifica os operadores condicionais. Diferentes tipos de condições suportam diferentes operadores condicionais.
Condition_key: Especifica as chaves de condição.
Condition_value: Especifica os valores de condição.
Action
A tabela a seguir lista as ações definidas por Container Service for Kubernetes. As colunas da tabela são descritas a seguir:
Action: As ações podem ser usadas no elemento
Actiondas instruções de política de permissão RAM para conceder permissões para realizar a operação.API: A API que você pode chamar para realizar a ação.
Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.
Tipo de recurso: O tipo de recurso que suporta autorização para realizar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.
Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o ARN correspondente no elemento
Resourceda política.Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento
Resourceda política.
Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se apenas a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, a Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços integrados ao RAM. Para mais informações, consulte Chaves de condição comuns.
Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para realizar todas as ações dependentes.
|
Action |
API |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
| cs:RunClusterCheck | RunClusterCheck | none |
*Cluster
|
Nenhum | Nenhum |
| cs:InstallNodePoolComponents | InstallNodePoolComponents | none |
*Cluster
|
Nenhum | Nenhum |
| cs:ResumeUpgradeCluster | ResumeUpgradeCluster | update |
*Cluster
|
Nenhum | Nenhum |
| cs:GetUpgradeStatus | GetUpgradeStatus | get |
*Cluster
|
Nenhum | Nenhum |
| cs:CreateCluster | CreateCluster | create |
*Cluster
|
cs:ClusterType cs:ClusterSpec cs:ClusterProfile cs:EnableSecretEncryption cs:EnableApiServerEip cs:EnableAddonLogtailDs cs:EnableCoreControlPlaneComponentsLog cs:AddonNames cs:EnableSNAT cs:EnableNodePoolPublicIP |
Nenhum |
| cs:Queryk8sComponentsUpdateVersion | DescribeClusterAddonsVersion | get |
*Cluster
|
Nenhum | Nenhum |
| cs:GetClusterAddonInstance | GetClusterAddonInstance | get |
*Cluster
|
Nenhum | Nenhum |
| cs:CreateTemplate | CreateTemplate | create |
*All Resources
|
Nenhum | Nenhum |
| cs:DeleteAutoRepairPolicy | DeleteAutoRepairPolicy | none |
*Cluster
|
Nenhum | Nenhum |
| cs:ModifyAutoRepairPolicy | ModifyAutoRepairPolicy | none |
*Cluster
|
Nenhum | Nenhum |
| cs:RemoveNodePoolNodes | RemoveNodePoolNodes | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteCluster | DeleteCluster | delete |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeKubernetesVersionMetadata | DescribeKubernetesVersionMetadata | get |
*All Resources
|
Nenhum | Nenhum |
| cs:QueryK8sComponentUpgradeStatus | DescribeClusterAddonUpgradeStatus | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeResourcesDeleteProtection | DescribeResourcesDeleteProtection | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterUserKubeconfig | DescribeClusterUserKubeconfig | get |
*Cluster
|
cs:KubeConfigDurationMinutes |
Nenhum |
| cs:ListClusterAddonInstances | ListClusterAddonInstances | list |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteClusterNodepool | DeleteClusterNodepool | delete |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterAddonsUpgradeStatus | DescribeClusterAddonsUpgradeStatus | get |
*Cluster
|
Nenhum | Nenhum |
| cs:ListUserKubeConfigStates | ListUserKubeConfigStates | none |
*All Resources
|
Nenhum | Nenhum |
| cs:PauseComponentUpgrade | PauseComponentUpgrade | none |
*Cluster
|
Nenhum | Nenhum |
| cs:CancelComponentUpgrade | CancelComponentUpgrade | none |
*Cluster
|
Nenhum | Nenhum |
| cs:CancelTask | CancelTask | update |
*All Resources
|
Nenhum | Nenhum |
| cs:CreateKubernetesTrigger | CreateKubernetesTrigger | create |
*All Resources
|
Nenhum | Nenhum |
| cs:MigrateCluster | MigrateCluster | update |
*Cluster
|
Nenhum | Nenhum |
| cs:CancelOperationPlan | CancelOperationPlan | delete |
*All Resources
|
Nenhum | Nenhum |
| cs:GetClusters | DescribeClusters | get |
*Cluster
|
Nenhum | Nenhum |
| cs:ModifyClusterAddon | ModifyClusterAddon | update |
*Cluster
|
cs:AddonName cs:AddonNames |
Nenhum |
| cs:CreateClusterInspectConfig | CreateClusterInspectConfig | create |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteTrigger | DeleteTrigger | delete |
*Cluster
|
Nenhum | Nenhum |
| cs:ListOperationPlans | ListOperationPlans | list |
*All Resources
|
Nenhum | Nenhum |
| cs:GetKubernetesTrigger | GetKubernetesTrigger | get |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateContactGroupForAlert | UpdateContactGroupForAlert | update |
*Cluster
|
Nenhum | Nenhum |
| cs:ModifyNodePoolNodeConfig | ModifyNodePoolNodeConfig | update |
*Cluster
|
Nenhum | Nenhum |
| cs:GetClusterInspectReportDetail | GetClusterInspectReportDetail | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeEvents | DescribeEvents | get |
*All Resources
|
Nenhum | Nenhum |
| cs:CreateAutoRepairPolicy | CreateAutoRepairPolicy | none |
*Cluster
|
Nenhum | Nenhum |
| cs:ScaleClusterNodePool | ScaleClusterNodePool | update |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateClusterInspectConfig | UpdateClusterInspectConfig | update |
*Cluster
|
Nenhum | Nenhum |
| cs:GetClusterDiagnosisResult | GetClusterDiagnosisResult | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteKubernetesTrigger | DeleteKubernetesTrigger | delete |
*All Resources
|
Nenhum | Nenhum |
| cs:StartAlert | StartAlert | update |
*Cluster
|
Nenhum | Nenhum |
| cs:OpenAckService | OpenAckService | update |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeSubaccountK8sClusterUserConfig | DescribeSubaccountK8sClusterUserConfig | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeExternalAgent | DescribeExternalAgent | get |
*Cluster
|
Nenhum | Nenhum |
| cs:GetClusterDiagnosisCheckItems | GetClusterDiagnosisCheckItems | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeTaskInfo | DescribeTaskInfo | get |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeUserClusterNamespaces | DescribeUserClusterNamespaces | get |
*Cluster
|
Nenhum | Nenhum |
| cs:GetClusterCheck | GetClusterCheck | list |
*Cluster
|
Nenhum | Nenhum |
| cs:DeletePolicyInstance | DeletePolicyInstance | delete |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteClusterNodes | DeleteClusterNodes | delete |
*Cluster
|
Nenhum | Nenhum |
| cs:CreateClusterNodePool | CreateClusterNodePool | create |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeRegions | DescribeRegions | get |
*All Resources
|
Nenhum | Nenhum |
| cs:UpgradeK8sComponents | UpgradeClusterAddons | update |
*Cluster
|
Nenhum | Nenhum |
| cs:ListClusterChecks | ListClusterChecks | list |
*Cluster
|
Nenhum | Nenhum |
| cs:AttachInstances | AttachInstances | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteClusterInspectConfig | DeleteClusterInspectConfig | delete |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteTemplate | DeleteTemplate | delete |
*All Resources
|
Nenhum | Nenhum |
| cs:CreateClusterDiagnosis | CreateClusterDiagnosis | create |
*Cluster
|
Nenhum | Nenhum |
| cs:ScanClusterVuls | ScanClusterVuls | update |
*Cluster
|
Nenhum | Nenhum |
| cs:ListClusterInspectReports | ListClusterInspectReports | list |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeTemplates | DescribeTemplates | get |
*All Resources
|
Nenhum | Nenhum |
| cs:CreateAutoscalingConfig | CreateAutoscalingConfig | create |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribePolicyDetails | DescribePolicyDetails | get |
*All Resources
|
Nenhum | Nenhum |
| cs:ListAutoRepairPolicies | ListAutoRepairPolicies | none |
*Cluster
|
Nenhum | Nenhum |
| cs:ModifyClusterTags | ModifyClusterTags | update |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateTemplate | UpdateTemplate | update |
*All Resources
|
Nenhum | Nenhum |
| cs:ListTagResources | ListTagResources | get |
*All Resources
|
Nenhum | Nenhum |
| cs:GetClusterInspectConfig | GetClusterInspectConfig | get |
*Cluster
|
Nenhum | Nenhum |
| cs:ListClusterAddonInstanceResources | ListClusterAddonInstanceResources | list |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterEvents | DescribeClusterEvents | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeAddons | DescribeAddons | get |
*All Resources
|
Nenhum | Nenhum |
| cs:UnInstallClusterAddons | UnInstallClusterAddons | delete |
*Cluster
|
cs:EnableAddonLogtailDs |
Nenhum |
| cs:UpdateResourcesDeleteProtection | UpdateResourcesDeleteProtection | update |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateKMSEncryption | UpdateKMSEncryption | none |
*Cluster
|
Nenhum | Nenhum |
| cs:SyncClusterNodePool | SyncClusterNodePool | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribePolicies | DescribePolicies | get |
*All Resources
|
Nenhum | Nenhum |
| cs:InstallClusterAddons | InstallClusterAddons | create |
*Cluster
|
cs:AddonNames |
Nenhum |
| cs:DescribeUserQuota | DescribeUserQuota | get |
*All Resources
|
Nenhum | Nenhum |
| cs:ResumeTask | ResumeTask | update |
*All Resources
|
Nenhum | Nenhum |
| cs:GetClusters | DescribeClustersV1 | get |
*Cluster
|
Nenhum | Nenhum |
| cs:UntagResources | UntagResources | delete |
*All Resources
|
Nenhum | Nenhum |
| cs:ModifyClusterNodePool | ModifyClusterNodePool | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterNodePoolDetail | DescribeClusterNodePoolDetail | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribePolicyInstances | DescribePolicyInstances | get |
*Cluster
|
Nenhum | Nenhum |
| cs:RunClusterInspect | RunClusterInspect | create |
*Cluster
|
Nenhum | Nenhum |
| cs:CancelClusterUpgrade | CancelClusterUpgrade | delete |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteAlertContact | DeleteAlertContact | delete |
*All Resources
|
Nenhum | Nenhum |
| cs:CheckControlPlaneLogEnable | CheckControlPlaneLogEnable | get |
*Cluster
|
Nenhum | Nenhum |
| cs:GetUserPermissions | DescribeUserPermission | get |
*All Resources
|
Nenhum | Nenhum |
| cs:DeployPolicyInstance | DeployPolicyInstance | get |
*Cluster
|
Nenhum | Nenhum |
| cs:ModifyPolicyInstance | ModifyPolicyInstance | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterNodePools | DescribeClusterNodePools | get |
*Cluster
|
Nenhum | Nenhum |
| cs:RepairClusterNodePool | RepairClusterNodePool | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterAddonMetadata | DescribeClusterAddonMetadata | get |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateClusterAuditLogConfig | UpdateClusterAuditLogConfig | none |
*Cluster
|
Nenhum | Nenhum |
| cs:DeleteAlertContactGroup | DeleteAlertContactGroup | delete |
*All Resources
|
Nenhum | Nenhum |
| cs:CleanClusterUserPermissions | CleanClusterUserPermissions | none |
*Cluster
|
Nenhum | Nenhum |
| cs:UpgradeCluster | UpgradeCluster | update |
*Cluster
|
Nenhum | Nenhum |
| cs:ModifyCluster | ModifyCluster | update |
*Cluster
|
cs:EnableApiServerEip cs:ApiServerEipId |
Nenhum |
| cs:DescribeClusterResources | DescribeClusterResources | get |
*Cluster
|
Nenhum | Nenhum |
| cs:PauseTask | PauseTask | update |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeClusterTasks | DescribeClusterTasks | get |
*Cluster
|
Nenhum | Nenhum |
| cs:GrantPermission | GrantPermissions | update |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeClusterDetail | DescribeClusterDetail | get |
*Cluster
|
Nenhum | Nenhum |
| cs:CreateTrigger | CreateTrigger | create |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeClusterAddonInstance | DescribeClusterAddonInstance | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterV2UserKubeconfig | DescribeClusterV2UserKubeconfig | get |
*Cluster
|
cs:KubeConfigDurationMinutes |
Nenhum |
| cs:StopAlert | StopAlert | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterNodes | DescribeClusterNodes | get |
*Cluster
|
Nenhum | Nenhum |
| cs:TagResources | TagResources | update |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeAddon | DescribeAddon | get |
*All Resources
|
Nenhum | Nenhum |
| cs:ListOperationPlansForRegion | ListOperationPlansForRegion | none |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeTemplateAttribute | DescribeTemplateAttribute | get |
*All Resources
|
Nenhum | Nenhum |
| cs:PauseClusterUpgrade | PauseClusterUpgrade | update |
*Cluster
|
Nenhum | Nenhum |
| cs:CheckServiceRole | CheckServiceRole | none |
*All Resources
|
Nenhum | Nenhum |
| cs:ResumeComponentUpgrade | ResumeComponentUpgrade | update |
*Cluster
|
Nenhum | Nenhum |
| cs:FixNodePoolVuls | FixNodePoolVuls | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterAttachScripts | DescribeClusterAttachScripts | update |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateNodePoolComponent | UpdateNodePoolComponent | update |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateK8sClusterUserConfigExpire | UpdateK8sClusterUserConfigExpire | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeTrigger | DescribeTrigger | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClustersForRegion | DescribeClustersForRegion | list |
*All Resources
|
Nenhum | Nenhum |
| cs:ListAddons | ListAddons | list |
*All Resources
|
Nenhum | Nenhum |
| cs:DescribeClusterVuls | DescribeClusterVuls | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribePolicyInstancesStatus | DescribePolicyInstancesStatus | get |
*Cluster
|
Nenhum | Nenhum |
| cs:AttachInstancesToNodePool | AttachInstancesToNodePool | update |
*Cluster
|
Nenhum | Nenhum |
| cs:ListClusterKubeconfigStates | ListClusterKubeconfigStates | none |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeClusterLogs | DescribeClusterLogs | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeEventsForRegion | DescribeEventsForRegion | list |
*All Resources
|
Nenhum | Nenhum |
| cs:RevokeK8sClusterKubeConfig | RevokeK8sClusterKubeConfig | none |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateUserPermissions | UpdateUserPermissions | none |
*All Resources
|
Nenhum | Nenhum |
| cs:CleanUserPermissions | CleanUserPermissions | none |
*All Resources
|
Nenhum | Nenhum |
| cs:GetClusterAuditProject | GetClusterAuditProject | get |
*Cluster
|
Nenhum | Nenhum |
| cs:UpdateControlPlaneLog | UpdateControlPlaneLog | update |
*Cluster
|
cs:EnableCoreControlPlaneComponentsLog |
Nenhum |
| cs:UpgradeClusterNodepool | UpgradeClusterNodepool | update |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeNodePoolVuls | DescribeNodePoolVuls | get |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribeAutoRepairPolicy | DescribeAutoRepairPolicy | none |
*Cluster
|
Nenhum | Nenhum |
| cs:DescribePolicyGovernanceInCluster | DescribePolicyGovernanceInCluster | get |
*Cluster
|
Nenhum | Nenhum |
Resource
A tabela a seguir lista os recursos definidos por Container Service for Kubernetes. Especifique-os no elemento Resource das instruções de política RAM para conceder permissões para operações específicas. Eles são identificados de forma exclusiva por ARNs. Formato: acs:{#ramcode}:{#regionId}:{#accountId}:{#resourceType}:
acs: A sigla do serviço da Alibaba Cloud, que indica a nuvem pública da Alibaba Cloud.{#ramcode}: O código usado no RAM para indicar um serviço da Alibaba Cloud.{#regionId}: O ID da região. Se o recurso abrange todas as regiões, defina-o como um asterisco (*).{#accountId}: O ID da conta da Alibaba Cloud. Se o recurso abrange todas as contas da Alibaba Cloud, defina-o como um asterisco (*).{#resourceType}: O identificador de recurso definido pelo serviço. Suporta uma estrutura hierárquica, semelhante a um caminho de arquivo. Se a instrução abrange recursos globais, defina-o como um asterisco (*).
Tipo de recurso |
ARN |
| Cluster |
|
| Unrestricted |
|
Condition
A tabela a seguir lista as chaves de condição em nível de produto definidas por Container Service for Kubernetes. Você também pode usar as Chaves de condição comuns da Alibaba Cloud. Especifique essas chaves no elemento Condition das instruções de política RAM para definir regras de autorização granulares. Na chave de condição, especifique os valores de condição no elemento Condition_value da política.
Cada chave de condição possui um tipo de dado específico, como string, número, booleano ou endereço IP. O tipo de dado determina quais operadores condicionais podem ser usados para comparar os valores da solicitação com os valores da política. Você deve especificar os operadores condicionais compatíveis com o tipo de dado da chave de condição. Operadores incompatíveis tornarão a política inválida. Consulte Operador de condição para combinações válidas.
Chave de condição |
Descrição |
Tipo de dado |
| cs:EnableAddonLogtailDs | Indica se o cluster possui o componente de log logtail-ds ativado. | Boolean |
| cs:EnableApiServerEip | Indica se o cluster possui acesso público ativado para o API Server. | Boolean |
| cs:EnableSNAT | Indica se a configuração de SNAT para a VPC do cluster é permitida. | Boolean |
| cs:AddonNames | Os componentes de destino para operações de componentes do cluster. Valores de exemplo: [\\\\\\\\\\"metrics-server\\\\\\\\\\",\\\\\\\\\\"terway-eniip\\\\\\\\\\"]. |
Array |
| cs:ClusterType | O tipo de cluster. | String |
| cs:ClusterSpec | A especificação do cluster gerenciado. | String |
| cs:AddonName | O nome do componente do cluster. Valores de exemplo: aliyun-acr-credential-helper, metrics-server. | String |
| cs:EnableSecretEncryption | Indica se o cluster ACK possui a criptografia de Secret em repouso ativada. | Boolean |
| cs:ClusterProfile | O identificador de subtipo do cluster gerenciado. | String |
| cs:ApiServerEipId | O ID da instância EIP vinculada ao API Server do cluster. Valor de exemplo: eip-2zep1n4o1ic48m3m****. | String |
| cs:EnableNodePoolPublicIP | Indica se é permitida a atribuição de um endereço IPv4 público a cada nó no cluster. | Boolean |
| cs:EnableCoreControlPlaneComponentsLog | Indica se o cluster possui o log dos componentes principais do plano de controle ativado. | Boolean |
| cs:KubeConfigDurationMinutes | O período de validade da credencial KubeConfig do cluster (em minutos). | Numeric |
Como criar políticas RAM personalizadas?
Você pode criar políticas personalizadas e concedê-las a usuários RAM, grupos de usuários RAM ou funções RAM. Para instruções, consulte: