Políticas de permissões e ações suportadas
Este capítulo descreve o gerenciamento de permissões refinadas para seus recursos do CCE. Se sua conta não precisar de usuários individuais do IAM, você poderá ignorar as configurações descritas neste capítulo.
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 em nuvem com base nas permissões. Para obter mais informações sobre sintaxe de política e políticas de exemplo, consulte Visão geral de permissões.
Você pode conceder permissões aos usuários usando funções e políticas. As funções são um tipo de mecanismo de autorização baseado em serviços e de granulação grosseira que define permissões relacionadas às responsabilidades do usuário. As políticas definem permissões baseadas em API para operações em recursos específicos sob determinadas condições, permitindo um controle de acesso mais refinado e seguro dos recursos na nuvem.
Se você quiser permitir ou negar o acesso a uma API, a autorização refinada é uma boa escolha.
Uma conta tem todas as permissões necessárias para chamar todas as API, mas os usuários do IAM devem receber as permissões para chamar as API necessárias. As permissões necessárias para chamar uma API são determinadas pelas ações suportadas pela API. Somente os usuários que receberam permissões podem chamar a API com êxito. Por exemplo, se um usuário do IAM quiser consultar ECSs usando uma API, o usuário deverá ter recebido permissões que permitam a ação ecs:servers:list.
Ações suportadas no IAM
O IAM fornece políticas definidas pelo sistema que podem ser usadas diretamente no IAM. Você também pode criar políticas personalizadas para complementar políticas definidas pelo sistema para um controle de acesso mais refinado. As operações suportadas pelas políticas são específicas das APIs. Seguem-se conceitos comuns relacionados com as políticas:
- Permissão: uma declaração em uma política que permite ou nega certas operações.
- APIs: as APIs REST que podem ser chamadas em uma política personalizada.
- Ações: adicionadas a uma política personalizada para controlar permissões para operações específicas.
- Ações dependentes: ações das quais uma ação específica depende para ter efeito. Ao atribuir permissões para a ação a um usuário, você também precisa atribuir permissões para as ações dependentes.
- Projeto do IAM/Projeto empresarial: uma ação em uma política personalizada pode ser aplicada a um ou a ambos esses projetos. As políticas que contêm ações que suportam projetos do IAM e da empresa podem ser atribuídas a grupos de usuários e entrar em vigor no IAM e no Enterprise Management. As políticas que contêm apenas ações que suportam projetos do IAM podem ser atribuídas a grupos de usuários e só entram em vigor para o IAM. Essas políticas não terão efeito se forem atribuídas a grupos de usuários no Enterprise Management. Para obter detalhes sobre as diferenças entre o IAM e os projetos empresariais, consulte Quais são as diferenças entre o IAM e o Enterprise Management?
A marca de seleção (√) e o símbolo da cruz (x), respectivamente, indicam que uma ação tem efeito ou não para o tipo de projeto correspondente.
O CCE suporta as seguintes ações que podem ser definidas nas políticas personalizadas:
Permissão |
APIs |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Listar clusters em um projeto especificado |
GET /api/v3/projects/{project_id}/clusters |
cce:cluster:list |
√ |
√ |
Obter informações sobre um cluster especificado |
GET /api/v3/projects/{project_id}/clusters/{cluster_id} |
cce:cluster:get |
√ |
√ |
Criar um cluster |
POST /api/v3/projects/{project_id}/clusters |
cce:cluster:create |
√ |
√ |
Atualizar informações sobre um cluster especificado |
PUT /api/v3/projects/{project_id}/clusters/{cluster_id} |
cce:cluster:update |
√ |
√ |
Excluir um cluster |
DELETE /api/v3/projects/{project_id}/clusters/{cluster_id} |
cce:cluster:delete |
√ |
√ |
Atualizar um cluster |
POST /api/v2/projects/:projectid/clusters/:clusterid/upgrade |
cce:cluster:upgrade |
√ |
√ |
Despertar um cluster |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/awake |
cce:cluster:start |
√ |
√ |
Hibernar um cluster |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/hibernate |
cce:cluster:stop |
√ |
√ |
Alterar as especificações de um cluster |
POST /api/v2/projects/{project_id}/clusters/:clusterid/resize |
cce:cluster:resize |
√ |
√ |
Obter um certificado de cluster |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/clustercert |
cce:cluster:get |
√ |
√ |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Obter informações sobre todos os nós em um cluster |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes |
cce:node:list |
√ |
√ |
Obter informações sobre um nó especificado |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/{node_id} |
cce:node:get |
√ |
√ |
Criar um nó |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes |
cce:node:create |
√ |
√ |
Atualizar informações sobre um nó especificado |
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/{node_id} |
cce:node:update |
√ |
√ |
Excluir um nó |
DELETE /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/{node_id} |
cce:node:delete |
√ |
√ |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Obter informações sobre uma tarefa |
GET /api/v3/projects/{project_id}/jobs/{job_id} |
cce:job:get |
√ |
√ |
Listar todas as tarefas |
GET /api/v2/projects/{project_id}/jobs |
cce:job:list |
√ |
√ |
Excluir uma ou todas as tarefas |
DELETE /api/v2/projects/{project_id}/jobs DELETE /api/v2/projects/{project_id}/jobs/{job_id} |
cce:job:delete |
√ |
√ |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Obter informações sobre todos os pools de nós em um cluster especificado |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools |
cce:nodepool:list |
√ |
√ |
Obter informações sobre um pool de nós |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id} |
cce:nodepool:get |
√ |
√ |
Criar um pool de nós |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools |
cce:nodepool:create |
√ |
√ |
Atualizar informações sobre um pool de nós |
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id} |
cce:nodepool:update |
√ |
√ |
Excluir um pool de nós |
DELETE /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id} |
cce:nodepool:delete |
√ |
√ |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Atualizar um gráfico |
PUT /v2/charts/{id} |
cce:chart:update |
√ |
x |
Carregar um gráfico |
POST /v2/charts |
cce:chart:upload |
√ |
x |
Listar todos os gráficos |
GET /v2/charts |
cce:chart:list |
√ |
x |
Obter informações sobre gráfico |
GET /v2/charts/{id} |
cce:chart:get |
√ |
x |
Excluir um gráfico |
DELETE /v2/charts/{id} |
cce:chart:delete |
√ |
x |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Atualizar um release |
PUT /v2/releases/{name} |
cce:release:update |
√ |
√ |
Listar todos os releases |
GET /v2/releases |
cce:release:list |
√ |
√ |
Criar uma release |
POST /v2/releases |
cce:release:create |
√ |
√ |
Obter informações sobre um release |
GET /v2/releases/{name} |
cce:release:get |
√ |
√ |
Excluir uma release |
DELETE /v2/releases/{name} |
cce:release:delete |
√ |
√ |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Criar uma PersistentVolumeClaim |
POST /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims |
cce:storage:create |
√ |
√ |
Excluir uma PersistentVolumeClaim |
DELETE /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims/{name} |
cce:storage:delete |
√ |
√ |
Listar todos os volumes |
GET /storage/api/v1/namespaces/{namespace}/listvolumes |
cce:storage:list |
√ |
√ |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Criar uma instância de complemento |
POST /api/v3/addons |
cce:addonInstance:create |
√ |
√ |
Obter informações sobre uma instância de complemento |
GET /api/v3/addons/{id}?cluster_id={cluster_id} |
cce:addonInstance:get |
√ |
√ |
Listar todas as instâncias de complemento |
GET /api/v3/addons?cluster_id={cluster_id} |
cce:addonInstance:list |
√ |
√ |
Excluir uma instância de complemento |
DELETE /api/v3/addons/{id}?cluster_id={cluster_id} |
cce:addonInstance:delete |
√ |
√ |
Atualizar uma instância de complemento |
PUT /api/v3/addons/{id} |
cce:addonInstance:update |
√ |
√ |
Permissão |
API |
Ação |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Consultar detalhes da cota |
GET /api/v3/projects/{project_id}/quotas |
cce:quota:get |
√ |
√ |