Use tags nos recursos do Server Migration Center (SMC) para categorizá-los e conceder permissões de acesso específicas a diferentes usuários do RAM.
Pré-requisitos
Você criou um usuário do RAM na sua conta Alibaba Cloud. Criar um usuário do RAM.
Contexto
As tags identificam e categorizam os recursos de nuvem. As políticas do Resource Access Management (RAM) controlam as permissões de acesso e operação. Adicionar tags como condições nas políticas do RAM permite implementar um controle de acesso refinado.
A figura a seguir ilustra o controle de permissões baseado em tags para um usuário do RAM.
Os recursos do SMC compatíveis com tags incluem fontes de migração e tarefas de migração. Só é possível adicionar tags a uma fonte de migração após a criação dela. Usar tags para gerenciar fontes de migração e tarefas de migração.
Exemplo de caso de uso
O cenário a seguir demonstra o controle de acesso baseado em tags.
Permita que um usuário do RAM gerencie apenas os recursos do SMC com uma tag específica, como smc:test, conforme mostrado na figura abaixo.
Este exemplo abrange dois cenários:
Cenário 1: A criação de uma tarefa de migração só é permitida se a tag
smc:testfor adicionada durante o processo.Cenário 2: O usuário só pode executar operações, como modificar propriedades, excluir recursos e gerenciar tags, em recursos do SMC que possuam a tag
smc:test.
Etapa 1: Criar e conceder uma política personalizada
Crie uma política personalizada no console do RAM ou chame a operação da API CreatePolicy. Os detalhes da política estão na seção Configuração da política.
Faça login no console do RAM com sua conta Alibaba Cloud.
No painel de navegação à esquerda, escolha .
Na página Policies, clique em Create Policy.
Na página Create Policy, clique na aba JSON.
-
Configure a política.
Uma política consiste em um número de versão e declarações. Cada declaração inclui Effect, Action, Resource e Condition opcional, conforme descrito em Elementos da política e Estrutura e sintaxe da política.
-
Após modificar o documento da política conforme necessário, clique em OK.
No bloco
Condition, adicione condições baseadas em tags para restringir as permissões. A tabela a seguir descreve as chaves de condição compatíveis.Chave de condição
Descrição
acs:RequestTagExige que a solicitação inclua uma tag específica.
Se uma operação de API não for compatível com tags nas solicitações, não será possível usar esta chave de condição. Caso contrário, a autenticação falhará.
acs:ResourceTagExige que o recurso acessado possua uma tag específica.
Se uma operação de API não exigir um ID de recurso na solicitação, não será possível usar esta chave de condição. Caso contrário, a autenticação falhará.
NotaEscolha entre
acs:RequestTagouacs:ResourceTagcom base na operação da API — dependendo se ela exige um ID de recurso ou é compatível com tags na solicitação. Consulte Autenticação baseada em tags para operações de API.{ "Statement": [ { "Action": "smc:CreateReplicationJob", "Condition": { "StringEquals": { "acs:RequestTag/smc": "test" } }, "Effect": "Allow", "Resource": "*" }, { "Action": "smc:*", "Condition": { "StringEquals": { "acs:ResourceTag/smc": "test" } }, "Effect": "Allow", "Resource": "*" }, { "Action": [ "*:TagResources", "*:UntagResources" ], "Effect": "Deny", "Resource": "*" }, { "Action": [ "*:List*", "*:Describe*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" }A política anterior implementa os seguintes controles de permissão.
Cenário
Política
Cenário 1: Permite a criação de uma tarefa de migração somente se a tag
smc:testfor adicionada durante a criação.{ "Statement": [ { "Action": "smc:CreateReplicationJob", "Condition": { "StringEquals": { "acs:RequestTag/smc": "test" } }, "Effect": "Allow", "Resource": "*" }, { "Action": [ "*:List*", "*:Describe*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" }Cenário 2: Permite operações (como modificar propriedades e excluir recursos) apenas em recursos do SMC que possuem a tag
smc:test. Operações em outros recursos do SMC são negadas.{ "Statement": [ { "Action": "smc:*", "Condition": { "StringEquals": { "acs:ResourceTag/smc": "test" } }, "Effect": "Allow", "Resource": "*" }, { "Action": [ "*:TagResources", "*:UntagResources" ], "Effect": "Deny", "Resource": "*" }, { "Action": [ "*:List*", "*:Describe*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" } Na caixa de diálogo Create Policy, insira um nome e uma descrição para a política e clique em OK.
-
-
Anexe a política personalizada ao usuário do RAM.
No painel de navegação à esquerda, escolha .
-
Anexe a nova política personalizada criada ao usuário do RAM.
Consulte Gerenciar permissões de usuários do RAM.
Etapa 2: Verificar a política
-
Faça login no console do SMC ou no OpenAPI Explorer como um usuário do RAM.
Este exemplo usa o console do SMC para verificação.
-
Verifique se a política funciona corretamente.
Teste as seguintes permissões:
-
Criar uma tarefa de migração:
Para uma fonte de migração com a tag
smc:test, é possível criar uma tarefa de migração.Para uma fonte de migração sem a tag
smc:testou com outras tags, não é possível criar uma tarefa de migração. A mensagem de erro You are not authorized to perform this operation. Contact your Alibaba Cloud account to grant the required permissions and then try again. será exibida. Clique em Go to RAM for Authorization para conceder as permissões.
-
Excluir uma fonte de migração:
É possível excluir uma fonte de migração que possua a tag
smc:test.Ao tentar excluir uma fonte de migração sem a tag
smc:test, a operação falha. Uma caixa de diálogo Error aparece com a mensagem "You are not authorized to perform this operation. Contact your Alibaba Cloud account to grant the required permissions and then try again." Clique em OK para fechar a caixa de diálogo.
-
Autenticação baseada em tags para operações de API
Após anexar uma política baseada em tags a um usuário do RAM, as solicitações de API são autenticadas conforme descrito na tabela a seguir.
|
API |
Lógica de autenticação |
|
CreateReplicationJob |
Esta operação não exige um ID de recurso. A autenticação baseia-se na condição
|
|
ModifyReplicationJobAttribute |
Esta operação exige um ID de recurso. A autenticação baseia-se na condição
|
|
Outras operações, como StartReplicationJob, StopReplicationJob e DeleteSourceServer |
Estas operações exigem um ID de recurso. A autenticação baseia-se na condição
|