Configure la rotación automática para los secretos de AmazonRDS, Amazon Aurora, Amazon Redshift o Amazon DocumentDB - 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.

Configure la rotación automática para los secretos de AmazonRDS, Amazon Aurora, Amazon Redshift o Amazon DocumentDB

En este tutorial se describe cómo configurar los secretos de Rotación por función Lambda las bases de datos. La rotación es el proceso de actualización periódica de un secreto. Cuando se rota un secreto, se actualizan las credenciales tanto en el secreto como en la base de datos. En Secrets Manager, puede configurar la rotación automática de sus secretos de bases de datos.

Para configurar la rotación con la consola, primero debe elegir una estrategia de rotación. A continuación, configure el secreto para la rotación, lo que crea una función de rotación de Lambda si aún no la tiene. La consola también establece los permisos para el rol de ejecución de la función de Lambda. El último paso consiste en asegurarse de que la función de rotación de Lambda pueda acceder tanto a Secrets Manager como a su base de datos a través de la red.

aviso

Para activar la rotación automática, debe tener permiso para crear un rol de IAM ejecución para la función de rotación de Lambda y adjuntarle una política de permisos. Necesita ambos permisos, iam:CreateRole y iam:AttachRolePolicy. La concesión de estos permisos permite a una identidad concederse cualquier permiso a sí misma.

Paso 1: elegir una estrategia de rotación y (opcionalmente) crear un secreto de superusuario

Para obtener información sobre las estrategias que ofrece Secrets Manager, consulteEstrategias de rotación de funciones Lambda.

Si elige la estrategia de usuarios alternativos, debe Crea secretos y almacenar en él las credenciales de superusuario de la base de datos. Necesita un secreto con credenciales de superusuario porque la rotación clona el primer usuario y la mayoría de los usuarios no tienen ese permiso. Tenga en cuenta que Amazon RDS Proxy no admite la estrategia de usuarios alternos.

Paso 2: configurar la rotación y crear una función de rotación

Para activar la rotación de un secreto de AmazonRDS, Amazon DocumentDB o Amazon Redshift
  1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  2. En la página Secrets (Secretos), elija el secreto.

  3. En la página Secret details (Detalles del secreto), en la sección Rotation configuration (Configuración de la rotación), elija Edit rotation (Editar rotación).

  4. En el cuadro de diálogo Edit rotation configuration (Configuración para editar la rotación), haga lo siguiente:

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

    2. En Programa de rotación, introduzca su horario en la zona UTC horaria en el generador de expresiones de programación o como expresión de horario. Secrets Manager almacena su programación como una expresión rate() o cron(). El periodo de rotación se inicia a medianoche de forma automática, excepto si se especifica una Start time (Hora de inicio). Se puede rotar un secreto con una frecuencia máxima de cuatro horas. Para obtener más información, consulte Horarios de rotación.

    3. (Opcional) En Window duration (Duración del periodo), elija el tiempo durante el cual desea que Secrets Manager rote su secreto, por ejemplo, 3h, para un periodo de tres horas. El periodo no debe prolongarse hasta el siguiente periodo de rotación. Si no se especifica Window duration (Duración del periodo) para una programación de rotación en horas, el periodo concluye automáticamente al cabo de una hora. Para una programación de rotación en días, el periodo concluye automáticamente al final del día.

    4. (Opcional) Elija Rotate immediately when the secret is stored (Rotar inmediatamente cuando se almacene el secreto) a fin de rotar su secreto en cuanto guarde los cambios. Si desmarca la casilla de verificación, la primera rotación comenzará conforme a la programación establecida.

      Si se produce un error en la rotación (por ejemplo, porque los pasos 3 y 4 aún no se han completado), Secrets Manager reintenta el proceso de rotación varias veces.

    5. En Rotation function (Función de rotación), realice una de las siguientes operaciones:

      • Elija Create a new Lambda function (Crear una nueva función de Lambda) y luego ingrese un nombre para la nueva función. Secrets Manager agrega SecretsManager al principio del nombre de la función. Secrets Manager crea la función a partir de la plantilla adecuada y establece los permisos necesarios para el rol de ejecución de Lambda.

      • Seleccione Use an existing Lambda function (Usar una función de Lambda existente) para reutilizar una función de rotación utilizada para otro secreto. Las funciones de rotación enumeradas en VPCConfiguraciones recomendadas tienen el mismo VPC grupo de seguridad que la base de datos, lo que ayuda a la función a acceder a la base de datos.

    6. Para la estrategia de rotación, elija la estrategia de usuario único o la de usuarios alternos. Para obtener más información, consulte Paso 1: elegir una estrategia de rotación y (opcionalmente) crear un secreto de superusuario.

  5. Seleccione Guardar.

Paso 3 (opcional): establecer condiciones de permisos adicionales en la función de rotación

En la política de recursos de la función de rotación, se recomienda incluir la clave de contexto aws:SourceAccount para poder evitar que Lambda se utilice como suplente confuso. Para algunos AWS servicios, para evitar el confuso escenario de un diputado, AWS recomienda utilizar tanto la clave de condición como aws:SourceArnla clave de condición aws:SourceAccountglobal. Sin embargo, si incluye la aws:SourceArn condición en su política de funciones de rotación, la función de rotación solo se podrá utilizar para girar el secreto especificado en ellaARN. Se recomienda incluir solo la clave de contexto aws:SourceAccount, para poder utilizar la función de rotación para varios secretos.

Actualizar la política de recursos de la función de rotación
  1. En la consola de Secrets Manager, elija el secreto y, a continuación, en la página de detalles, en Rotation configuration (Configuración de la rotación), elija la función de rotación de Lambda. Se abre la consola de Lambda.

  2. Siga las instrucciones que se describen en Uso de políticas basadas en recursos para Lambda para agregar una condición aws:sourceAccount.

    "Condition": { "StringEquals": { "AWS:SourceAccount": "123456789012" } },

Si el secreto está cifrado con una KMS clave distinta de Clave administrada de AWS aws/secretsmanager, Secrets Manager concede permiso al rol de ejecución de Lambda para usar la clave. Puede utilizar el contexto de ARN cifrado secreto para limitar el uso de la función de descifrado, de modo que la función de rotación solo tenga acceso a descifrar el secreto que es responsable de rotar.

Para actualizar el rol de ejecución de la función de rotación
  1. En la función de rotación de Lambda, elija Configuración y, a continuación, en Rol de ejecución, elija el Nombre del rol.

  2. Siga las instrucciones que se indican en Modificación de una política de permisos de rol para agregar una condición kms:EncryptionContext:SecretARN.

    "Condition": { "StringEquals": { "kms:EncryptionContext:SecretARN": "SecretARN" } },

Paso 4: configurar el acceso a la red para la función de rotación

Para obtener más información, consulte Acceso a la red para la función de rotación Lambda.

Siguientes pasos

Consulte Solucionar problemas de rotación AWS Secrets Manager.