O RAM oferece gerenciamento de permissões granular por meio de diversos 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 somente leitura em uma instância RDS específica.
Pré-requisitos
Crie um usuário RAM antes de continuar. Para mais informações, consulte Criar um usuário RAM.
Escolha um método de autorização
-
Autorização baseada em ARN
Características: permite conceder permissões somente leitura com precisão a instâncias RDS específicas.
Casos de uso: ideal para controle granular de permissões sobre uma ou poucas instâncias RDS específicas.
Exemplo: uma instância de banco de dados específica em um ambiente de desenvolvimento.
-
Autorização baseada em grupo de recursos
Características: grupos de recursos permitem categorizar múltiplas instâncias RDS. Ao autorizar o acesso a um grupo de recursos, você concede as mesmas permissões a todas as instâncias do grupo de uma só vez.
Casos de uso: mais indicado para autorização em massa de um conjunto de instâncias RDS com características semelhantes.
Exemplo: quando você tem múltiplas instâncias RDS em diferentes regiões ou projetos que exigem a mesma política de segurança, adicione-as a um único grupo de recursos e conceda permissões somente leitura a todas as instâncias desse grupo.
-
Autorização baseada em tag
Características: a autorização baseada em tag permite atribuir permissões dinamicamente com base em pares chave-valor de tags.
Casos de uso: indicado para gerenciamento flexível de permissões com base em atributos de negócio ou outros metadados.
Exemplo: suponha que você tenha múltiplas instâncias RDS com tags diferentes, como
env=prod,env=testeproject=finance. Com regras de autorização baseadas em tag, usuários específicos acessam apenas as instâncias RDS com uma tag específica, sem precisar configure permissões para cada instância individualmente.
Procedimento
Use uma conta Alibaba Cloud para realizar as operações de autorização a seguir.
Method 1: ARN authorization
A autorização baseada em ARN permite conceder permissões precisas a recursos específicos especificando seus Alibaba Cloud Resource Names (ARNs) em uma política. Para mais informações sobre ARNs, consulte Elementos básicos de uma política.
-
Crie uma política.
Acesse o console do RAM.
No painel de navegação à esquerda, escolha Permissions > Policies.
Clique em Create Policy.
-
Selecione a aba visual editor ou a aba Edit Script.
Visual editor
Defina Effect como Allow e Services como ApsaraDB RDS / RDS.
-
Em Actions, selecione todas as permissões relacionadas a Describe da categoria Read. Encontre essas permissões pesquisando por "Describe".
ImportanteSe o documento de política ultrapassar o limite de tamanho devido ao grande número de permissões selecionadas, abra um chamado para solicitar um aumento de cota.
Em Resources, selecione Specify Resources e defina a opção ARN como
acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}para configure Resources como a instância específica que requer autorização. Não é necessário configure Condition.Clique em Add Statement. Defina Effect como Allow e Services como ApsaraDB RDS / RDS.
Defina Actions como rds:DescribeDBInstances. Defina Resources como All Resources. Não configure Condition.
Script editor
Na janela do editor de script, 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 OK. No painel Create Policy, insira um Policy Name e uma Description. Confirme que o conteúdo da política está correto e clique em OK.
-
Vincule a política ao usuário RAM.
No painel de navegação à esquerda, escolha Identities > User.
Localize o usuário de destino e clique em Add Permissions na coluna Actions.
Em Grant Scope, especifique o grupo de recursos criado para este exemplo. Em seguida, na seção Policies, clique em Custom Policy, pesquise e selecione a política criada.
Clique em OK.
-
Acesse o 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 no topo para ver a lista de instâncias.
-
Clique na instância autorizada para visualizar seus detalhes.
NotaCom esse método de autorização, o usuário RAM consegue ver todas as instâncias na página de lista, mas só pode visualizar os detalhes da instância especificamente autorizada. Ao tentar acessar outras instâncias não autorizadas, o sistema retorna um erro de "permissões insuficientes".
A configuração está concluída. O usuário RAM agora tem permissões somente leitura para a instância RDS especificada. Edite a política para conceder outras permissões conforme necessário.
Method 2: Resource group authorization
Na autorização baseada em grupo de recursos, você coloca os recursos em um grupo e concede ao usuário RAM permissões sobre esse grupo. Todos os recursos dentro do grupo recebem a mesma autorização.
-
Crie um grupo de recursos.
Acesse o console do Resource Management. No painel de navegação à esquerda, clique em Resource Group.
Clique em Create Resource Group, insira um <!--@uicontrol {"id":"69baff50bd6yj","data-status="unpublished","data-isbold":"true"}-->Resource Group Identifier e um Resource Group Identifier, e clique em Resource Group Name.
-
Mova a instância de destino para o novo grupo de recursos.
Localize a instância de destino no seu grupo de recursos atual. Por exemplo, se a instância estiver no OK, clique em Default Resource Group na coluna Resource Management do grupo de recursos padrão.
Localize a instância de destino pelo ID, selecione-a e clique em Transfer Resource Group.
Na janela Transfer Resource Group, selecione o grupo de recursos criado no Passo 1 e clique em Actions.
-
Na janela de confirmação, clique em OK.
A transferência estará concluída quando a instância de destino aparecer no novo grupo de recursos.
-
Crie uma política.
Acesse o console do RAM.
No painel de navegação à esquerda, escolha OK > Permissions.
Clique em Policies.
-
Selecione a aba visual editor ou a aba Create Policy.
Visual editor
Defina Edit Script como Effect e Allow como ApsaraDB RDS / RDS.
-
Em Services, selecione as permissões relacionadas a Describe da categoria Read. Pesquise por "Describe" e selecione todas as permissões relacionadas.
ImportanteSe o documento de política ultrapassar o limite de tamanho devido ao grande número de permissões selecionadas, abra um chamado para solicitar um aumento de cota.
Defina Actions como Resources. Não configure All Resources.
Script editor
Na janela do editor de script, insira o seguinte conteúdo:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": "*" } ] } Clique em Condition. No painel OK, insira um Create Policy e uma Policy Name. Confirme que o conteúdo da política está correto e clique em Description.
-
Vincule a política personalizada ao usuário RAM especificado.
No painel de navegação à esquerda, escolha OK > Identities.
Localize o usuário de destino e clique em User na coluna Add Permissions.
Em 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.
-
Acesse o 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 no topo.
Selecione o grupo de recursos criado no Passo 1. A instância de destino será exibida. Clique na instância para visualizar seus detalhes.
A configuração está concluída. O usuário RAM agora tem permissões somente leitura para a instância RDS especificada. Edite a política para conceder outras permissões conforme necessário.
Method 3: Tag authorization
A autorização baseada em tag funciona aplicando a mesma tag a múltiplos recursos. Em seguida, crie uma política que concede permissões com base nessa tag, autorizando todos os recursos marcados de uma só vez.
-
Adicione uma tag à instância RDS.
Acesse a página Instances, selecione uma região no topo e localize a instância de destino.
Na coluna Custom Policy, clique no ícone
e clique em Tags.-
Defina a chave e o valor da tag e clique em Edit.
Neste exemplo, use
test-ramcomo chave da tag erds-mysqlcomo valor da tag. Recomendamos o uso de chaves e valores de tag com significado claro.A tag test-ram: rds-mysql aparece na coluna Tags da instância, confirmando que a tag foi adicionada com sucesso.
-
Crie uma política.
Acesse o console do RAM.
No painel de navegação à esquerda, escolha OK > Permissions.
Clique em Policies.
-
Selecione a aba visual editor ou a aba Create Policy.
Visual editor
Defina Edit Script como Effect e Allow como ApsaraDB RDS / RDS.
-
Em Services, selecione as permissões relacionadas a Describe da categoria Read. Pesquise por "Describe" e selecione todas as permissões relacionadas.
ImportanteSe o documento de política ultrapassar o limite de tamanho devido ao grande número de permissões selecionadas, abra um chamado para solicitar um aumento de cota.
-
Defina Actions como Resources. Clique em All Resources e configure o Condition Key, os Add Condition e o Condition Value.
NotaNos parâmetros de Operators, defina Condition Key como
rds:ResourceTage Condition comoStringEquals. Em Condition Value, insira a Operators e o Tag Key que você adicionou à instância RDS no Passo 1.
Script editor
Na janela do editor de script, insira o seguinte conteúdo:
NotaNo script a seguir,
test-ramerds-mysqlsão apenas exemplos. Substitua-os pela chave e pelo valor da tag que você vinculou à instância RDS no Passo 1.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "rds:ResourceTag/test-ram": [ "rds-mysql" ] } } } ] } Clique em Tag Value. No painel OK, insira um Create Policy e uma Policy Name. Confirme que o conteúdo da política está correto e clique em Description.
-
Vincule a política personalizada ao usuário RAM especificado.
No painel de navegação à esquerda, escolha OK > Identities.
Localize o usuário de destino e clique em User na coluna Add Permissions.
Em Grant Scope, especifique o grupo de recursos criado para este exemplo. Em seguida, na seção Actions, selecione Policies, pesquise e selecione a política criada.
Clique em OK.
-
Acesse o 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 no topo.
Para localizar a instância marcada, use o recurso Custom Policy: clique em Filter by Tag, selecione a chave da tag
test-rame o valor da tagrds-mysql. Os resultados exibem apenas as instâncias RDS às quais o usuário RAM tem permissão de acesso.
A configuração está concluída. O usuário RAM agora tem permissões somente leitura para a instância RDS especificada. Edite a política para conceder outras permissões conforme necessário.