Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
¿Cómo creo una función de rotación con una información confidencial de AWS Secrets Manager para una base de datos no compatible?
¿Cómo puedo crear una función de AWS Lambda para rotar la información confidencial de AWS Secrets Manager para otras bases de datos o servicios de terceros?
Breve descripción
La información confidencial de Secrets Manager creada con bases de datos compatibles con Amazon Relational Database Service (Amazon RDS) y otros servicios de AWS Support crean automáticamente la rotación de Lambda. Para bases de datos y servicios de AWS no compatibles, puede crear manualmente la función de Lambda.
Resolución
Utilice la plantilla de función de rotación genérica para rotar la información confidencial. Antes de activar la rotación de una información confidencial para otra base de datos o servicio, debe crear el código de la función de rotación de Lambda.
Importante:
- Antes de empezar, asegúrese de haber instalado y configurado la Interfaz de la línea de comandos de AWS (AWS CLI).
- Si recibe errores al ejecutar los comandos de la AWS CLI, asegúrese de que está utilizando la versión más reciente de AWS CLI.
Crear un conjunto de cambios de AWS CloudFormation basado en la plantilla de función de rotación genérica
Ejecute el comando de la AWS CLI create-cloud-formation-change-set para los siguientes valores:
--stack-name: El nombre de la pila de AWS CloudFormation para la que crea un conjunto de cambios.
--parameter-override: Los puntos de conexión regionales de AWS Secrets Manager para su región y el nombre de la función de rotación de Lambda que crea la plantilla.
aws serverlessrepo create-cloud-formation-change-set --application-id arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate --stack-name MyLambdaCreationStack --parameter-overrides Name=endpoint,Value=https://secretsmanager.REGION.amazonaws.com Name=functionName,Value=MySecretsManagerRotationFunction --capabilities CAPABILITY_IAM CAPABILITY_RESOURCE_POLICY
Nota: Asegúrese de utilizar el nombre de recurso de Amazon (ARN) de arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate exactamente como se muestra.
Se crea un conjunto de cambios de AWS CloudFormation para la plantilla. El nombre de la pila de AWS CloudFormation comienza por aws-serverless-repository- y el código de estado de la pila se establece en REVIEW\ _IN\ _PROGRESS.
Actualizar una pila mediante el conjunto de cambios
El comando create-cloud-formation-change-set devuelve ApplicationId, ChangeSetId, SemanticVersion y StackId. Para actualizar el estado de la pila, debe proporcionar el ChangeSetId al change-set-name. El change-set-name no produce ningún resultado y cambia el código de estado de la pila a CREATE_COMPLETE. La pila de AWS CloudFormation crea la función de Lambda y un rol de IAM que se adjunta a la función de Lambda con los permisos necesarios.
Ejecute el siguiente comando de la AWS CLI execute-change-set como el siguiente:
aws cloudformation execute-change-set --change-set-name arn:aws:cloudformation:region:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE
Comprobar lo que han creado las funciones de Lambda
Ejecute el siguiente comando de AWS CLI:
aws lambda list-functions Output { ... "FunctionName": "MySecretsManagerRotationFunction", ... "FunctionArn": "arn:aws:lambda:region:123456789012:function:MySecretsManagerRotationFunction", ... }
Nota: El nombre de la función de Lambda es el valor del nombre de la función especificado en**--parameter-overrides**.
Configurar la función de Lambda para el acceso a Amazon Virtual Private Cloud (Amazon VPC)
Si su base de datos o servicio se encuentra en una Amazon VPC, ejecute el comando update-function-configuration como el siguiente. El comando update-function-configuration configura la función de rotación de Lambda para que se ejecute en la VPC. Asegúrese de proporcionar los ID de subred de VPC y los ID del grupo de seguridad. Para obtener más información, consulte Configuración de una función de Lambda para obtener acceso a los recursos en una Amazon VPC.
Nota: Si su base de datos o servicio no se encuentran en una Amazon VPC, omita este paso.
$ aws lambda update-function-configuration --function-name your-lambda-function \ --vpc-config SubnetIds=subnet-076c28105d486f3bd,subnet-0af00c796ccdc725f,SecurityGroupIds=sg-0aed64f81acc4c037
Crear un punto de conexión de VPC para el servicio Secrets Manager
Si la VPC con su base de datos o servicio y la función de rotación de Lambda no tiene acceso a Internet, cree un punto de conexión de VPC. Configure la VPC con un punto de conexión de servicio privado para acceder a Secrets Manager y active la función de rotación en un punto de conexión dentro de la VPC. Ejecute el comando create-vpc-endpoint como el siguiente:
Nota: Si su base de datos o servicio no se encuentran en una Amazon VPC, omita este paso.
$ aws ec2 create-vpc-endpoint --vpc-id vpc-0abb11f5a28a8abe7 --vpc-endpoint-type Interface \ --service-name com.amazonaws.your-region.secretsmanager --subnet-ids subnet-076c28105d486f3bd subnet-0af00c796ccdc725f \ --security-group-ids sg-0bacf4bbed67e4df5
Configurar la conectividad de red entre la función de Lambda y la base de datos o servicio
Asegúrese de que la función de Lambda pueda enrutar su base de datos o servicio a través de los puertos de red requeridos. Esto varía en función de la base de datos o servicio y de la configuración de VPC asociada.
Nota: Si la base de datos o servicio no se encuentran en una Amazon VPC, omita este paso.
Personalizar la función de rotación para su caso de uso
La plantilla de rotación implementa automáticamente los pasos de createSecret y finishSecret. Los pasos de setSecret y testSecret requieren una implementación manual para su caso de uso y su base de datos. Para obtener más información, consulte Cómo funciona la rotación.
Activar la rotación de su información confidencial
Especifique el número de días entre rotaciones con los parámetros --rotation-rules y AutomaticallyAfterDays:
aws secretsmanager rotate-secret --secret-id production/MyAwesomeAppSecret --rotation-lambda-arn arn:aws:lambda:region:123456789012:function:MySecretsManagerRotationFunction --rotation-rules AutomaticallyAfterDays=7
Para obtener más información, consulte Rotación de información confidencial de AWS Secrets Manager.
Información relacionada
Plantillas de funciones de rotación de AWS Secrets Manager
Cómo conectarse al servicio de AWS Secrets Manager dentro de una nube virtual privada (VPC)

Contenido relevante
- preguntada hace 3 meseslg...
- preguntada hace 3 meseslg...
- Respuesta aceptadapreguntada hace 23 díaslg...
- preguntada hace 3 meseslg...
- preguntada hace 2 meseslg...
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años