Autenticação do banco de dados com Amazon RDS - Amazon Relational Database Service

Autenticação do banco de dados com Amazon RDS

O Amazon RDSAmazon Aurora é compatível com várias maneiras de autenticar usuários do banco de dados.

As autenticações de banco de dados do IAM, do Kerberos e por senha usam diferentes métodos de autenticação no banco de dados. Portanto, um usuário específico pode fazer login em um banco de dados usando apenas um método de autenticação.

No PostgreSQL, use apenas uma das seguintes configurações de função para um usuário de um banco de dados específico:

  • Para usar a autenticação de banco de dados do IAM, atribua a função rds_iam ao usuário.

  • Para usar a autenticação do Kerberos, atribua a função rds_ad ao usuário.

  • Para usar a autenticação por senha, não atribua as funções rds_iam ou rds_ad ao usuário.

Não atribua ambas as funções rds_iam e rds_ad a um usuário de um banco de dados PostgreSQL direta ou indiretamente por acesso de concessão aninhado. Se a função rds_iam for adicionada ao usuário mestre, a autenticação do IAM terá precedência sobre a autenticação por senha, então o usuário mestre terá que fazer login como um usuário do IAM.

Importante

É altamente recomendável não usar o usuário mestre diretamente nas aplicações. Em vez disso, siga as práticas recomendadas de usar um usuário do banco de dados criado com os privilégios mínimos obrigatórios para a aplicação.

Autenticação com senha

Com a autenticação com senha, seu banco de dados executa toda a administração de contas de usuário. Crie usuários com instruções SQL, como CREATE USER, usando a cláusula apropriada exigida pelo mecanismo de banco de dados para especificar senhas. Por exemplo, no MySQL, a instrução é CREATE USER name IDENTIFIED BY password, enquanto, no PostgreSQL, ela é CREATE USER name WITH PASSWORD password.

Com a autenticação com senha, seu banco de dados controla e autentica contas de usuário. Se um mecanismo de banco de dados tiver recursos de gerenciamento de senhas fortes, ele poderá aumentar a segurança. A autenticação de banco de dados pode ser mais fácil de administrar usando autenticação com senha quando você tem pequenas comunidades de usuários. Como as senhas de texto não criptografado são geradas nesse caso, a integração com o AWS Secrets Manager pode aumentar a segurança.

Para obter informações sobre como usar o Secrets Manager com o Amazon RDSAmazon Auroraconsulte Criar um segredo básico e Alternar segredos para bancos de dados do Amazon RDS compatíveis no Guia do usuário do AWS Secrets Manager. Para obter informações sobre como recuperar os segredos de forma programática nas aplicações personalizadas, consulte Recuperar o valor do segredo no Guia do usuário do AWS Secrets Manager.

Autenticação do banco de dados do IAM

Você pode se autenticar a instância de banco de dados usando a autenticação de banco de dados do AWS Identity and Access Management (IAM). A autenticação do banco de dados do IAM opera com o MySQL e o PostgreSQL. Com esse método de autenticação, você não precisa usar uma senha ao conectar-se a um cluster de de banco de dados. Em vez disso, você usa um token de autenticação.

Para ter mais informações sobre autenticação de banco de dados do IAM, incluindo informações sobre disponibilidade de mecanismos de banco de dados específicos, consulte Autenticação do banco de dados do IAM para MariaDB, MySQL e PostgreSQL.

Autenticação de Kerberos

O Amazon RDS oferece suporte à autenticação externa de usuários de banco de dados usando o Kerberos e o Microsoft Active Directory. O Kerberos é um protocolo de autenticação de rede que usa tíquetes e criptografia de chave simétrica para eliminar a necessidade de transmitir senhas pela rede. O Kerberos foi integrado ao Active Directory e foi projetado para autenticar usuários em recursos de rede, como bancos de dados.

O suporte do Amazon RDS ao Kerberos e ao Active Directory oferece os benefícios do logon único e da autenticação centralizada dos usuários do banco de dados. Você pode manter suas credenciais de usuário no Active Directory. O Active Directory fornece um lugar centralizado para armazenar e gerenciar credenciais para várias instâncias de banco de dados.

Você pode permitir que os usuários de banco de dados se autentiquem nas instâncias de banco de dados de duas maneiras. Eles podem usar credenciais armazenadas no AWS Directory Service for Microsoft Active Directory ou no Active Directory on-premises.

As instâncias de banco de dados do Microsoft SQL Server e do PostgreSQL são compatíveis com relações de confiança de floresta de um e dois sentidos. As instâncias de banco de dados Oracle oferecem suporte a relações de confiança externas e de floresta de um e dois sentidos. Para ter mais informações, consulte Quando criar uma relação de confiança no Guia de administração do AWS Directory Service.

Para obter informações sobre a autenticação Kerberos com um mecanismo de banco de dados específico, consulte o seguinte:

nota

Atualmente, a autenticação Kerberos não tem suporte para instâncias de banco de dados MariaDB.