Uso de funções ou políticas do IAM para conceder acesso ao EVS
Permissões definidas pelo sistema em autorização baseada em funções/políticas fornecidas pelo Identity and Access Management (IAM) permitem que você controle o acesso aos recursos do EVS. Com o IAM, você pode:
- Criar usuários do IAM para o pessoal com base na estrutura organizacional da sua empresa. Cada usuário do IAM tem suas próprias credenciais de identidade para acessar os recursos do EVS.
- Conceder aos usuários apenas as permissões necessárias para executar uma determinada tarefa com base em suas responsabilidades de trabalho.
- Confiar uma conta da Huawei Cloud ou serviço de nuvem para executar O&M eficiente em seus recursos de EVS.
Se sua conta da Huawei Cloud atender aos seus requisitos de permissão, você poderá pular esta seção.
Figura 1 mostra o fluxo do processo de autorização baseada em função/política.
Pré-requisitos
Antes de conceder permissões a grupos de usuários, aprenda sobre as permissões definidas pelo sistema em autorização baseada em função/política para o EVS. Para conceder permissões para outros serviços, saiba mais sobre todas as permissões definidas pelo sistema suportadas pelo IAM.
Fluxo do processo
-
No console do IAM, crie um grupo de usuários e conceda-lhe permissões (EVS ReadOnlyAccess como exemplo).
-
Crie um usuário do IAM e adicione-o ao grupo de usuários criado.
- Faça logon como usuário do IAM e verifique permissões.
Na região autorizada, execute as seguintes operações:
- Escolha Service List > Elastic Volume Service. Em seguida, clique em Buy Disk no console do EVS. Se aparecer uma mensagem indicando que você não tem permissões suficientes para realizar a operação, a política EVS ReadOnlyAccess está em vigor.
- Escolha outro serviço de Service List. Se aparecer uma mensagem indicando que você não tem permissões suficientes para acessar o serviço, a política EVS ReadOnlyAccess está em vigor.
Exemplo de políticas personalizadas
Você pode criar políticas personalizadas para complementar as políticas definidas pelo sistema do EVS.
Para criar uma política personalizada, escolha editor visual ou JSON.
- Editor visual: selecione serviços de nuvem, ações, recursos e condições de solicitação. Isso não requer conhecimento de sintaxe de política.
- JSON: crie uma política JSON ou edite uma existente.
Para obter detalhes, consulte Criação de uma política personalizada. A seguir, estão listados exemplos de políticas personalizadas comuns do EVS.
- Exemplo 1: conceder permissão para criar discos.
{ "Version": "1.1", "Statement": [ { "Action": [ "evs:volumes:create", "evs:volumes:list", "evs:volumes:get", "evs:types:get", "evs:quotas:get", "ecs:cloudServerFlavors:get", "ecs:cloudServers:list" ], "Effect": "Allow" } ] } - Exemplo 2: conceder permissão para negar a exclusão de disco.
Uma política com apenas permissões "Deny" deve ser usada junto com outras políticas. Se as permissões concedidas a um usuário do IAM contiverem "Allow" e "Deny", as permissões "Deny" terão precedência sobre as permissões "Allow".
Suponha que você queira conceder as permissões da política EVS FullAccess a um usuário, mas queira impedi-lo de excluir discos EVS. Você pode criar uma política personalizada para negar a exclusão de discos EVS e anexar essa política junto com a política EVS FullAccess ao usuário. Como uma negação explícita em qualquer política substitui qualquer permissão, o usuário pode executar todas as operações em discos EVS, exceto excluí-los.
Exemplo de política que nega a exclusão de disco:
{ "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "evs:volumes:delete" ] } ] } - Exemplo 3: criar uma política personalizada contendo várias ações.
Uma política personalizada pode conter as ações de um ou vários serviços do mesmo tipo (global ou em nível de projeto).
Exemplo de política contendo várias ações:
{ "Version": "1.1", "Statement": [ { "Action": [ "evs:volumes:create", "evs:volumes:list", "evs:volumes:get", "evs:types:get", "evs:quotas:get", "evs:volumes:use" ], "Effect": "Allow" }, { "Action": [ "ecs:cloudServerFlavors:get", "ecs:cloudServers:list", "ecs:cloudServers:get", "ecs:cloudServers:attach", "ecs:cloudServers:detachVolume" ], "Effect": "Allow" } ] }
