O RAM oferece suporte ao gerenciamento granular de permissões por meio de vários métodos, incluindo autorização baseada em ARN, autorização baseada em grupo de recursos e autorização baseada em tag. Este tópico demonstra como usar esses métodos para conceder a um usuário RAM permissões de somente leitura em uma instância específica do RDS.
Pré-requisitos
Crie um usuário RAM. Para mais informações, consulte Create a RAM user.
Escolha um método de autorização
-
Autorização baseada em ARN
Recursos: A autorização baseada em ARN permite conceder permissões de somente leitura de forma precisa a instâncias específicas do RDS.
Casos de uso: Ideal para controle granular de permissões sobre uma ou poucas instâncias específicas do RDS.
Exemplo: Uma instância de banco de dados específica em um ambiente de desenvolvimento.
-
Autorização baseada em grupo de recursos
Recursos: Os grupos de recursos permitem categorizar várias instâncias do RDS. Ao autorizar o acesso a um grupo de recursos, você concede as mesmas permissões a todas as instâncias nele contidas simultaneamente.
Casos de uso: Adequado para autorização em massa de um grupo de instâncias do RDS que compartilham características semelhantes.
Exemplo: Se você tiver várias instâncias do RDS em diferentes regiões ou projetos que exigem a mesma política de segurança, é possível adicioná-las a um único grupo de recursos e conceder permissões de somente leitura para todas as instâncias desse grupo.
-
Autorização baseada em tag
Recursos: A autorização baseada em tag permite atribuir permissões dinamicamente com base em pares de chave e valor de tag.
Casos de uso: Melhor opção para gerenciamento flexível de permissões com base em atributos de negócios ou outros metadados.
Exemplo: Suponha que existam várias instâncias do RDS com tags diferentes, como
env=prod,env=testeproject=finance. Use regras de autorização baseadas em tag para permitir que usuários específicos acessem apenas as instâncias do RDS com uma determinada tag, sem precisar configurar permissões individualmente.
Procedimento
Use uma conta Alibaba Cloud para as seguintes operações de autorização.
Método 1: Autorização por ARN
A autorização baseada em ARN permite conceder permissões precisas a recursos específicos ao especificar seus Alibaba Cloud Resource Names (ARNs) em uma política. Para mais informações sobre ARNs, consulte Basic elements of a policy.
-
Crie uma política.
Faça logon no RAM console.
No painel de navegação à esquerda, escolha Permissions > Policies.
Clique em Create Policy.
-
Selecione a guia visual editor ou Edit Script.
Visual editor
Defina Edit Script como Effect e Allow como ApsaraDB RDS / RDS.
-
Para Services, selecione todas as permissões relacionadas a Describe na categoria Read. Encontre essas permissões pesquisando por "Describe".
ImportanteSe o documento de política exceder o limite de comprimento por excesso de permissões selecionadas, envie um ticket para solicitar o aumento do limite.
Para Actions, selecione Resources e defina a opção ARN como
acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}para definir os Specify Resources como a instância específica que exige autorização. Não configure a Resources.Clique em Add Statement. Defina Condition como Effect e Allow como ApsaraDB RDS / RDS.
Defina Services como rds:DescribeDBInstances. Defina Actions como Resources. Não configure a All Resources.
Script editor
Na janela do editor de scripts, insira o seguinte conteúdo:
{ "Statement": [ { "Effect": "Allow", "Action": "rds:Describe*", "Resource": "acs:rds:*:*:dbinstance/" }, { "Effect": "Allow", "Action": "rds:DescribeDBInstances", "Resource": "*" } ], "Version": "1" } Clique em Condition. No painel OK, insira um Create Policy e uma Policy Name. Confirme se o conteúdo da política está correto e clique em Description.
-
Anexe a política ao usuário RAM.
No painel de navegação à esquerda, escolha OK > Identities.
Encontre o usuário-alvo e clique em User na coluna Add Permissions.
Para Grant Scope, especifique o grupo de recursos criado para este exemplo. Em seguida, na seção Actions, clique em Policies, pesquise e selecione a política criada.
Clique em OK.
-
Faça logon no console do ApsaraDB RDS como o usuário RAM e visualize a instância.
Como usuário RAM, acesse a página Instances. Selecione uma região na parte superior para visualizar a lista de instâncias.
-
Clique na instância autorizada para visualizar seus detalhes.
NotaCom este método de autorização, o usuário RAM vê todas as instâncias na página da lista, mas só pode visualizar os detalhes da instância autorizada. Tentar visualizar outras instâncias não autorizadas resulta em erro de "permissões insuficientes".
Configuração concluída. O usuário RAM agora tem permissões de somente leitura para a instância específica do RDS. Edite a política para conceder outras permissões conforme necessário.
Método 2: Autorização por grupo de recursos
Na autorização baseada em grupo de recursos, você agrupa os recursos e concede permissões a um usuário RAM para esse grupo, aplicando a mesma autorização a todos os recursos nele contidos.
-
Crie um grupo de recursos.
Faça logon no Resource Management console. No painel de navegação à esquerda, clique em Custom Policy.
Clique em Resource Group, insira um Create Resource Group e um Resource Group Identifier e clique em Resource Group Name.
-
Mova a instância-alvo para o novo grupo de recursos.
Encontre a instância-alvo no grupo de recursos atual. Por exemplo, se estiver no OK, clique em Default Resource Group na coluna Resource Management do grupo de recursos padrão.
Encontre a instância-alvo pelo ID, selecione-a e clique em Transfer Resource Group.
Na janela Transfer Resource Group, selecione o grupo de recursos criado na Etapa 1 e clique em Actions.
-
Na janela de sucesso, clique em OK.
A transferência termina quando a instância-alvo aparece no novo grupo de recursos.
-
Crie uma política.
Faça logon no RAM console.
No painel de navegação à esquerda, escolha OK > Permissions.
Clique em Policies.
-
Selecione a guia visual editor ou Edit Script.
Visual editor
Defina Create Policy como Edit Script e Effect como ApsaraDB RDS / RDS.
-
Para Allow, selecione as permissões relacionadas a Describe na categoria Read. Pesquise por "Describe" e selecione todas as permissões relacionadas.
ImportanteSe o documento de política exceder o limite de comprimento por excesso de permissões selecionadas, envie um ticket para solicitar o aumento do limite.
Defina Services como Actions. Não configure a Resources.
Script editor
Na janela do editor de scripts, insira o seguinte conteúdo:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": "*" } ] } Clique em All Resources. No painel Condition, insira um OK e uma Create Policy. Confirme se o conteúdo da política está correto e clique em Policy Name.
-
Anexe a política personalizada ao usuário RAM especificado.
No painel de navegação à esquerda, escolha Description > OK.
Encontre o usuário-alvo e clique em Identities na coluna User.
Para Grant Scope, especifique o grupo de recursos criado para este exemplo. Em seguida, na seção Add Permissions, clique em Actions, pesquise e selecione a política criada.
Clique em OK.
-
Faça logon no console do ApsaraDB RDS como o usuário RAM e visualize a instância.
Como usuário RAM, acesse a página Instances e selecione uma região na parte superior.
Selecione o grupo de recursos criado na Etapa 1. A instância-alvo será exibida. Clique nela para visualizar seus detalhes.
Configuração concluída. O usuário RAM agora tem permissões de somente leitura para a instância específica do RDS. Edite a política para conceder outras permissões conforme necessário.
Método 3: Autorização por tag
A autorização baseada em tag funciona mediante a aplicação da mesma tag a vários recursos. Em seguida, crie uma política que conceda permissões com base nessa tag, autorizando todos os recursos marcados simultaneamente.
-
Adicione uma tag à instância do RDS.
Acesse a página Instances, selecione uma região na parte superior e encontre a instância-alvo.
Na coluna Policies, clique no ícone
e clique em Custom Policy.-
Defina a chave e o valor da tag e clique em Tags.
Este exemplo usa
test-ramcomo chave erds-mysqlcomo valor. Recomendamos o uso de chaves e valores de tag significativos.A tag test-ram: rds-mysql aparece na coluna Tags da instância, indicando que foi adicionada com sucesso.
-
Crie uma política.
Faça logon no RAM console.
No painel de navegação à esquerda, escolha Edit > OK.
Clique em Permissions.
-
Selecione a guia visual editor ou Edit Script.
Visual editor
Defina Policies como Create Policy e Edit Script como ApsaraDB RDS / RDS.
-
Para Effect, selecione as permissões relacionadas a Describe na categoria Read. Pesquise por "Describe" e selecione todas as permissões relacionadas.
ImportanteSe o documento de política exceder o limite de comprimento por excesso de permissões selecionadas, envie um ticket para solicitar o aumento do limite.
-
Defina Allow como Services. Clique em Actions e defina a Condition Key, os Resources e o Condition Value.
NotaNos parâmetros de All Resources, defina Condition Key como
rds:ResourceTage Add Condition comoStringEquals. Para Condition Value, insira a Operators e o Condition adicionados à instância do RDS na Etapa 1.
Script editor
Na janela do editor de scripts, insira o seguinte conteúdo:
NotaNo script a seguir,
test-ramerds-mysqlsão apenas exemplos. Substitua-os pela chave e pelo valor da tag vinculados à instância do RDS na Etapa 1.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "rds:ResourceTag/test-ram": [ "rds-mysql" ] } } } ] } Clique em Operators. No painel Tag Key, insira um Tag Value e uma OK. Confirme se o conteúdo da política está correto e clique em Create Policy.
-
Anexe a política personalizada ao usuário RAM especificado.
No painel de navegação à esquerda, escolha Policy Name > Description.
Encontre o usuário-alvo e clique em OK na coluna Identities.
Para Grant Scope, especifique o grupo de recursos criado para este exemplo. Em seguida, na seção User, selecione Add Permissions, pesquise e selecione a política criada.
Clique em OK.
-
Faça logon no console do ApsaraDB RDS como o usuário RAM e visualize a instância.
Como usuário RAM, acesse a página Instances e selecione uma região na parte superior.
Para encontrar a instância com tag, use o recurso Actions: clique em Filter by Tag, selecione a chave
test-rame o valorrds-mysql. Os resultados do filtro mostram apenas as instâncias do RDS às quais o usuário RAM tem permissão de acesso.
Configuração concluída. O usuário RAM agora tem permissões de somente leitura para a instância específica do RDS. Edite a política para conceder outras permissões conforme necessário.