Por padrão, usuários e funções do RAM não podem chamar APIs de serviços cloud. Para usar as APIs do Container Service for Kubernetes (ACK) e do Container Compute Service (ACS) ou visualize clusters no console do ACS, conceda as permissões necessárias.
Pré-requisitos
Antes que crie uma política personalizada, familiarize-se com a estrutura básica e a sintaxe da linguagem de políticas. Para obter mais informações, consulte Policy elements.
Políticas do sistema
Use políticas do sistema para autorização rápida quando um usuário ou função do RAM precisar de permissões de O&M em todos os clusters da sua conta Alibaba Cloud.
Anexar uma política do sistema
Uma conta Alibaba Cloud tem permissões totais sobre todos os recursos. Você também pode conceder AdministratorAccess a um usuário do RAM para torná-lo administrador da conta, com permissão para que gerencie todos os recursos. Consulte Create a RAM user as an account administrator.
Faça login no console do RAM.
No painel de navegação à esquerda, escolha .
-
Na página Users, localize o usuário do RAM de destino e clique em Actions > Attach Policy.
Para autorização em lote, selecione vários usuários do RAM e clique em Attach Policy abaixo da lista de usuários.
-
No painel Grant Permission, selecione uma política e conclua a autorização.
-
Resource scope:
Account level: As permissões se aplicam a todos os recursos da sua conta Alibaba Cloud.
-
Resource group level: As permissões se aplicam apenas ao grupo de recursos especificado. Após fazer login, o usuário do RAM precisa alternar para o grupo de recursos autorizado na barra de navegação superior.
NotaO sistema marca políticas de alto risco (como AdministratorAccess e AliyunRAMFullAccess) com um indicador de aviso. Essas políticas geralmente concedem controle total sobre todos os recursos cloud ou para que gerencie totalmente o RAM. Conceda essas políticas com cautela.
Para obter exemplos de autorização de grupo de recursos, consulte Control RAM user access to specific ECS instances.
-
Principal:
A entidade principal é o usuário do RAM que recebe as permissões. Na página Users, o sistema selecione o usuário atual automaticamente. Na página Grants, selecione o usuário manualmente. Há suporte para que selecione em lote.
Selecione a política do sistema a ser anexada.
Clique em OK e, em seguida, em Close para concluir a autorização.
-
Políticas personalizadas
O ACK fornece políticas do sistema de granularidade grossa. Se elas não atenderem aos seus requisitos de segurança, crie uma política personalizada. Por exemplo, use políticas personalizadas para controle de acesso de granularidade fina, como para que gerencie permissões de um cluster específico.
Etapa 1: Crie uma política personalizada
Faça login no console do RAM como administrador do RAM.
No painel de navegação à esquerda, escolha .
Na página Policies, clique em Create Policy.
-
Na página Create Policy, clique na guia JSON e cole o seguinte documento de política.
{ "Statement": [{ "Action": [ "cs:Get*", "cs:List*", "cs:Describe*", "cs:ScaleCluster", "cs:DeleteCluster" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/<cluster_id>" ] }], "Version": "1" }Parâmetro
Descrição
Action
As permissões a conceder. Todas as ações aceitam curingas.
Resource
Configure este parâmetro de uma das seguintes maneiras. Substitua
<cluster_id>pelo ID do seu cluster, por exemplo,cae93341766c843479ae986b3305xxxxx.Conceder permissões para um único cluster
"Resource": [ "acs:cs:*:*:cluster/<cluster_id>" ]Conceder permissões para vários clusters
"Resource": [ "acs:cs:*:*:cluster/<cluster_id_1>", "acs:cs:*:*:cluster/<cluster_id_2>" ]Conceder permissões para todos os clusters
"Resource": [ "*" ]
Após colar o conteúdo da política, clique em OK. Na caixa de diálogo exibida, insira um nome para a política e clique em OK.
Retorne à página Policies e pesquise pelo nome ou descrição da política e verifique a sua criação.
Etapa 2: Anexar a política personalizada
O procedimento para anexar uma política personalizada é o mesmo de uma política do sistema. Durante a etapa de seleção, escolha a política personalizada criada. Para obter mais informações, consulte Attach a system policy.
Exemplo
Conceder permissões para operações de API que não aceitam autorização no nível do cluster
Algumas operações de API, como DescribeEvents, não aceitam autorização no nível do cluster. Para conceder permissões a um usuário ou função do RAM para essas operações, não especifique um ID de cluster no elemento Resource.
Por exemplo, considere a seguinte política do RAM:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/<cluster_id>"
]
}
],
"Version": "1"
}
Para conceder permissões para a operação de API DescribeEvents, que não aceita autorização no nível do cluster, adicione uma nova instrução. Essa instrução deve conter a ação cs:DescribeEvents e especifique um recurso curinga (*). A política modificada é a seguinte:
{
"Statement": [
{
"Action": [
"cs:DescribeEvents"
],
"Effect": "Allow",
"Resource": [
"*"
]
},
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/<cluster_id>"
]
}
],
"Version": "1"
}
Próximas etapas
Após conceder as permissões do RAM, configure também as permissões de Role-Based Access Control (RBAC) para que gerencie recursos do Kubernetes no cluster. Para obter mais informações, consulte Grant RBAC permissions to a RAM user or RAM role.
-
Antes de conceder permissões RBAC, certifique-se de que o usuário ou a função do RAM tenha permissões de RAM somente leitura para o cluster de destino. A política a seguir é um exemplo:
{ "Statement": [ { "Action": [ "cs:Get*", "cs:List*", "cs:Describe*" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/<cluster_id>" ] } ], "Version": "1" }