Usar perfis de banco de dados e autenticação do IAM - Amazon Aurora DSQL

Usar perfis de banco de dados e autenticação do IAM

O Aurora DSQL permite autenticação usando perfis do IAM e usuários do IAM. Você pode usar qualquer um dos métodos para autenticar e acessar bancos de dados do Aurora DSQL.

Perfis do IAM

Um perfil do IAM é uma identidade dentro da sua Conta da AWS que tem permissões específicas, mas não está associada a uma pessoa específica. Ao usar perfis do IAM, você tem acesso a credenciais de segurança temporárias. Você pode assumir temporariamente um perfil do IAM de várias maneiras:

  • Trocando de perfil no AWS Management Console.

  • Chamando uma operação da AWS CLI ou da API da AWS.

  • Usando um URL personalizado.

Depois de assumir um perfil, você pode acessar o Aurora DSQL usando as respectivas credenciais temporárias. Para ter mais informações sobre métodos para o uso de perfis, consulte Identidades do IAM no Guia do usuário do IAM.

Usuários do IAM

Um usuário do IAM é uma identidade dentro da sua Conta da AWS que tem permissões específicas e está associada a uma única pessoa ou aplicação. Os usuários do IAM têm credenciais de longo prazo, como senhas e chaves de acesso, que podem ser usadas para acessar o Aurora DSQL.

nota

Para executar comandos SQL com a autenticação do IAM, você pode usar ARNs de perfil do IAM ou ARNs de usuário do IAM nos exemplos abaixo.

Autorizar perfis de banco de dados a se conectarem ao cluster

Crie um perfil do IAM e conceda autorização de conexão com a seguinte ação de política do IAM: dsql:DbConnect.

A política do IAM também deve conceder permissão de acesso aos recursos do cluster. Use um curinga (*) ou siga as instruções em Usar chaves de condição do IAM com o Amazon Aurora DSQL.

Autorizar perfis de banco de dados a usar SQL no banco de dados

Você deve usar um perfil do IAM com autorização para se conectar ao seu cluster.

  1. Conecte-se ao seu cluster do Aurora DSQL usando um utilitário do SQL.

    Use um perfil de banco de dados admin com uma identidade do IAM autorizada para a ação dsql:DbConnectAdmin do IAM para se conectar ao cluster.

  2. Crie um perfil de banco de dados, certificando-se de especificar a opção WITH LOGIN.

    CREATE ROLE example WITH LOGIN;
  3. Associe o perfil de banco de dados ao ARN do perfil do IAM.

    AWS IAM GRANT example TO 'arn:aws:iam::012345678912:role/example';
  4. Conceder permissões em nível de banco de dados ao perfil de banco de dados

    Os exemplos a seguir usam o comando GRANT para fornecer autorização no banco de dados.

    GRANT USAGE ON SCHEMA myschema TO example; GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA myschema TO example;

Para ter mais informações, consulte PostgreSQL GRANT e os PostgreSQL Privileges na documentação do PostgreSQL.

Visualizando mapeamentos de perfis do IAM para o banco de dados

Para visualizar os mapeamentos entre as perfis do IAM e as funções do banco de dados, consulte a tabela do sistema sys.iam_pg_role_mappings.

SELECT * FROM sys.iam_pg_role_mappings;

Resultado do exemplo:

 iam_oid |                  arn                   | pg_role_oid | pg_role_name | grantor_pg_role_oid | grantor_pg_role_name
---------+----------------------------------------+-------------+--------------+---------------------+----------------------
   26398 | arn:aws:iam::012345678912:role/example |       26396 | example      |               15579 | admin
(1 row)

Esta tabela mostra todos os mapeamentos entre os perfis do IAM (identificados pelo ARN) e as funções do banco de dados PostgreSQL.

Revogar a autorização do banco de dados de um perfil do IAM

Para revogar a autorização do banco de dados, use a operação AWS IAM REVOKE.

AWS IAM REVOKE example FROM 'arn:aws:iam::012345678912:role/example';

Para saber mais sobre como revogar a autorização, consulte Revogar a autorização usando o IAM e o PostgreSQL.