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 Console de gerenciamento da AWS.
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
admincom uma identidade do IAM autorizada para a açãodsql:DbConnectAdmindo 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
GRANTpara 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.