O controle de acesso baseado em função (RBAC) permite conceder permissões a recursos do Kubernetes vinculando-os a funções. Em seguida, atribua essas funções aos usuários para controlar o acesso e minimizar riscos de segurança. Este tópico descreve como configurar permissões RBAC do Kubernetes para um usuário ou uma função do RAM.
Visão geral
|
Parâmetro |
Descrição |
|
Permissões padrão |
|
|
Métodos de autorização |
Nota
Antes de começar, verifique se o usuário ou função do RAM de destino recebeu permissões de leitura do RAM para o cluster especificado no console do RAM. |
|
Modo de autorização |
Você pode conceder permissões a usuários ou funções do RAM individualmente ou em lotes. |
Devido às restrições de segurança do RAM da Alibaba Cloud, ao modificar permissões de um usuário ou função do RAM no console do ACS, você também deve conceder manualmente as permissões no console do RAM seguindo as instruções na tela.
Conceder permissões RBAC a usuários ou funções do RAM
Faça login no console do ACS. No painel de navegação à esquerda, escolha Authorizations.
-
Na página Authorizations, configure as permissões para um usuário ou função do RAM.
ImportanteOs clusters ACS são um tipo de cluster serverless do ACK. Se você já concedeu permissões RBAC para "All Clusters" a um usuário ou função do RAM no console do ACK, essas permissões se aplicam automaticamente aos clusters ACS. Não é possível conceder permissões separadas para clusters ACS pelo console do ACS; eles herdam a política "All Clusters".
-
Para autorizar um usuário do RAM:
Na aba RAM Users, localize o usuário do RAM de destino e clique em Modify Permissions na coluna Actions para abrir o painel Permission Management.
-
Para autorizar uma função do RAM:
Clique na aba RAM Roles. Insira o nome da função do RAM e clique em Modify Permissions para abrir o painel Permission Management.
-
-
No painel Permission Management, clique em + Add Permissions. Configure as definições de permissão para o usuário ou função do RAM de destino nos níveis de Clusters e Namespace, selecione uma função predefinida e clique em Submit.
Função predefinida
Permissões RBAC no cluster
Administrator
Permissões de leitura e gravação para todos os recursos em todos os namespaces.
O&M Engineer
Permissões de leitura e gravação para recursos do Kubernetes visíveis no console em todos os namespaces, além de permissões somente leitura para volumes persistentes, namespaces e cotas.
Developer
Permissões de leitura e gravação para recursos do Kubernetes visíveis no console em todos os namespaces ou em namespaces selecionados.
Restricted User
Permissões somente leitura para recursos do Kubernetes visíveis no console em todos os namespaces ou em namespaces selecionados.
Custom
A função de cluster selecionada determina as permissões. Para evitar conceder permissões não intencionais, revise as permissões da função de cluster antes de atribuí-la a um usuário ou função do RAM. Para obter instruções sobre como visualizar permissões personalizadas, expanda a seção abaixo.
ImportanteUm usuário ou função do RAM com a permissão cluster-admin tem privilégios de superadministrador dentro do cluster, equivalentes aos de uma conta Alibaba Cloud. Essa função fornece acesso irrestrito a todos os recursos do cluster. Atribua essa função com extrema cautela.
-
Após concluir a configuração, faça login no console do ACS como o usuário ou função do RAM de destino para realizar operações.
NotaCertifique-se de que o usuário ou função do RAM tenha as permissões necessárias do RAM para o cluster e também tenha recebido a função RBAC Administrator ou cluster-admin. Para mais informações, consulte Conceder permissões do RAM a um usuário ou função do RAM.
O ACS oferece quatro funções predefinidas padrão: Administrator, O&M Engineer, Developer e Restricted User. Essas funções atendem à maioria dos requisitos de controle de acesso. Caso precise definir permissões mais granulares, utilize o recurso de função Custom.
Você pode atribuir uma função predefinida e várias funções personalizadas a um usuário ou função do RAM para um cluster ou namespace específico.
Se desejar conceder permissões para todos os clusters de uma só vez, de modo que novos clusters herdem automaticamente essas permissões, selecione All Clusters na lista suspensa Clusters.
Delegar autorização RBAC a usuários ou funções do RAM
Para delegar essa capacidade, uma conta Alibaba Cloud ou um usuário do RAM com a função Administrator em todo o cluster deve conceder as permissões necessárias do RAM e RBAC ao usuário ou função desejado.
Permissões do RAM
Conceda ao usuário ou função do RAM uma política do RAM que inclua as seguintes permissões:
Visualizar outros principais do RAM.
Anexar uma política do RAM.
Visualizar informações do cluster.
Visualizar configurações de permissão RBAC.
Conceder permissões RBAC.
-
Faça login no console do RAM e conceda as permissões necessárias do RAM ao usuário ou função do RAM usando uma política semelhante ao exemplo a seguir. Para mais informações, consulte Conceder permissões do RAM a um usuário ou função do RAM.
ImportanteSubstitua
xxxxxxpelo nome da política do RAM a ser anexada. O uso de um asterisco () permite que o usuário ou função do RAM anexe qualquer política do RAM. Definir "Resource": "" concede permissão para executar as ações especificadas em todos os recursos da sua conta. A ação cs:* aplica-se a todos os clusters ACK, exceto aos clusters ACS. Conceda essas permissões com cautela.{ "Statement": [{ "Action": [ "ram:Get*", "ram:List*", "cs:DescribeClustersV1", "cs:GrantPermission" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ram:AttachPolicyToUser", "ram:AttachPolicy" ], "Effect": "Allow", "Resource": [ "acs:ram:*:*:policy/xxxxxx", "acs:*:*:*:user/*" ] } ], "Version": "1" } Após conceder as permissões, o usuário ou função do RAM poderá conceder permissões do RAM a outros usuários ou funções do RAM dentro do escopo da política especificada.
Permissões RBAC
Depois de conceder as permissões necessárias do RAM, atribua também a função predefinida Administrator ou a função personalizada cluster-admin ao usuário ou função do RAM para o cluster ou namespace de destino. Para mais informações, consulte Definir um assunto de autorização como administrador de permissões para aplicativos no cluster.
Definir usuários ou funções do RAM como administradores de permissões
Caso seja inconveniente usar uma conta Alibaba Cloud para conceder permissões, defina um usuário ou função do RAM como administrador de permissões. Assim, é possível utilizar esse administrador de permissões para executar tarefas de autorização.
-
Faça login no console do RAM e localize o usuário ou função do RAM de destino.
-
Usuário do RAM
No painel de navegação à esquerda, escolha . Na lista de usuários, localize o usuário de destino e clique em Attach Policy na coluna Actions.
-
Função do RAM
No painel de navegação à esquerda, escolha . Na lista de funções, localize a função de destino e clique em Attach Policy na coluna Actions.
-
Na caixa de diálogo Attach Policy, clique na caixa de pesquisa na seção Policy. Pesquise as políticas de sistema
AliyunRAMFullAccesseAliyunACCFullAccesspelo nome e selecione-as. As políticas selecionadas são adicionadas à área Selected Policy à direita. Clique em OK e feche a caixa de diálogo para concluir a autorização.Faça login no console do ACS e conceda a função predefinida Administrator ao usuário ou função do RAM para todos os clusters. Para mais informações, consulte Conceder permissões RBAC a usuários ou funções do RAM.
Após concluir estas etapas, o usuário ou função do RAM torna-se um administrador de permissões e pode conceder permissões do RAM e RBAC a outros usuários e funções do RAM.
Códigos de erro de permissão
Se uma operação no console ou uma chamada de API falhar devido a permissões RBAC insuficientes, o sistema retorna um código de erro correspondente. A tabela a seguir lista as permissões RBAC de cluster necessárias para os códigos de erro comuns.
|
Código ou mensagem de erro |
Permissão RBAC necessária |
|
ForbiddenCheckControlPlaneLog |
Administrator ou O&M Engineer |
|
ForbiddenHelmUsage |
Administrator |
|
ForbiddenRotateCert |
Administrator |
|
ForbiddenQueryClusterNamespace |
Administrator, O&M Engineer, Developer ou Restricted User |