Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Comment effectuer la rotation d’un secret AWS Secrets Manager dans un VPC privé ?
J’ai essayé d’effectuer la rotation d’un secret AWS Secrets Manager pour un service AWS dans un Amazon Virtual Private Cloud (Amazon VPC). Cependant, l’opération a échoué et Amazon CloudWatch Logs indique que la tâche AWS Lambda a expiré.
Brève description
Secrets Manager ne peut pas effectuer une rotation des secrets des services AWS exécutés dans les sous-réseaux privés d’Amazon VPC, car ces sous-réseaux n’ont pas accès à Internet.
Résolution
Important : Avant de commencer, assurez-vous d’avoir installé et configuré l’Interface de ligne de commande AWS (AWS CLI).
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Suivez ces instructions pour configurer un point de terminaison d’interface Amazon VPC afin d’accéder à votre fonction Lambda de Secrets Manager et à votre instance privée Amazon Relational Database Service (Amazon RDS). Dans l’exemple suivant, une instance privée Aurora RDS dans Amazon VPC nommée vpc-0abb11f5a28a8abe7 est utilisée.
Créer des SG pour le point de terminaison de VPC Secrets Manager, l’instance RDS et la fonction de rotation Lambda
Suivez ces instructions pour créer des groupes de sécurité (SG) à l’aide de l’interface de ligne de commande AWS.
1. SG pour le point de terminaison d’Amazon VPC Secrets Manager :
Remarque : Remplacez vpc-id vpc-0abb11f5a28a8abe7 par votre ID de VPC.
$ aws ec2 create-security-group --vpc-id vpc-0abb11f5a28a8abe7 --group-name SMVPCEndpointSG --description "secretsmanager VPCEndpoint SG" { "GroupId": "sg-vpc-endpoint" }
2. Groupe de sécurité pour la fonction de rotation Lambda :
$ aws ec2 create-security-group --vpc-id vpc-0abb11f5a28a8abe7 --group-name LambdaFunctionSG --description "Lambda Rotation Function SG" { "GroupId": "sg-lambda-function" }
3. (Facultatif) Créez un SG pour l’instance RDS :
Remarque : Cette étape est nécessaire si votre instance RDS utilise uniquement le groupe de sécurité par défaut.
$ aws ec2 create-security-group --vpc-id vpc-0abb11f5a28a8abe7 --group-name RDSInstanceSG --description "RDS Instance SG" { "GroupId": "sg-rds-instance" }
Ajouter des règles aux SG du point de terminaison d’Amazon VPC et de l’instance RDS
1. Obtenez la plage d’adresses CIDR pour votre VPC :
$ aws ec2 describe-vpcs --vpc-ids vpc-0a05c93c7ef7a8a1c --query 'Vpcs[].CidrBlock' --output text 10.0.0.0/16
2. Configurez les règles du groupe de sécurité pour le point de terminaison d’Amazon VPC afin d’autoriser le trafic entrant sur le port 443 depuis votre VPC :
$ aws ec2 authorize-security-group-ingress --group-id sg-vpc-endpoint --protocol tcp --port 443 --cidr 10.0.0.0/16
3. Configurez le SG de l’instance RDS pour autoriser les connexions entrantes en provenance du groupe de sécurité de la fonction Lambda :
Remarque :
- Remplacez your-rds-security-group par votre SG (soit un SG existant ou le SG de l’instance RDS facultatif).
- Remplacez your-db-port par le port dont votre base de données est configurée pour l’utiliser.
$ aws ec2 authorize-security-group-ingress --group-id your-rds-security-group --protocol tcp --port your-db-port --source-group sg-lambda-function
Associer des SG aux ressources AWS
1. Si vous avez créé le SG de l’instance RDS facultative, modifiez la configuration de l’instance RDS :
Remarque : Remplacez your-existing-rds-security-groups par le ou les groupes associés à l’instance RDS.
$ aws rds modify-db-instance --db-instance-identifier your-rds-instance --vpc-security-group-ids sg-rds-instance your-existing-rds-security-groups
2. Suivez les instructions pour mettre à jour la configuration de la fonction Lambda :
$ aws lambda update-function-configuration --function-name your-lambda-function \ --vpc-config SubnetIds=subnet-076c28105d486f3bd,subnet-0af00c796ccdc725f,SecurityGroupIds=sg-lambda-function
Créer un point de terminaison d’interface Amazon VPC pour le service Secrets Manager et l’associer à un SG
Suivez les instructions pour créer un point de terminaison d’interface :
Remarque : Remplacez your-region par votre Région AWS et les ID de sous-réseaux utilisés pour votre instance RDS.
$ 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-vpc-endpoint
Important : Les noms d’hôte DNS et les attributs de résolution DNS doivent être activés sur votre Amazon VPC. Pour plus d’informations, consultez la section Affichage et mise à jour de la prise en charge de DNS pour votre VPC.
Vérifier que Secrets Manager peut effectuer une rotation du secret
1. Suivez les instructions de rotation du secret Secrets Manager :
Remarque : Remplacez your-secret par votre secret Secrets Manager.
$ aws secretsmanager rotate-secret --secret-id your-secret
Secrets Manager tente de nouveau la rotation précédente.
Remarque : Étant donné que les tentatives précédentes de rotation du mot de passe ont échoué, vous recevez une sortie similaire à ce qui suit :
An error occurred (InvalidRequestException) when calling the RotateSecret operation: A previous rotation isn't complete. That rotation will be reattempted.
2. Surveillez la fonction dans la console AWS Lambda. Si la rotation est réussie, les flux de journaux d’Amazon CloudWatch contiennent une entrée similaire à l’entrée suivante :
[INFO] 2019-10-22T07:59:32.627Z 96179023-5b67-4e98-a057-885f68bc69f2 finishSecret: Successfully set AWSCURRENT stage to version 175b5e38-341f-4cd0-8c58-2b1e49769642 for secret arn:aws:secretsmanager:your-region:your-account:secret:your-secret
3. Récupérez le secret Secrets Manager pour vérifier que la rotation a été effectuée :
Remarque : Remplacez your-secret-arn par l’ARN de votre secret Secrets Manager.
aws secretsmanager get-secret-value --secret-id your-secret-arn
Remarque : La fonction de rotation Secrets Manager s’exécute de manière asynchrone en arrière-plan. L’exécution de la fonction de rotation peut prendre plusieurs minutes.
- Balises
- AWS Secrets Manager
- Langue
- Français

Contenus pertinents
- demandé il y a un an
- demandé il y a 2 ans
- demandé il y a un an
- demandé il y a un mois
- demandé il y a un an
AWS OFFICIELA mis à jour il y a un an