Configuración de la rotación de un solo usuario para AWS Secrets Manager - AWS Secrets Manager

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de la rotación de un solo usuario para AWS Secrets Manager

En este tutorial, aprenderá a configurar la rotación de un solo usuario para un secreto que contiene credenciales de bases de datos. La rotación de un solo usuario es una estrategia de rotación en la que Secrets Manager actualiza las credenciales de un usuario tanto en el secreto como en la base de datos. Para obtener más información, consulte Estrategia de rotación: un solo usuario.

Una vez terminado el tutorial, le recomendamos que limpie los recursos del tutorial. No los utilice en un entorno de producción.

La rotación de Secrets Manager utiliza una función de AWS Lambda para actualizar el secreto y la base de datos. Para obtener información sobre los costos por usar una función de Lambda, consulte Precios.

Permisos

Para los requisitos previos del tutorial, necesita permisos administrativos para su Cuenta de AWS. En una configuración de producción, una práctica recomendada es utilizar diferentes roles para cada uno de los pasos. Por ejemplo, un rol con permisos de administrador de bases de datos creará la base de datos de Amazon RDS, y un rol con permisos de administrador de red configurará la VPC y los grupos de seguridad. Para los pasos del tutorial, le recomendamos que siga utilizando la misma identidad.

Para obtener más información sobre cómo configurar permisos en un entorno de producción, consulte Autenticación y control de acceso de AWS Secrets Manager.

Requisitos previos

El requisito previo para este tutorial es Configuración de rotación de usuarios alternativos para AWS Secrets Manager. No limpie los recursos al final del primer tutorial. Después de ese tutorial, tendrá un entorno realista con una base de datos de Amazon RDS y un secreto en Secrets Manager que contiene las credenciales de administrador para la base de datos. También tiene un segundo secreto que contiene las credenciales de un usuario de base de datos, pero no utilizará ese secreto en este tutorial.

También cuenta con una conexión configurada en MySQL Workbench para conectarse a la base de datos con las credenciales de administrador.

Paso 1: cree un usuario de base de datos de Amazon RDS

Primero, necesita un usuario cuyas credenciales se almacenarán en el secreto. Para crear el usuario, inicie sesión en la base de datos de Amazon RDS con las credenciales de administrador almacenadas en un secreto. Para simplificar, en el tutorial se crea un usuario con todos los permisos para acceder a una base de datos. En un entorno de producción, esto no es habitual y le recomendamos que siga el principio de privilegio mínimo.

Para recuperar la contraseña de administrador
  1. En la consola de Amazon RDS, acceda a su base de datos.

  2. En la pestaña Configuration (Configuración), en Master Credentials ARN (ARN de credenciales maestras), seleccione Manage in Secrets Manager (Administrar en Secrets Manager).

    Se abrirá la consola de Secrets Manager.

  3. En la página de detalles del secreto, elija Retrieve secret value (Recuperar valor del secreto).

  4. La contraseña aparece en la sección Secret value (Valor secreto).

Para crear un usuario de base de datos
  1. En MySQL Workbench, haga clic con el botón derecho en la conexión SecretsManagerTutorial y, luego, elija Edit Connection (Editar conexión).

  2. En el cuadro de diálogo Manage Server Connections (Administrar conexiones de servidores), en Username (Nombre de usuario), ingrese admin y, luego, elija Close (Cerrar).

  3. De vuelta en MySQL Workbench, elija la conexión SecretsManagerTutorial.

  4. Ingrese la contraseña de administrador que recuperó del secreto.

  5. En MySQL Workbench, en la ventana Query (Consulta), ingrese los siguientes comandos (incluida una contraseña segura) y, luego, elija Execute (Ejecutar). La función de rotación prueba el secreto actualizado mediante SELECT, por lo que dbuser debe tener ese privilegio como mínimo.

    CREATE USER 'dbuser'@'%' IDENTIFIED BY 'EXAMPLE-PASSWORD'; GRANT SELECT ON myDB . * TO 'dbuser'@'%';

    En la ventana Output (Salida), observará que los comandos se ejecutaron correctamente.

Paso 2: cree un secreto para las credenciales del usuario de base de datos

A continuación, cree un secreto para almacenar las credenciales del usuario que acaba de crear y active la rotación automática, incluida la rotación inmediata. Secrets Manager rotará el secreto, lo que significa que la contraseña se genera mediante programación; ninguna persona ha visto esta nueva contraseña. Hacer que la rotación comience inmediatamente también puede ayudarlo a determinar si la rotación está configurada de manera correcta.

  1. Abra la consola de Secrets Manager enhttps://console.aws.amazon.com/secretsmanager/.

  2. Elija Almacenar un secreto nuevo.

  3. En la página Choose secret type (Elegir tipo de secreto), haga lo siguiente:

    1. En Secret type (Tipo de secreto), elija Credentials for Amazon RDS database (Credenciales para base de datos de Amazon RDS).

    2. En Credentials (Credenciales), ingrese el nombre de usuario dbuser y la contraseña que ingresó para el usuario de base de datos que creó mediante MySQL Workbench.

    3. En Database (Base de datos), elija secretsmanagertutorialdb.

    4. Elija Siguiente.

  4. En la página Configure secrect (Configurar el secreto), en Secret name (Nombre del secreto), ingrese SecretsManagerTutorialDbuser y, luego, elija Next (Siguiente).

  5. En la página Configure rotation (Configurar la rotación), haga lo siguiente:

    1. Active Automatic rotation (Rotación automática).

    2. En Rotation schedule (Programación de rotación), configure una programación de Days (Días): 2 días con Duration (Duración): 2h. Mantenga seleccionada la opción Rotate immediately (Rotar inmediatamente).

    3. En Rotation function (Función de rotación), elija Create a rotation function (Crear una función de rotación) y, luego, para el nombre de la función, ingrese tutorial-single-user-rotation.

    4. Para la estrategia de rotación, elija un solo usuario.

    5. Elija Siguiente.

  6. En la página Review (Revisar), elija Store (Almacenar).

    Secrets Manager vuelve a la página de detalles del secreto. En la parte superior de la página, puede observar el estado de la configuración de la rotación. Secrets Manager utiliza CloudFormation para crear recursos como la función de rotación de Lambda y un rol de ejecución que ejecuta la función Lambda. Cuando CloudFormation termina, el banner cambia a Secret scheduled for rotation (Secreto programado para rotación). Se completó la primera rotación.

Paso 3: pruebe la contraseña rotada

Después de la primera rotación del secreto, que puede tardar unos segundos, puede comprobar que el secreto siga conteniendo credenciales válidas. La contraseña del secreto cambió con respecto a las credenciales originales.

Para recuperar la contraseña nueva del secreto
  1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  2. Elija Secrets (Secretos) y, luego, elija el secreto SecretsManagerTutorialDbuser.

  3. En la página Secret details (Detalles del secreto), deslícese hacia abajo y elija Retrieve secret value (Recuperar valor del secreto).

  4. En la tabla Key/value (Clave/valor), copie el Secret value (Valor del secreto) en password.

Para probar las credenciales
  1. En MySQL Workbench, haga clic con el botón derecho en la conexión SecretsManagerTutorial y, luego, elija Edit Connection (Editar conexión).

  2. En el cuadro de diálogo Manage Server Connections (Administrar conexiones de servidores), en Username (Nombre de usuario), ingrese dbuser y, luego, elija Close (Cerrar).

  3. De vuelta en MySQL Workbench, elija la conexión SecretsManagerTutorial.

  4. En el cuadro de diálogo Open SSH Connection (Conexión SSH abierta), en Password (Contraseña), pegue la contraseña que recuperó del secreto y, luego, elija OK (Aceptar).

    Si las credenciales son válidas, MySQL Workbench abrirá la página de diseño de la base de datos.

Paso 4: limpie los recursos

Para evitar posibles cargos, elimine el secreto que creó en este tutorial. Para obtener instrucciones, consulte Eliminación de un secreto de AWS Secrets Manager.

Para limpiar los recursos creados en el tutorial anterior, consulte Paso 4: limpie los recursos.

Siguientes pasos