Administración de contraseñas con Amazon Aurora y AWS Secrets Manager
Amazon Aurora se integra con Secrets Manager para administrar las contraseñas de usuario maestras de sus .
Temas
Limitaciones de la integración de Secrets Manager con Amazon Aurora
Descripción general de la administración de contraseñas de usuarios maestros con AWS Secrets Manager
Ventajas de administrar las contraseñas de usuarios maestros con Secrets Manager
Rotación del secreto de contraseña de usuario maestra para un clúster de base de datos
Visualización de los detalles de un secreto para un clúster de base de datos
Disponibilidad en regiones y versiones
La disponibilidad y el soporte de las características varía según las versiones específicas de cada motor de base de datos y entre Regiones de AWS. Para obtener más información sobre la disponibilidad de versiones y regiones con la integración de Secrets Manager con Amazon Aurora, consulte Regiones y motores de bases de datos Aurora admitidos para la integración de Secrets Manager.
Limitaciones de la integración de Secrets Manager con Amazon Aurora
Las siguientes funciones no admiten la administración de contraseñas de usuario maestro con Secrets Manager:
-
Implementaciones azules/verdes de Amazon RDS
-
Clústeres de base de datos que forman parte de una base de datos de Aurora global
-
Clústeres de base de datos de Aurora Serverless v1
-
Aurora lee réplicas
Descripción general de la administración de contraseñas de usuarios maestros con AWS Secrets Manager
Con AWS Secrets Manager, puede reemplazar las credenciales con codificación rígida (incluidas las contraseñas de bases de datos), con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación. Para obtener más información acerca de Secrets Manager, consulte la Guía del usuario de AWS Secrets Manager.
Cuando guarda secretos de base de datos en Secrets Manager, su Cuenta de AWS incurre en cargos. Para obtener más información acerca de los precios, consulte Precios de AWS Secrets Manager
Puede especificar que Aurora administre la contraseña de usuarios maestros en Secrets Manager para una clúster de base de datos de Amazon Aurora al realizar una de las siguientes operaciones:
-
Crear el clúster de base de datos .
-
Modificar un clúster de base de datos .
-
Restaurar el clúster de base de datos desde Amazon S3 (solo Aurora MySQL)
Al especificar que Aurora administre la contraseña del usuario maestro en Secrets Manager, Aurora genera la contraseña y la almacena en Secrets Manager. Puede interactuar directamente con el secreto para recuperar las credenciales del usuario maestro. También puede especificar una clave gestionada por el cliente para cifrar el secreto o utilizar la clave de KMS que proporciona Secrets Manager.
Aurora administra la configuración del secreto y, de forma predeterminada, lo rota cada siete días. Puede modificar algunos de los ajustes, como el programa de rotación. Si elimina un clúster de base de datos que administra un secreto en Secrets Manager, también se eliminarán el secreto y los metadatos asociados.
Para conectarse a con las credenciales en un secreto, puede recuperar el secreto en Secrets Manager. Para obtener más información, consulte Recuperar secretos de AWS Secrets Manager y Conexión a una base de datos SQL con credenciales en un secreto de AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager.
Ventajas de administrar las contraseñas de usuarios maestros con Secrets Manager
La administración de las contraseñas de usuarios maestros de Aurora con Secrets Manager ofrece las siguientes ventajas:
-
Aurora genera automáticamente las credenciales de la base de datos.
-
Aurora almacena y administra automáticamente las credenciales de la base de datos en AWS Secrets Manager.
-
Aurora rota las credenciales de la base de datos con regularidad, sin necesidad de realizar cambios en la aplicación.
-
Secrets Manager protege las credenciales de la base de datos del acceso humano y de la visualización en texto plano.
-
Secrets Manager permite recuperar las credenciales de la base de datos en secretos para las conexiones a bases de datos.
-
Secrets Manager permite un control detallado del acceso a las credenciales de la base de datos en secretos mediante IAM.
-
Si lo desea, puede separar el cifrado de bases de datos del cifrado de credenciales con diferentes claves de KMS.
-
Puede eliminar la administración manual y la rotación de las credenciales de la base de datos.
-
Puede monitorear fácilmente las credenciales de la base de datos con AWS CloudTrail y Amazon CloudWatch.
Para obtener más información acerca de los beneficios de Secrets Manager, consulte la Guía del usuario de AWS Secrets Manager.
Permisos necesarios para la integración de Secrets Manager
Los usuarios deben tener los permisos necesarios para realizar las operaciones relacionadas con la integración de Secrets Manager. Puede crear políticas de IAM que concedan permisos para realizar operaciones de la API concretas en los recursos especificados que necesiten. A continuación, puede asociar esas políticas a los roles o conjuntos de permisos de IAM que necesiten esos permisos. Para obtener más información, consulte Administración de la identidad y el acceso en Amazon Aurora.
Para las operaciones de creación, modificación o restauración, el usuario que especifique que Aurora administra la contraseña de usuario maestro en Secrets Manager debe tener permisos para realizar las siguientes operaciones:
-
kms:DescribeKey
-
secretsmanager:CreateSecret
-
secretsmanager:TagResource
El permiso kms:DescribeKey
es necesario para acceder a la clave administrada por el cliente para MasterUserSecretKmsKeyId
y para describir aws/secretsmanager
.
Para las operaciones de creación, modificación o restauración, el usuario que especifique la contraseña de usuario maestro en Secrets Manager debe tener permisos para realizar las siguientes operaciones:
-
kms:Decrypt
-
kms:GenerateDataKey
-
kms:CreateGrant
Para las operaciones de modificación, el usuario que rote la contraseña de usuario maestro en Secrets Manager debe tener permisos para realizar la siguiente operación:
-
secretsmanager:RotateSecret
Cumplimiento de la administración de la contraseña del usuario maestro por parte de Aurora en AWS Secrets Manager
Puede utilizar las claves de condición de IAM para hacer que Aurora administre la contraseña del usuario maestro en AWS Secrets Manager. La siguiente política no permite a los usuarios crear ni restaurar instancias de base de datos o clústeres de bases de datos a menos que Aurora administre la contraseña del usuario maestro en Secrets Manager.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": ["rds:CreateDBInstance", "rds:CreateDBCluster", "rds:RestoreDBInstanceFromS3", "rds:RestoreDBClusterFromS3"], "Resource": "*", "Condition": { "Bool": { "rds:ManageMasterUserPassword": false } } } ] }
nota
Esta política aplica la administración de contraseñas en AWS Secrets Manager cuando se crea. Sin embargo, sigue pudiendo deshabilitar la integración de Secrets Manager y establecer manualmente una contraseña maestra si modifica el clúster.
Para evitarlo, incluya rds:ModifyDBInstance
, rds:ModifyDBCluster
en el bloque de acciones de la política. Tenga en cuenta que esto impide que el usuario aplique más modificaciones a los clústeres existentes que no tengan habilitada la integración de Secrets Manager.
Para obtener más información sobre el uso de las claves de condición en las políticas de IAM, consulte Claves de condición de políticas para Aurora y Políticas de ejemplo: uso de claves de condición.
Administración de la contraseña de usuario maestra para un clúster de base de datos con Secrets Manager
Puede configurar la administración de Aurora de la contraseña del usuario maestro en Secrets Manager cuando realice las siguientes acciones:
Puede utilizar la consola de RDS, la AWS CLI o la API de RSD para realizar estas acciones.
Siga las instrucciones para crear o modificar un clúster de base de datos con la consola de RDS:
-
Modificación de una instancia de base de datos en un clúster de base de datos
En la consola de RDS, puede modificar cualquier instancia de base de datos para especificar la configuración de administración de contraseñas del usuario maestro para todo el clúster de base de datos.
-
Restauración de un clúster de base de datos de Amazon Aurora MySQL desde un bucket de Amazon S3
Al utilizar la consola de RDS para realizar una de estas operaciones, puede especificar que Aurora administre la contraseña del usuario maestro en Secrets Manager. Para hacerlo al crear o restaurar un clúster de base de datos, seleccione Manage master credentials in AWS Secrets Manager (Administrar las credenciales maestras en AWS Secrets Manager) en Credential settings (Configuración de credenciales). Cuando modifique un clúster de base de datos, seleccione Manage master credentials in AWS Secrets Manager (Administrar las credenciales maestras en AWS Secrets Manager) en Settings (Configuración).
La siguiente imagen es un ejemplo de la configuración Manage master credentials in AWS Secrets Manager (Administrar las credenciales maestras en AWS Secrets Manager) que se utiliza al crear o restaurar un clúster de base de datos.

Al seleccionar esta opción, Aurora genera la contraseña de usuario maestra y la administra durante todo su ciclo de vida en Secrets Manager.

Puede optar por cifrar el secreto con una clave de KMS que proporcione Secrets Manager o con la clave gestionada por el cliente que cree usted. Una vez que Aurora administre las credenciales de la base de datos de un clúster de base de datos, no podrá cambiar la clave de KMS que se usa para cifrar el secreto.
Puede elegir otros ajustes para cumplir con sus requisitos.
Para obtener más información sobre la configuración disponible al crear un clúster de base de datos, consulte Configuración de clústeres de bases de datos de Aurora. Para obtener más información sobre la configuración disponible al modificar un clúster de base de datos, consulte Configuración para Amazon Aurora.
Para administrar la contraseña del usuario maestro con Aurora en Secrets Manager, especifique la opción --manage-master-user-password
en uno de los siguientes comandos:
Al especificar la opción --manage-master-user-password
en estos comandos, Aurora genera la contraseña de usuario maestro y la administra durante todo su ciclo de vida en Secrets Manager.
Para cifrar el secreto, también puede especificar una clave gestionada por el cliente o utilizar la clave de KMS que proporciona Secrets Manager. Use la opción --master-user-secret-kms-key-id
para especificar una clave administrada por el cliente. El identificador de la clave de AWS KMS es el ARN de la clave, el identificador de clave, el ARN de alias o el nombre de alias de la clave de KMS. Para especificar una clave en una Cuenta de AWS diferente, debe utilizar la clave de ARN o el alias de ARN. Una vez que Aurora administre las credenciales de la base de datos de un clúster de base de datos, no podrá cambiar la clave de KMS que se usa para cifrar el secreto.
Puede elegir otros ajustes para cumplir con sus requisitos.
Para obtener más información sobre la configuración disponible al crear un clúster de base de datos, consulte Configuración de clústeres de bases de datos de Aurora. Para obtener más información sobre la configuración disponible al modificar un clúster de base de datos, consulte Configuración para Amazon Aurora.
En este ejemplo se crea un clúster de base de datos y se especifica que Aurora administre la contraseña en Secrets Manager. El secreto se cifra mediante la clave de KMS que proporciona Secrets Manager.
Para Linux, macOS o Unix:
aws rds create-db-cluster \ --db-cluster-identifier
sample-cluster
\ --engineaurora-mysql
\ --engine-version8.0
\ --master-usernameadmin
\ --manage-master-user-password
Para Windows:
aws rds create-db-cluster ^ --db-cluster-identifier
sample-cluster
^ --engineaurora-mysql
^ --engine-version8.0
^ --master-usernameadmin
^ --manage-master-user-password
Para especificar que Aurora administre la contraseña del usuario maestro en Secrets Manager, defina el parámetro ManageMasterUserPassword
en true
con alguna de las siguientes operaciones:
Al seleccionar el parámetro ManageMasterUserPassword
en true
en una de estas operaciones, Aurora genera la contraseña de usuario maestro y la administra durante todo su ciclo de vida en Secrets Manager.
Para cifrar el secreto, también puede especificar una clave gestionada por el cliente o utilizar la clave de KMS que proporciona Secrets Manager. Utilice el parámetro MasterUserSecretKmsKeyId
para especificar una clave administrada por el cliente. El identificador de la clave de AWS KMS es el ARN de la clave, el identificador de clave, el ARN de alias o el nombre de alias de la clave de KMS. Para especificar una clave en una Cuenta de AWS diferente, debe utilizar la clave de ARN o el alias de ARN. Una vez que Aurora administre las credenciales de la base de datos de un clúster de base de datos, no podrá cambiar la clave de KMS que se usa para cifrar el secreto.
Rotación del secreto de contraseña de usuario maestra para un clúster de base de datos
Cuando Aurora rota un secreto de contraseña de usuario maestro, Secrets Manager genera una nueva versión de secreto para el secreto existente. La nueva versión del secreto contiene la nueva contraseña de usuario maestra. Aurora cambia la contraseña de usuario maestro para el clúster de base de datos para que coincida con la contraseña de la nueva versión de secreto.
Puede rotar un secreto inmediatamente en lugar de esperar a que se programe una rotación. Para rotar un secreto de contraseña de usuario maestra en Secrets Manager, modifique el clúster de base de datos . Para obtener más información sobre la modificación de un clúster de bases de datos, consulte Modificación de un clúster de base de datos de Amazon Aurora.
Puede cambiar un secreto de contraseña de usuario maestro inmediatamente con la consola de RDS, la AWS CLI de RDS o la API de RDS. La nueva contraseña siempre tiene 28 caracteres y contiene al menos una mayúscula y una minúscula, un número y un signo de puntuación.
Para rotar un secreto de contraseña de usuario maestro mediante la consola de RDS, modifique el clúster de base de datos y seleccione Rotate secret immediately (Rotar el secreto inmediatamente) en Settings (Configuración).

Siga las instrucciones para modificar un clúster de base de datos con la consola RDS en Modificación del clúster de base de datos con la consola, CLI y API. Debe elegir Apply immediately (Aplicar inmediatamente) en la página de confirmación.
Para rotar un secreto de contraseña de usuario maestro mediante la AWS CLI, utilice el comando modify-db-cluster y especifique la opción --rotate-master-user-password
. Debe especificar la opción --apply-immediately
al rotar la contraseña maestra.
En este ejemplo, se rota un secreto de contraseña de usuario maestro.
Para Linux, macOS o Unix:
aws rds modify-db-cluster \ --db-cluster-identifier
mydbcluster
\ --rotate-master-user-password \ --apply-immediately
Para Windows:
aws rds modify-db-cluster ^ --db-cluster-identifier
mydbcluster
^ --rotate-master-user-password ^ --apply-immediately
Puede rotar un secreto de contraseña de usuario maestro mediante la operación ModifyDBCluster y estableciendo el parámetro RotateMasterUserPassword
en true
. Debe establecer el parámetro ApplyImmediately
en true
al rotar la contraseña maestra.
Visualización de los detalles de un secreto para un clúster de base de datos
Puede recuperar sus secretos mediante la consola (https://console.aws.amazon.com/secretsmanager/
Puede encontrar el nombre de recurso de Amazon (ARN) de un secreto administrado por Aurora en Secrets Manager con la consola de RDS, la AWS CLI de RDS o la API de RDS.
Para ver los detalles de un secreto administrado por Aurora en Secrets Manager
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, seleccione Databases (Bases de datos).
-
Elija el nombre del clúster de base de datos para mostrar sus detalles.
-
Elija la pestaña Configuración.
En el Master Credentials ARN (ARN de credenciales maestras), puede ver el ARN secreto.
Puede seguir el enlace Manage in Secrets Manager (Administrar en Secrets Manager) para ver y administrar el secreto en la consola de Secrets Manager.
Puede utilizar el comando describe-db-clusters de la AWS CLI de RDS para buscar la siguiente información sobre un secreto administrado por Aurora en Secrets Manager:
-
SecretArn
: ARN del secreto -
SecretStatus
: estado del secretoOtros valores de estado posibles son:
-
creating
: se está creando el secreto. -
active
: el secreto está disponible para su uso y rotación normales. -
rotating
: se está rotando el secreto. -
impaired
: el secreto se puede usar para acceder a las credenciales de la base de datos, pero no se puede rotar. Un secreto puede tener este estado si, por ejemplo, se cambian los permisos para que RDS ya no pueda acceder al secreto ni a la clave de KMS del secreto.Cuando un secreto tiene este estado, puede corregir la condición que provocó el estado. Si corrige la condición que causó el estado, el estado sigue siendo
impaired
hasta la siguiente rotación. De forma alternativa, puede modificar el clúster de base de datos para desactivar la administración automática de las credenciales de la base de datos y, a continuación, volver a modificar el clúster de base de datos para activar la administración automática de las credenciales de la base de datos. Para modificar un clúster de base de datos, use la opción--manage-master-user-password
en el comando modify-db-cluster.
-
-
KmsKeyId
: ARN de la clave de KMS que se utiliza para cifrar el secreto.
Especifique la opción --db-cluster-identifier
para mostrar el resultado de un clúster de base de datos específica. En este ejemplo se muestra el resultado de un secreto que utiliza un clúster de base de datos.
aws rds describe-db-clusters --db-cluster-identifier
mydbcluster
A continuación, se muestra un ejemplo de resultado de un secreto:
"MasterUserSecret": {
"SecretArn": "arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx",
"SecretStatus": "active",
"KmsKeyId": "arn:aws:kms:eu-west-1:123456789012:key/0987dcba-09fe-87dc-65ba-ab0987654321"
}
Cuando tenga el ARN secreto, podrá ver los detalles del secreto con el comando get-secret-value de la CLI de Secrets Manager.
En este ejemplo se muestran los detalles del secreto del resultado del ejemplo anterior.
Para Linux, macOS o Unix:
aws secretsmanager get-secret-value \ --secret-id '
arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx
'
Para Windows:
aws secretsmanager get-secret-value ^ --secret-id '
arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx
'
Puede ver el ARN, el estado y la clave de KMS de un secreto administrado por Aurora en Secrets Manager mediante la operación RDS DescribeDBClusters y estableciendo el parámetro DBClusterIdentifier
en un identificador de clúster de base de datos. En el resultado se incluyen detalles sobre el secreto.
Cuando tenga el ARN secreto, podrá ver los detalles del secreto con la operación GetSecretValue de Secrets Manager.