Rotation des secrets d'AWS Secrets Manager - AWS Secrets Manager

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Rotation des secrets d'AWS Secrets Manager

La Rotation est le processus de mise à jour périodique d'un secret. Lorsque vous effectuez une rotation de secret, vous mettez à jour les informations d'identification dans le secret et dans la base de données ou le service. Dans Secrets Manager, vous pouvez définir la rotation automatique de vos secrets.

Fonctionnement de la rotation

Astuce

Pour certains Secrets gérés par d'autres services, vous utilisez la rotation gérée. Pour utiliser Rotation gérée, vous devez d'abord créer le secret via le service de gestion.

La rotation de Secrets Manager utilise une AWS Lambda fonction pour mettre à jour le secret et la base de données ou le service. Pour plus d'informations sur les coûts d'utilisation d'une fonction Lambda, consultez Tarification.

Pour mettre un secret en rotation, Secrets Manager appelle une fonction Lambda en fonction de la planification que vous avez configurée. Vous pouvez définir un programme de rotation après un certain temps, par exemple tous les 30 jours, ou vous pouvez créer une expression cron. veuillez consulter Expressions de planification. Si vous mettez manuellement à jour votre valeur secrète alors que la rotation automatique est configurée, Secrets Manager considère qu'il s'agit d'une rotation valide lorsqu'il calcule la date de rotation suivante.

Pour des raisons de sécurité, Secrets Manager n'autorise qu'une fonction de rotation Lambda à faire pivoter le secret directement. La fonction de rotation ne peut pas appeler une deuxième fonction Lambda pour faire pivoter le secret.

Secrets Manager utilise des étiquettes intermédiaires pour étiqueter les versions d'un secret pendant la rotation. Au cours de la rotation, Secrets Manager appelle la même fonction plusieurs fois, avec des paramètres différents à chaque fois. Secrets Manager appelle la fonction avec la structure de demande JSON de paramètres suivante :

{ "Step" : "request.type", "SecretId" : "string", "ClientRequestToken" : "string" }

La fonction de rotation effectue le travail de rotation du secret. La rotation d'un secret comporte quatre étapes, qui correspondent aux quatre étapes suivantes de la fonction de rotation Lambda :

  1. Créer une nouvelle version du secret (createSecret)

    La première étape de la rotation consiste à créer une nouvelle version du secret. Dans les modèles de rotation de la base de données fournis par Secrets Manager, la fonction de rotation Lambda génère un mot de passe de 32 caractères pour la nouvelle version. La nouvelle version peut contenir un nouveau mot de passe, un nouveau nom d'utilisateur ET un nouveau mot de passe, ou plus d'informations sur le secret. La fonction de rotation Lambda étiquette la nouvelle version AWSPENDING.

  2. Modifier les informations d'identification dans la base de données ou le service (setSecret)

    Ensuite, la fonction de rotation Lambda modifie les informations d'identification de la base de données ou du service afin qu'elles correspondent aux nouvelles informations d'identification dans la version AWSPENDING du secret. En fonction de votre stratégie de rotation, cette étape peut créer un nouvel utilisateur avec les mêmes autorisations que l'utilisateur existant.

    Les fonctions de rotation pour Amazon RDS (sauf Oracle et Db2) et Amazon DocumentDB utilisent automatiquement le protocole SSL (Secure Socket Layer) ou le protocole TLS (Transport Layer Security) pour se connecter à votre base de données, si elle est disponible. Sinon, elles utilisent une connexion non chiffrée.

    Note

    Si vous avez configuré la rotation automatique des secrets avant le 20 décembre 2021, votre fonction de rotation peut être basée sur un modèle plus ancien qui ne prenait pas en charge les protocoles SSL/TLS. Consultez la section Déterminer quand votre fonction de rotation a été créée. Si elle a été créée avant le 20 décembre 2021, pour prendre en charge les connexions utilisant les protocoles SSL/TLS, vous devez recréer votre fonction de rotation.

  3. Tester la nouvelle version du secret (testSecret)

    Ensuite, la fonction de rotation Lambda teste la version AWSPENDING du secret en l'utilisant pour accéder à la base de données ou au service. Fonctions de rotation basées sur le test Modèles de fonctions de rotation du nouveau secret en utilisant l'accès en lecture. Selon le type d'accès dont vos applications ont besoin, vous pouvez mettre à jour la fonction pour inclure d'autres accès tels que l'accès en écriture.

  4. Terminer la rotation (finishSecret)

    Enfin, la fonction de rotation Lambda déplace l'étiquette AWSCURRENT de la version secrète précédente vers cette version, qui supprime également l'étiquette AWSPENDING dans le même appel d'API. Vous ne devez pas supprimer l'étiquette AWSPENDING avant ce point et vous ne devez pas la supprimer en utilisant un appel d'API distinct, car cela peut indiquer à Secrets Manager que la rotation ne s'est pas terminée correctement. Secrets Manager ajoute l'étiquette intermédiaire AWSPREVIOUS à la version précédente, de sorte que vous conservez la dernière bonne version connue du secret.

Pendant la rotation, Secrets Manager enregistre les événements qui indiquent l'état de rotation. Pour plus d’informations, consultez Journalisation d'événements AWS Secrets Manager avec AWS CloudTrail.

Si une étape de la rotation échoue, Secrets Manager retente l'intégralité du processus de rotation plusieurs fois.

Lorsque la rotation est réussie, l'étiquette AWSPENDING de transit peut être attachée à la même version que la version AWSCURRENT, ou elle peut ne pas être attachée à aucune version. Si l'étiquette de transit AWSPENDING est présente, mais n'est pas attachée à la même version AWSCURRENT, toute invocation ultérieure à la rotation suppose qu'une demande de rotation précédente est toujours en cours et renvoie une erreur. Lorsque la rotation échoue, l'étiquette AWSPENDING intermédiaire peut être attachée à une version secrète vide. Pour plus d’informations, consultez Résoudre la rotation d'.

Les applications qui Récupération des secrets à partir de AWS Secrets Manager à partir de Secrets Manager obtiennent automatiquement les nouvelles informations d'identification après la rotation. Pour de plus amples informations sur le fonctionnement de chaque étape de la rotation, veuillez consulter leAWS Secrets Manager modèles de fonctions de rotation.