Autenticación de bases de datos con Amazon RDS
Amazon RDS admite varias formas de autenticar usuarios de bases de datos.
La autenticación con contraseña, de Kerberos y de base de datos de IAM utilizan diferentes métodos de autenticación en la base de datos. Por lo tanto, un usuario específico puede iniciar sesión en una base de datos mediante un solo método de autenticación.
Para PostgreSQL, utilice solo una de las siguientes configuraciones de rol para un usuario de una base de datos específica:
-
Para utilizar la autenticación de base de datos de IAM, asigne el rol
rds_iam
al usuario. -
Para utilizar la autenticación de Kerberos, asigne el rol
rds_ad
al usuario. -
Para utilizar la autenticación con contraseña, no asigne ninguno de los roles
rds_iam
ords_ad
al usuario.
No asigne el rol rds_iam
ni el rol rds_ad
a un usuario de una base de datos de PostgreSQL, de forma directa o indirecta, mediante el acceso de concesión anidada. Si el rol rds_iam
se agrega al usuario maestro, la autenticación de IAM tiene prioridad sobre la autenticación con contraseña, por lo que el usuario maestro tiene que iniciar sesión como usuario de IAM.
importante
Le recomendamos encarecidamente que no utilice el usuario maestro directamente en sus aplicaciones. En lugar de ello, es mejor ceñirse a la práctica recomendada de utilizar un usuario de base de datos creado con los privilegios mínimos necesarios para su aplicación.
Autenticación de contraseña
Con la autenticación de contraseña, la base de datos realiza toda la administración de cuentas de usuario. Puede crear usuarios con instrucciones SQL como CREATE USER
, con la cláusula adecuada que requiere el motor de base de datos para especificar contraseñas. Por ejemplo, en MySQL la instrucción es CREATE
USER
nombre
IDENTIFIED BY
contraseña
, mientras que, en PostgreSQL, la instrucción es CREATE USER
nombre
WITH PASSWORD
contraseña
.
Con la autenticación por contraseña, la base de datos controla y autentica las cuentas de usuario. Si un motor de base de datos tiene características sólidas de administración de contraseñas, puede mejorar la seguridad. La autenticación de bases de datos puede ser más fácil de administrar mediante la autenticación de contraseña cuando tiene comunidades de usuarios pequeñas. Debido a que en este caso se generan contraseñas de texto sin formato, la integración con AWS Secrets Manager puede mejorar la seguridad.
Para obtener información sobre el uso de Secrets Manager con Amazon RDS, consulte Crear un secreto básico y Rotar secretos para bases de datos de Amazon RDS admitidas en la guía del usuario de AWS Secrets Manager. Si quiere obtener información para recuperar los secretos mediante programación en las aplicaciones personalizadas, consulte Recuperar el valor secreto en la guía del usuario de AWS Secrets Manager.
Autenticación de bases de datos de IAM
Puede autenticar en su instancia mediante la autenticación de base de datos de AWS Identity and Access Management (IAM). Con este método de autenticación, no es necesario usar una contraseña al conectarse a una instancia. En su lugar, puede usar un token de autenticación.
Para obtener más información acerca de la autenticación IAM de bases de datos, incluida información sobre la disponibilidad de motores de base de datos específicos, consulte Autenticación de bases de datos de IAM para MariaDB, MySQL, and PostgreSQL.
Autenticación Kerberos
Amazon RDS admite la autenticación externa de usuarios de bases de datos que usan Kerberos y Microsoft Active Directory. Kerberos es un protocolo de autenticación de red que usa tickets y criptografía de clave simétrica para eliminar la necesidad de transmitir contraseñas a través de la red. Kerberos ha sido creado en Active Directory y está diseñado para autenticar usuarios para recursos de redes, como bases de datos.
La compatibilidad de Amazon RDS con Kerberos y Microsoft Active Directory ofrece beneficios de inicio de sesión único y autenticación centralizada de usuarios de bases de datos. Puede mantener sus credenciales de usuario en Active Directory. Active Directory ofrece un lugar centralizado para almacenar y administrar credenciales para varias instancias de bases de datos.
Para usar las credenciales de su Active Directory autoadministrado, debe configurar una relación de confianza con AWS Directory Service para el Microsoft Active Directory al que se haya unido la instancia de base de datos.
RDS para PostgreSQL y RDS para MySQL admiten relaciones de confianza unidireccionales y bidireccionales entre bosques con autenticación selectiva o en todo el bosque.
En algunos casos, puede configurar la autenticación Kerberos a través de una relación de confianza externa. Esto requiere que el directorio de Active Directory autoadministrado tenga una configuración adicional. Esto incluye, entre otras cosas, Kerberos Forest Search Order
Las instancias de base de datos de Microsoft SQL Server y PostgreSQL admiten relaciones de confianza entre bosques unidireccionales y bidireccionales. Las instancias de base de datos de Oracle admiten relaciones de confianza externas y entre bosques unidireccionales y bidireccionales. Para obtener más información, consulte Cuándo crear una relación de confianza en la Guía de administración de AWS Directory Service.
Para obtener información sobre la autenticación de Kerberos con un motor específico, consulte lo siguiente:
nota
Actualmente, la autenticación Kerberos no es compatible con las instancias de base de datos MariaDB.