Criar e usar uma política do IAM para acesso do banco de dados do IAM - Amazon Aurora

Criar e usar uma política do IAM para acesso do banco de dados do IAM

Para permitir que um usuário ou um perfil se conecte ao cluster de banco de dados, você deve criar uma política do IAM. Depois disso, associe a política a um conjunto de permissões ou a um perfil.

nota

Para saber mais sobre as políticas do IAM, consulte Gerenciamento de identidade e acesso no Amazon Aurora.

O exemplo de política a seguir permite que um usuário se conecte a um cluster de banco de dados usando a autenticação de banco de dados do IAM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:cluster-ABCDEFGHIJKL01234/db_user" ] } ] }
Importante

Um usuário com permissões de administrador pode acessar clusters de banco de dados sem permissões explícitas em uma política do IAM. Se você quiser restringir o acesso do administrador a clusters de banco de dados, é possível criar um perfil do IAM com as permissões adequadas e menos privilegiadas e atribuí-lo ao administrador.

nota

Não confunda o prefixo rds-db: com outros prefixos de operações da API do RDS que começam com rds:. Você usa o prefixo rds-db: e a ação rds-db:connect somente para a autenticação de banco de dados do IAM. Eles não são válidos em nenhum outro contexto.

Os exemplos de política incluem uma única instrução com os seguintes elementos:

  • Effect: especifica Allow para conceder acesso ao cluster de banco de dados. Se você não permitir explicitamente o acesso, o acesso será negado por padrão.

  • Action: especifica rds-db:connect para permitir conexões com o cluster de banco de dados.

  • Resource: especifica um nome do recurso da Amazon (ARN) que descreva uma conta de banco de dados em um cluster. de banco de dados. O formato do ARN é o seguinte.

    arn:aws:rds-db:region:account-id:dbuser:DbClusterResourceId/db-user-name

    Neste formato, substitua o seguinte:

    • region é a região da AWS para a de Bancos de Dados cluster. No exemplo de política, a região da AWS é us-east-2.

    • account-id é o número da conta da AWS para de Bancos de Dadoscluster. No exemplo de política, o número da conta é 1234567890. O usuário deve estar na mesma conta que a conta do cluster de banco de dados.

      Para realizar o acesso entre contas, crie um perfil do IAM com a política mostrada acima na conta do cluster de banco de dados e permita que sua outra conta assuma o perfil.

    • DbClusterResourceId é o identificador do cluster de banco de dados. Esse identificador é exclusivo para uma região da AWS e nunca muda. Na exemplo de política, o identificador é cluster-ABCDEFGHIJKL01234.

      Para encontrar um ID de recurso de cluster de banco de dados no AWS Management Console do Amazon Aurora, escolha o cluster de banco de dados para ver os respectivos detalhes. Em seguida, escolha a guia Configuration (Configuração). O Resource ID (ID de recurso) é exibido na seção Configuration (Configuração).

      Como alternativa, use o comando da AWS CLI para listar os identificadores e os IDs de recurso de de Bancos de Dados cluster na região atual da AWS, conforme mostrado a seguir.

      aws rds describe-db-clusters --query "DBClusters[*].[DBClusterIdentifier,DbClusterResourceId]"
      nota

      Se você estiver se conectando a um banco de dados por meio do RDS Proxy, especifique o ID do recurso de proxy, como prx-ABCDEFGHIJKL01234. Para obter informações sobre como usar a autenticação de banco de dados do IAM com RDS Proxy, consulte Conectar-se a um proxy usando autenticação do IAM.

    • db-user-name é o nome da conta de banco de dados para associar à autenticação do IAM. No exemplo de política, a conta de banco de dados é db_user.

Você pode criar outros ARNs que sejam compatíveis com vários padrões de acesso. A política a seguir permite o acesso a duas contas de banco de dados diferentes em um cluster de banco de dados.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/jane_doe", "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/mary_roe" ] } ] }

A política a seguir usa o caractere "*" para comparar de Bancos de Dados clusters e todas as contas de banco de dados para uma conta daAWS e uma região específicas da AWS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:*/*" ] } ] }

A política a seguir compara de Bancos de Dados clusters de uma conta da AWS e uma região da AWS específicas. Contudo, a política concede acesso somente aos clusters de banco de dados que têm uma conta de banco de dados jane_doe.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:*/jane_doe" ] } ] }

O usuário ou perfil tem acesso apenas aos bancos de dados que o usuário do banco de dados tem. Por exemplo, suponha que seu cluster de banco de dados tenha um banco de dados chamado dev e outro chamado test. Se a usuária do banco de dados jane_doe tiver acesso apenas a dev, os usuários ou perfis que acessarem esse cluster de banco de dados com a usuária jane_doe também terão acesso apenas a dev. Essa restrição de acesso também é válida para outros objetos de banco de dados, como tabelas, visualizações e assim por diante.

Um administrador deve criar políticas do IAM que concedam às entidades permissões para executar operações de API específicas nos recursos especificados de que precisam. Depois, o administrador deve anexar essas políticas aos conjuntos de permissões e perfis que exigem essas permissões. Para obter exemplos de políticas, consulte Exemplos de políticas baseadas em identidade do Amazon Aurora.

Anexar uma política do IAM a um conjunto de permissões ou perfil

Depois de criar uma política do IAM para permitir a autenticação de banco de dados, você precisa anexar a política a um conjunto de permissões ou a um perfil. Para obter um tutorial sobre esse tópico, consulte Criar e anexar sua primeira política gerenciada pelo cliente no Guia do usuário do IAM.

À medida que avança pelo tutorial, você pode usar um dos exemplos de política mostrados nessa seção como um ponto de partida e adequá-lo às suas necessidades. No fim do tutorial, você terá um conjunto de permissões com uma política anexada que pode usar a ação rds-db:connect.

nota

Você pode mapear vários conjuntos de permissões ou perfis para a mesma conta de usuário do banco de dados. Por exemplo, suponha que a sua política do IAM especificou o seguinte recurso do ARN.

arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe

Se você anexar a política a Jane, Bob e Diego, todos eles poderão se conectar ao cluster de banco de dados em questão usando a conta de banco de dados jane_doe.