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.
Configurer la rotation automatique pour les secrets AmazonRDS, Amazon Aurora, Amazon Redshift ou Amazon DocumentDB
Ce didacticiel explique comment configurer les secrets Rotation par fonction Lambda de base de données. 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 la base de données. Dans Secrets Manager, vous pouvez définir la rotation automatique de vos secrets de base de données.
Pour configurer la rotation à l'aide de la console, vous devez d'abord choisir une stratégie de rotation. Vous configurez ensuite le secret pour la rotation, ce qui crée une fonction de rotation Lambda si vous n'en avez pas déjà une. La console définit également les autorisations pour le rôle d'exécution de la fonction Lambda. La dernière étape consiste à s'assurer que la fonction de rotation Lambda peut accéder à la fois à Secrets Manager et à votre base de données via le réseau.
Avertissement
Pour activer la rotation automatique, vous devez être autorisé à créer un rôle d'IAMexécution pour la fonction de rotation Lambda et à y associer une politique d'autorisation. Vous avez besoin des deux autorisations iam:CreateRole
et iam:AttachRolePolicy
. L'octroi de ces autorisations permet à une identité de s'octroyer toutes les autorisations.
Étapes :
- Étape 1 : choisir une stratégie de rotation et (éventuellement) créer un secret de super-utilisateur
- Étape 2 : configurer la rotation et créer une fonction de rotation
- Étape 3 : (facultative) définir des conditions d'autorisation supplémentaires pour la fonction de rotation
- Étape 4 : configurer l'accès au réseau pour la fonction de rotation
- Étapes suivantes
Étape 1 : choisir une stratégie de rotation et (éventuellement) créer un secret de super-utilisateur
Pour plus d'informations sur les stratégies proposées par Secrets Manager, consultezStratégies de rotation des fonctions Lambda.
Si vous choisissez la stratégie des utilisateurs en alternance, vous devez Créez des secrets et y stocker les informations d'identification du super-utilisateur de la base de données. Vous avez besoin d'un code secret avec les informations d'identification du super-utilisateur, car la rotation clone le premier utilisateur, et la plupart des utilisateurs ne disposent pas de cette autorisation. Notez qu'Amazon RDS Proxy ne prend pas en charge la stratégie des utilisateurs alternatifs.
Étape 2 : configurer la rotation et créer une fonction de rotation
Pour activer la rotation pour un secret AmazonRDS, Amazon DocumentDB ou Amazon Redshift
Ouvrez la console Secrets Manager à l'adresse https://console.aws.amazon.com/secretsmanager/
. -
Sur la page Secrets, choisissez votre secret.
-
Sur la page Secret details (Détails du secret), dans la section Rotation configuration (Configuration de la rotation), choisissez Edit rotation (Modifier la rotation).
-
Dans la boîte de dialogue Edit rotation configuration (Modifier la configuration de la rotation), suivez la procédure suivante :
-
Activez Automatic rotation (Rotation automatique).
-
Sous Calendrier de rotation, entrez votre calendrier dans le UTC fuseau horaire soit dans le générateur d'expressions de calendrier, soit sous forme d'expression de calendrier. Secrets Manager stocke votre planification sous la forme d'une expression
rate()
oucron()
. La fenêtre de rotation démarre automatiquement à minuit, sauf si vous spécifiez une Start time (Heure de début). Vous pouvez effectuer la rotation d'un secret toutes les quatre heures. Pour de plus amples informations, veuillez consulter Horaires de rotation. -
(Facultatif) Pour Window duration (Durée de la fenêtre), choisissez la durée de la fenêtre pendant laquelle vous souhaitez que Secrets Manager effectue une rotation de votre secret, par exemple,
3h
pour une fenêtre de trois heures. La fenêtre ne doit pas s'étendre jusqu'à la fenêtre de rotation suivante. Si vous ne spécifiez pas la durée de la fenêtre, la fenêtre se ferme automatiquement au bout d'une heure si le programme de rotation est défini en heures. Pour un programme de rotation en jours, la fenêtre se ferme automatiquement à la fin de la journée. -
(Facultatif) Sélectionnez Rotate immediately when the secret is stored (Effectuer immédiatement une rotation lorsque le secret est stocké) pour effectuer une rotation de votre secret lorsque vous enregistrez vos modifications. Si vous décochez la case, la première rotation commencera selon la planification que vous avez définie.
Si la rotation échoue, par exemple parce que les étapes 3 et 4 ne sont pas encore terminées, Secrets Manager tente à nouveau le processus de rotation plusieurs fois.
-
Sous Rotation function (Fonction de rotation), effectuez l'une des actions suivantes :
-
Sélectionnez Create a new Lambda function (Créer une fonction Lambda) et saisissez le nom de votre fonction. Secrets Manager ajoute
SecretsManager
au début du nom de votre fonction. Secrets Manager crée la fonction en se basant sur le modèle approprié et définit les autorisations nécessaires pour le rôle d'exécution Lambda. -
Choisissez Use an existing Lambda function (Utiliser une fonction Lambda existante) pour réutiliser une fonction de rotation que vous avez utilisée pour un autre secret. Les fonctions de rotation répertoriées sous VPCConfigurations recommandées ont le même groupe VPC de sécurité que la base de données, ce qui permet à la fonction d'accéder à la base de données.
-
-
Pour la Stratégie de rotation, choisissez la stratégie Utilisateur unique ou Utilisateurs en alternance. Pour de plus amples informations, veuillez consulter Étape 1 : choisir une stratégie de rotation et (éventuellement) créer un secret de super-utilisateur.
-
Choisissez Save (Enregistrer).
Étape 3 : (facultative) définir des conditions d'autorisation supplémentaires pour la fonction de rotation
Dans la stratégie de ressources de votre fonction de rotation, nous vous recommandons d'inclure la clé de contexte aws:SourceAccount
afin d'éviter que Lambda ne soit utilisé comme un adjoint confus. Pour certains AWS services, pour éviter le scénario confus des adjoints, AWS recommande d'utiliser à la fois les clés de condition aws:SourceArn
et les clés de condition aws:SourceAccount
globales. Toutefois, si vous incluez la aws:SourceArn
condition dans votre politique de fonction de rotation, celle-ci ne peut être utilisée que pour faire pivoter le secret spécifié par celle-ciARN. Nous vous recommandons d'inclure uniquement la clé de contexte aws:SourceAccount
afin de pouvoir utiliser la fonction de rotation pour plusieurs secrets.
Pour mettre à jour la stratégie de ressources de votre fonction de rotation
Dans la console Secrets Manager, choisissez votre secret, puis sur la page des détails, sous Rotation configuration (Configuration de la rotation), choisissez la fonction de rotation Lambda. La console Lambda s'ouvre.
Suivez les instructions de la rubrique Utilisation de stratégies basées sur les ressources pour Lambda pour ajouter une condition
aws:sourceAccount
."Condition": { "StringEquals": { "AWS:SourceAccount": "
123456789012
" } },
Si le secret est chiffré avec une KMS clé autre que Clé gérée par AWS
aws/secretsmanager
, Secrets Manager autorise le rôle d'exécution Lambda à utiliser la clé. Vous pouvez utiliser le contexte de ARN chiffrement secret pour limiter l'utilisation de la fonction de déchiffrement, de sorte que le rôle de la fonction de rotation n'a accès qu'au déchiffrement du secret qu'il est chargé de faire pivoter.
Pour mettre à jour le rôle d'exécution de votre fonction de rotation
Dans la fonction de rotation Lambda, choisissez Configuration, puis sous Rôle d'exécution, choisissez le Nom du rôle.
Suivez les instructions de la rubrique Modification de la stratégie d'autorisations d'un rôle pour ajouter une condition
kms:EncryptionContext:SecretARN
."Condition": { "StringEquals": { "kms:EncryptionContext:SecretARN": "
SecretARN
" } },
Étape 4 : configurer l'accès au réseau pour la fonction de rotation
Pour de plus amples informations, veuillez consulter Accès au réseau pour la fonction de rotation Lambda.
Étapes suivantes
Consultez Résoudre les problèmes de rotation AWS Secrets Manager.