Gerenciamento de permissões
O CCE permite que você atribua permissões a usuários do IAM e grupos de usuários em suas contas de locatário. O CCE combina as vantagens do Identity and Access Management (IAM) e do Controle de Acesso Baseado em Função (RBAC) do Kubernetes para fornecer uma variedade de métodos de autorização, incluindo autorização refinada/token do IAM e autorização com escopo de cluster/namespace.
- Permissões em nível de cluster: o gerenciamento de permissões em nível de cluster evolui a partir do recurso de autorização de política do sistema do IAM. Os usuários do IAM no mesmo grupo de usuários têm as mesmas permissões. No IAM, você pode configurar políticas do sistema para descrever quais grupos de usuários do IAM podem executar quais operações em recursos de cluster. Por exemplo, você pode conceder ao grupo de usuários A para criar e excluir o cluster X, adicionar um nó ou instalar um complemento, enquanto concede ao grupo de usuários B para exibir informações sobre o cluster X.
As permissões em nível de cluster envolvem APIs do CCE que não são do Kubernetes e oferecem suporte a políticas de IAM refinadas e recursos de gerenciamento de projetos corporativos.
- Permissões em nível de namespace: você pode regular o acesso de usuários ou grupos de usuários a recursos do Kubernetes, como cargas de trabalho, trabalhos e serviços, em um único namespace com base em suas funções do RBAC do Kubernetes. O CCE também foi aprimorado com base em recursos de código aberto. Ele suporta autorização do RBAC com base no usuário ou grupo de usuários do IAM e autenticação do RBAC no acesso a APIs usando tokens do IAM.
As permissões em nível de namespace envolvem as APIs do Kubernetes do CCE e são aprimoradas com base nos recursos do RBAC do Kubernetes. As permissões em nível de namespace podem ser concedidas a usuários ou grupos de usuários do IAM para autenticação e autorização, mas são independentes de políticas do IAM refinadas. Para obter detalhes, consulte Uso da autorização do RBAC.
- Permissões em nível de cluster são configuradas apenas para recursos relacionados ao cluster (como clusters e nós). Você também deve configurar permissões de namespace para operar recursos do Kubernetes (como cargas de trabalho, jobs e Services).
- Depois de criar um cluster v1.11.7-r2 ou posterior, o CCE atribui automaticamente as permissões de administração de cluster de todos os namespaces no cluster para você, o que significa que você tem controle total sobre o cluster e todos os recursos em todos os namespaces.
Permissões no nível do cluster (atribuídas usando políticas do sistema do IAM)
Por padrão, os novos usuários do IAM não têm permissões atribuídas. Você precisa adicionar um usuário a um ou mais grupos e anexar políticas de permissões ou funções a esses grupos. Os usuários herdam permissões dos grupos aos quais são adicionados e podem executar operações especificadas em serviços de nuvem com base nas permissões.
O CCE é um serviço de nível de projeto implementado e acessado em regiões físicas específicas. Para atribuir permissões do CCE a um grupo de usuários, especifique o escopo como projetos específicos da região e selecione os projetos para que as permissões entrem em vigor. Se All projects estiver selecionado, as permissões entrarão em vigor para o grupo de usuários em todos os projetos específicos da região. Ao acessar o CCE, os usuários precisam mudar para uma região onde foram autorizados a usar o serviço CCE.
- Funções: um tipo de mecanismo de autorização de granulação grosseira que define permissões relacionadas às responsabilidades do usuário. Esse mecanismo fornece apenas um número limitado de funções de nível de serviço para autorização. Ao usar funções para conceder permissões, você também precisa atribuir outras funções das quais as permissões dependem para entrar em vigor. No entanto, as funções não são uma escolha adequada para autorização refinada e controle de acesso seguro.
- Polícias: um tipo de mecanismo de autorização refinado que define as permissões necessárias para realizar operações em recursos em nuvem específicos sob determinadas condições. Esse mecanismo permite uma autorização baseada em políticas mais flexível, atendendo aos requisitos de controle de acesso seguro. Por exemplo, você pode atribuir aos usuários apenas as permissões para gerenciar um determinado tipo de clusters e nós.
Tabela 1 lista todas as permissões do sistema suportadas pelo CCE.
Nome da função/política |
Descrição |
Tipo |
Dependências |
---|---|---|---|
CCE Administrator |
Permissões de leitura e gravação para clusters do CCE e todos os recursos (incluindo cargas de trabalho, nós, trabalhos e serviços) nos clusters |
Função |
Os usuários que recebem permissões desta política também devem receber permissões das seguintes políticas: Projeto de serviço global: OBS Buckets Viewer e OBS Administrator Projetos específicos por região: Tenant Guest, Server Administrator, ELB Administrator, SFS Administrator, SWR Admin e APM FullAccess
NOTA:
Os usuários com políticas de CCE Administrator e NAT Gateway Administrator podem usar as funções de gateway NAT para clusters. |
CCE FullAccess |
Permissões de operação comuns em recursos de cluster do CCE, excluindo as permissões em nível de namespace para os clusters (com o RBAC do Kubernetes ativado) e as operações de administrador privilegiado, como configuração de agência e geração de certificados de cluster |
Política |
Nenhuma. |
CCE ReadOnlyAccess |
Permissões para visualizar recursos de cluster do CCE, excluindo as permissões de nível de namespace dos clusters (com o RBAC do Kubernetes ativado) |
Política |
Nenhuma. |
Operação |
CCE ReadOnlyAccess |
CCE FullAccess |
CCE Administrator |
---|---|---|---|
Criar um cluster |
x |
√ |
√ |
Excluir um cluster |
x |
√ |
√ |
Atualizar um cluster, por exemplo, atualizar parâmetros de programação de nó de cluster e fornecer suporte do RBAC para clusters |
x |
√ |
√ |
Atualizar um cluster |
x |
√ |
√ |
Acordar um cluster |
x |
√ |
√ |
Hibernar um cluster |
x |
√ |
√ |
Listar todos os clusters |
√ |
√ |
√ |
Consultar detalhes do cluster |
√ |
√ |
√ |
Adicionar um nó |
x |
√ |
√ |
Excluir um ou mais nós |
x |
√ |
√ |
Atualizar um nó de cluster, por exemplo, atualizar o nome do nó |
x |
√ |
√ |
Consultar detalhes do nó |
√ |
√ |
√ |
Listar todos os nós |
√ |
√ |
√ |
Listar todas as tarefas |
√ |
√ |
√ |
Excluir uma ou mais tarefas de cluster |
x |
√ |
√ |
Consultar detalhes da tarefa |
√ |
√ |
√ |
Criar um volume de armazenamento |
x |
√ |
√ |
Excluir um volume de armazenamento |
x |
√ |
√ |
Executar operações em todos os recursos do Kubernetes |
√ |
√ |
√ |
Executar todas as operações em um Elastic Cloud Server (ECS) |
x |
√ |
√ |
Executar todas as operações em discos do EVS (Elastic Volume Service) Os discos do EVS podem ser conectados a servidores em nuvem e dimensionados para uma capacidade maior sempre que necessário. |
x |
√ |
√ |
Executar de todas as operações na VPC Um cluster deve ser executado em uma VPC. Ao criar um namespace, você precisa criar ou associar uma VPC para o namespace para que todos os containers no namespace sejam executados na VPC. |
x |
√ |
√ |
Visualizar detalhes de todos os recursos em um ECS No CCE, um nó é um ECS com vários discos do EVS. |
√ |
√ |
√ |
Listar todos os recursos em um ECS |
√ |
√ |
√ |
Visualizar detalhes sobre todos os recursos de disco do EVS. Os discos do EVS podem ser conectados a servidores em nuvem e dimensionados para uma capacidade maior sempre que necessário. |
√ |
√ |
√ |
Listar todos os recursos do EVS |
√ |
√ |
√ |
Exibir detalhes sobre todos os recursos da VPC Um cluster deve ser executado em uma VPC. Ao criar um namespace, você precisa criar ou associar uma VPC para o namespace para que todos os containers no namespace sejam executados na VPC. |
√ |
√ |
√ |
Listar todos os recursos da VPC |
√ |
√ |
√ |
Exibindo detalhes sobre todos os recursos do Elastic Load Balance (ELB) |
x |
x |
√ |
Listar todos os recursos do ELB |
x |
x |
√ |
Visualizar detalhes do recurso do Scalable File Service (SFS) |
√ |
√ |
√ |
Listar todos os recursos do SFS |
√ |
√ |
√ |
Exibir detalhes do recurso do Application Operations Management (AOM) |
√ |
√ |
√ |
Listar recursos do AOM |
√ |
√ |
√ |
Executar todas as operações nas regras de escala automática do AOM |
√ |
√ |
√ |
Permissões em nível de namespace (atribuídas usando o RBAC do Kubernetes)
Você pode regular o acesso de usuários ou grupos de usuários aos recursos do Kubernetes em um único namespace com base em suas funções do RBAC do Kubernetes. A API do RBAC declara quatro tipos de objetos do Kubernetes: Role, ClusterRole, RoleBinding e ClusterRoleBinding, que são descritos a seguir:
No console do CCE, você pode atribuir permissões a um usuário ou grupo de usuários para acessar recursos em um ou vários namespaces. Por padrão, o console do CCE fornece os cinco ClusterRoles a seguir:
- view: tem permissão para exibir recursos do namespace.
- edit: tem permissão para modificar recursos do namespace.
- admin: tem todas as permissões no namespace.
- cluster-admin: tem todas as permissões no cluster.
- psp-global: controla aspectos de segurança sensíveis da especificação do pod.
Além de cluster-admin, admin, edit e view, você pode definir Roles e RoleBindings para configurar as permissões para adicionar, excluir, modificar e consultar recursos, como pods, Implementações e Serviços, no namespace.