Permissões de cluster (baseadas no IAM)
As permissões no nível do cluster do CCE são atribuídas com base nas políticas do sistema do IAM e nas políticas personalizadas. Você pode usar grupos de usuários para atribuir permissões a usuários do IAM.

- As permissões de cluster são concedidas aos usuários para operar apenas recursos relacionados a clusters (como clusters e nós). Para operar recursos do Kubernetes, como cargas de trabalho e serviços, você deve receber permissões de namespace ao mesmo tempo.
- Ao visualizar um cluster no console do CCE, as informações exibidas dependem das permissões de namespace. Se você não tiver permissões de namespace, não poderá exibir os recursos no cluster. Para mais detalhes, consulte Dependência de permissão do console do CCE.
Pré-requisitos
- Antes de conceder permissões a grupos de usuários, familiarize-se com as políticas do sistema listadas em Permissões. Para as políticas do sistema de outros serviços, consulte Permissões do sistema.
- Um usuário com a função de Security Administrator (por exemplo, sua conta) tem todas as permissões do IAM, exceto a troca de função. Somente esses usuários podem exibir grupos de usuários e suas permissões na página Permissions no console do CCE.
Configuração
No console do CCE, ao escolher Permissions > Cluster-Level Permissions para criar um grupo de usuários, você será direcionado ao console do IAM para concluir o processo. Depois que o grupo de usuários é criado e suas permissões são configuradas, você pode exibir as informações na página de guia Cluster-Level Permissions. Esta seção descreve as operações no IAM.
Fluxo do processo

- Crie um grupo de usuários e atribua permissões a ele.
Crie um grupo de usuários no console do IAM e atribua permissões do CCE, por exemplo, a política CCEReadOnlyAccess ao grupo.
O CCE é implementado por região. No console do IAM, selecione Region-specific projects ao atribuir permissões do CCE.
- Crie um usuário e adicione-o a um grupo de usuários.
Crie um usuário no console do IAM e adicione o usuário ao grupo criado em 1.
- Fazer logon e verificar as permissões.
Efetue logon no console de gerenciamento como o usuário que você criou e verifique se o usuário tem as permissões atribuídas.
- Faça logon no console de gerenciamento, alterne para o console do CCE e compre um cluster. Se você não conseguir fazê-lo (supondo que apenas a permissão CCEReadOnlyAccess é atribuída), a política CCEReadOnlyAccess entra em vigor.
- Alterne para o console de qualquer outro serviço. Se aparecer uma mensagem indicando que você não tem as permissões necessárias para acessar o serviço, a política CCEReadOnlyAccess entrará em vigor.
Funções definidas pelo sistema
As funções são um tipo de mecanismo de autorização grosseiro que define permissões de nível de serviço com base nas responsabilidades do usuário. Apenas um número limitado de funções em nível de serviço está disponível para autorização. As funções não são ideais para autorização refinada e acesso de privilégio mínimo.
A função de sistema predefinida para CCE no IAM é CCEAdministrator. Ao atribuir essa função a um grupo de usuários, você também deve selecionar outras funções e políticas das quais essa função depende, como Tenant Guest, Server Administrator, ELB Administrator, OBS Administrator, SFS Administrator, SWR Admin e APM FullAccess. Para obter mais informações sobre dependências, consulte Permissões do sistema.
Políticas definidas pelo sistema
As políticas de sistema predefinidas para CCE no IAM são CCEFullAccess e CCEReadOnlyAccess.
- 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 RBAC do Kubernetes ativado) e as operações de administrador privilegiado, como configuração de agência e geração de certificados de cluster
- CCE ReadOnlyAccess: permissões para visualizar recursos de cluster do CCE, excluindo as permissões de nível de namespace dos clusters (com RBAC do Kubernetes ativado)
Ação |
Ação específica |
Descrição |
---|---|---|
cce:*:* |
cce:cluster:create |
Criar um cluster. |
cce:cluster:delete |
Excluir um cluster. |
|
cce:cluster:update |
Atualizar um cluster. Por exemplo, atualize os parâmetros de agendamento do nó do cluster e forneça suporte RBAC aos clusters. |
|
cce:cluster:upgrade |
Atualizar um cluster. |
|
cce:cluster:start |
Despertar um cluster. |
|
cce:cluster:stop |
Hibernar um cluster. |
|
cce:cluster:list |
Listar todos os clusters. |
|
cce:cluster:get |
Consultar detalhes do cluster. |
|
cce:node:create |
Adicionar um nó. |
|
cce:node:delete |
Excluir um ou mais nós. |
|
cce:node:update |
Atualizar um nó. Por exemplo, atualize o nome do nó. |
|
cce:node:get |
Consultar detalhes do nó. |
|
cce:node:list |
Listar todos os nós. |
|
cce:nodepool:create |
Criar um pool de nós. |
|
cce:nodepool:delete |
Excluir um pool de nós. |
|
cce:nodepool:update |
Atualizar informações sobre um pool de nós. |
|
cce:nodepool:get |
Obter informações sobre um pool de nós. |
|
cce:nodepool:list |
Listar todos os pools de nós em um cluster. |
|
cce:release:create |
Criar um release. |
|
cce:release:delete |
Excluir um release. |
|
cce:release:update |
Atualizar um release. |
|
cce:job:list |
Listar todas as tarefas de cluster. |
|
cce:job:delete |
Excluir uma ou mais tarefas de cluster. |
|
cce:job:get |
Consultar uma tarefa de cluster especificada. |
|
cce:storage:create |
Criar um volume de armazenamento. |
|
cce:storage:delete |
Excluir um volume de armazenamento. |
|
cce:storage:list |
Listar todos os volumes. |
|
cce:addonInstance:create |
Criar uma instância de complemento. |
|
cce:addonInstance:delete |
Excluir uma instância de complemento. |
|
cce:addonInstance:update |
Atualizar uma instância de complemento. |
|
cce:addonInstance:get |
Consultar detalhes da instância do complemento. |
|
cce:addonTemplate:get |
Consultar detalhes do modelo de complemento. |
|
cce:addonInstance:list |
Listar todas as instâncias do complemento. |
|
cce:addonTemplate:list |
Listar todos os modelos de complementos. |
|
cce:chart:list |
Listar todos os gráficos. |
|
cce:chart:delete |
Eliminar um gráfico. |
|
cce:chart:update |
Atualizar um gráfico. |
|
cce:chart:upload |
Fazer upload de um gráfico. |
|
cce:chart:get |
Obter informações sobre um gráfico. |
|
cce:release:get |
Obter informações sobre um release. |
|
cce:release:list |
Listar todos os releases. |
|
cce:userAuthorization:get |
Obter autorização de usuário do CCE. |
|
cce:userAuthorization:create |
Criar autorização de usuário do CCE. |
|
ecs:*:* |
Nenhuma |
Executar todas as operações em um Elastic Cloud Server (ECS). |
evs:*:* |
- |
Executar todas as operações em Elastic Volume Service (EVS). Os discos EVS podem ser anexados a servidores em nuvem e dimensionados para uma capacidade maior sempre que necessário. |
vpc:*:* |
Nenhuma |
Executar todas as operações em Virtual Private Cloud (VPC), incluindo ELBs. Um cluster deve ser executado em uma VPC. Ao criar um namespace, crie ou associe uma VPC para o namespace para que todos os contêineres no namespace sejam executados na VPC. |
sfs:*:get* |
Nenhuma |
Visualizar detalhes do recurso do Scalable File Service (SFS). |
sfs:shares:ShareAction |
Nenhuma |
Compartilhar recursos do SFS para dimensionamento. |
aom:*:get |
Nenhuma |
Exibir detalhes do recurso do Application Operations Management (AOM). |
aom:*:list |
Nenhuma |
Listar recursos do AOM. |
aom:autoScalingRule:* |
Nenhuma |
Executar todas as operações nas regras de escala automática do AOM. |
apm:icmgr:* |
Nenhuma |
Executar operações no ICAgent no Application Performance Management (APM). |
lts:*:* |
Nenhuma |
Executar todas as operações no Log Tank Service (LTS). |
Ação |
Ação específica |
Descrição |
---|---|---|
cce:*:get |
cce:cluster:get |
Consultar detalhes do cluster. |
cce:node:get |
Consultar detalhes do nó. |
|
cce:job:get |
Consultar uma tarefa de cluster especificada. |
|
cce:addonInstance:get |
Consultar detalhes da instância do complemento. |
|
cce:addonTemplate:get |
Consultar detalhes do modelo de complemento. |
|
cce:chart:get |
Obter informações sobre um gráfico. |
|
cce:nodepool:get |
Obter informações sobre um pool de nós. |
|
cce:release:get |
Obter informações sobre um release. |
|
cce:userAuthorization:get |
Obter autorização de usuário do CCE. |
|
cce:*:list |
cce:cluster:list |
Listar todos os clusters. |
cce:node:list |
Listar todos os nós. |
|
cce:job:list |
Listar todas as tarefas de cluster. |
|
cce:addonInstance:list |
Listar todas as instâncias do complemento. |
|
cce:addonTemplate:list |
Listar todos os modelos de complementos. |
|
cce:chart:list |
Listar todos os gráficos. |
|
cce:nodepool:list |
Listar todos os pools de nós em um cluster. |
|
cce:release:list |
Listar todos os releases. |
|
cce:storage:list |
Listar todos os volumes. |
|
cce:kubernetes:* |
Nenhuma |
Executar operações em todos os recursos do Kubernetes. Para obter detalhes, consulte Permissões de namespace. |
ecs:*:get |
Nenhuma |
Exibir detalhes sobre todos os recursos do ECS. Um ECS com vários discos EVS é um nó de cluster no CCE. |
ecs:*:list |
Nenhuma |
Listar todos os recursos do ECS. |
bms:*:get* |
Nenhuma |
Exibir detalhes sobre todos os recursos do BMS. |
bms:*:list |
Nenhuma |
Listar todos os recursos do BMS. |
evs:*:get |
Nenhuma |
Exibir detalhes de todos os recursos de disco EVS. Os discos EVS podem ser anexados a servidores em nuvem e dimensionados para uma capacidade maior sempre que necessário. |
evs:*:list |
Nenhuma |
Listar todos os recursos do EVS. |
evs:*:count |
Nenhuma |
Nenhuma |
vpc:*:get |
Nenhuma |
Exibir detalhes de todos os recursos da VPC (incluindo ELBs). Um cluster deve ser executado em uma VPC. Ao criar um namespace, crie ou associe uma VPC para o namespace para que todos os contêineres no namespace sejam executados na VPC. |
vpc:*:list |
Nenhuma |
Listar todos os recursos da VPC (incluindo ELBs). |
sfs:*:get* |
Nenhuma |
Exibir detalhes do recurso do SFS. |
sfs:shares:ShareAction |
Nenhuma |
Compartilhar recursos do SFS para dimensionamento. |
aom:*:get |
Nenhuma |
Exibir detalhes do recurso do AOM. |
aom:*:list |
Nenhuma |
Listar todos os recursos do AOM. |
aom:autoScalingRule:* |
Nenhuma |
Executar todas as operações nas regras de escala automática do AOM. |
lts:*:get |
Nenhuma |
Exibir detalhes sobre todos os recursos do LTS. |
lts:*:list |
Nenhuma |
Listar todos os recursos do LTS. |
Políticas personalizadas
Políticas personalizadas podem ser criadas como um suplemento para as políticas definidas pelo sistema do CCE. Para as ações que podem ser adicionadas a políticas personalizadas, consulte Políticas de permissões e ações suportadas.
Você pode criar políticas personalizadas de uma das seguintes maneiras:
- Editor visual: selecione serviços em nuvem, ações, recursos e condições de solicitação. Isso não requer conhecimento de sintaxe de política.
- JSON: edite políticas de JSON do rascunho ou com base em uma política existente.
Para obter detalhes, consulte Criação de uma política personalizada. Esta seção fornece exemplos de políticas do CCE personalizadas comuns.
Exemplos de políticas personalizadas:
- Exemplo 1: criar um cluster chamado test
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "cce:cluster:create" ] } ] }
- Exemplo 2: negar exclusão de nó
Uma política com apenas permissões "Deny" deve ser usada em conjunto com outras políticas para entrar em vigor. Se as permissões atribuídas a um usuário contiverem "Allow" e "Deny", as permissões "Deny" terão precedência sobre as permissões "Allow".
O método a seguir pode ser usado se você precisar atribuir permissões da política CCEFullAccess a um usuário, mas quiser impedir que o usuário exclua nós.(cce:node:delete). Crie uma política personalizada para negar a exclusão de nós e anexe ambas as políticas ao grupo ao qual o usuário pertence. Em seguida, o usuário pode executar todas as operações no CCE, exceto a exclusão de nós. O seguinte é um exemplo de uma política de negação:
{ "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "cce:node:delete" ] } ] }
- Exemplo 3: definir as permissões para vários serviços em uma política
Uma política personalizada pode conter as ações de vários serviços que são do tipo global ou de nível de projeto. Veja a seguir um exemplo de política que contém ações de vários serviços:
{ "Version": "1.1", "Statement": [ { "Action": [ "ecs:cloudServers:resize", "ecs:cloudServers:delete", "ecs:cloudServers:delete", "ims:images:list", "ims:serverImages:create" ], "Effect": "Allow" } ] }
Permissões de cluster do CCE e projetos empresariais
O CCE oferece suporte ao gerenciamento de recursos e à alocação de permissões por cluster e projeto empresariais.
Note que:
- Os projetos do IAM são baseados no isolamento físico de recursos, enquanto os projetos empresariais fornecem grupos lógicos globais de recursos, que atendem melhor aos requisitos reais das empresas. Além disso, as políticas do IAM podem ser gerenciadas com base em projetos empresariais. Portanto, é aconselhável usar projetos empresariais para gerenciamento de permissões. Para obter detalhes, consulte Criação de um projeto empresarial.
- Quando há projetos do IAM e projetos empresariais, o IAM corresponde preferencialmente às políticas de projeto do IAM.
- Ao criar um cluster ou nó usando recursos de nuvem comprados, verifique se os usuários do IAM receberam as permissões necessárias no projeto empresarial para usar esses recursos. Caso contrário, o cluster ou nó pode falhar ao ser criado.
- Se um recurso não suportar projetos empresariais, as permissões concedidas ao recurso não terão efeito.
Tipo de recurso
Nome do recurso
Descrição
Apoiar projetos empresariais
cluster
Cluster
node
Nó
nodepool
Pool de nós
job
Tarefa
tag
Rótulo do cluster
addonInstance
Instância de complemento
release
Versão de Helm
storage
Armazenamento
Não apoiar projetos empresariais
quota
Cota do cluster
chart
Gráfico
addonTemplate
Modelo de complemento
Permissões do cluster do CCE e RBAC do IAM
O CCE é compatível com as funções do sistema do IAM para gerenciamento de permissões. Recomendamos que você use políticas refinadas fornecidas pelo IAM para simplificar o gerenciamento de permissões.
O CCE suporta as seguintes funções:
- Funções básicas do IAM:
- te_admin (Tenant Administrator): os usuários com essa função podem chamar todas as APIs de todos os serviços, exceto o IAM.
- readonly (Tenant Guest): os usuários com essa função podem chamar APIs com as permissões de somente leitura de todos os serviços, exceto o IAM.
- Função de administrador do CCE personalizada: CCE Administrator
- As APIs do CCE são compatíveis com três funções de sistema legadas de ServiceStage (SvcStg Administrator, SvcStg Developer e SvcStg Operator). Atualmente, o CCE e ServiceStage se adaptaram totalmente às políticas refinadas do IAM para gerenciamento de permissões. Portanto, não é aconselhável usar essas funções herdadas para o gerenciamento de permissões. Essas funções ServiceStage são descritas a seguir:
- SvcStg Administrator: essa função tem as mesmas permissões que a função CCE Administrator, exceto que os usuários com essa função não têm as permissões no nível do namespace por padrão (RBAC do Kubernetes).
- SvcStg Developer: essa função tem as mesmas permissões que a função CCE Administrator, exceto que o usuário com essa função não tem a permissão de nível de namespace por padrão (RBAC do Kubernetes).
- SvcStg Operator: essa função tem as permissões somente leitura no CCE, excluindo as permissões no nível do namespace dos clusters por padrão.
Para obter detalhes, consulte Permissões..

- Tenant Administrator e Tenant Guest são funções especiais do sistema do IAM. Depois que qualquer sistema ou política personalizada for configurada, Tenant Administrator e Tenant Guest entrarão em vigor como políticas do sistema para obter compatibilidade com cenários RBAC e ABAC do IAM.
- Se um usuário tiver a função de sistema Tenant Administrator ou CCE Administrator, ele terá as permissões de administrador de cluster no RBAC do Kubernetes e as permissões não poderão ser removidas após a criação do cluster.
Se o usuário for o criador do cluster, as permissões cluster-admin no RBAC do Kubernetes serão concedidas ao usuário por padrão. As permissões podem ser removidas manualmente após a criação do cluster.
- Método 1: escolha Permissions Management > Namespace-Level Permissions > Delete na mesma função que cluster-creator no console do CCE.
- Método 2: exclua ClusterRoleBinding: cluster-creator por meio da API ou kubectl.
Quando as políticas de RBAC e IAM coexistem, a lógica de autenticação de back-end para APIs abertas ou operações de console no CCE é a seguinte:

Certas APIs do CCE envolvem permissões em nível de namespace ou operações de chave e, portanto, exigem permissões especiais:
Usar clusterCert para obter o cluster kubeconfig: cceadm/teadmin