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.
-
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çãodsql:DbConnectAdmin
do IAM para se conectar ao cluster. -
Crie um perfil de banco de dados, certificando-se de especificar a opção
WITH LOGIN
.CREATE ROLE example WITH LOGIN;
-
Associe o perfil de banco de dados ao ARN do perfil do IAM.
AWS IAM GRANT example TO 'arn:aws:iam::
012345678912
:role/example
'; -
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
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.