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.
Transformation AWS::SecretsManager
Utilisez la AWS::SecretsManager
transformation, qui est une macro hébergée par AWS CloudFormation, pour spécifier une AWS Lambda fonction permettant d'effectuer une rotation des secrets. When Création d'un ensemble de modifications orMettre à jour CloudFormation les piles à l'aide d'ensembles de modifications, et les références des modèlesAWS::SecretsManager
, AWS CloudFormation génèrent une AWS Lambda
fonction pour effectuer une rotation des secrets. Utilisez le type de HostedRotationLambda
propriété de la AWS::SecretsManager::RotationSchedule
ressource pour spécifier les attributs de la AWS Lambda fonction souhaitée.
La AWS Lambda fonction se trouve dans une pile imbriquée (une AWS::CloudFormation::Stackressource) dans le modèle traité. Cette ressource renvoie ensuite au modèle de fonction approprié dans le référentiel AWS Secrets Manager Rotation Lambda FunctionsAWS::SecretsManager::RotationSchedule
ressource.
Utilisation
Utilisez la transformation AWS::SecretsManager
au niveau supérieur du modèle. Vous ne pouvez pas utiliser AWS::SecretsManager
comme transformation incorporée dans une autre section de modèle.
La valeur de la déclaration de transformation doit être une chaîne littérale. Vous ne pouvez pas utiliser de paramètre ou de fonction pour spécifier la valeur de transformation.
Syntaxe au niveau supérieur d'un modèle
Pour inclure la transformation AWS::SecretsManager
au niveau supérieur d'un modèle, dans la section Transform
, utilisez la syntaxe suivante.
JSON
{ "Transform": "AWS::SecretsManager-2020-07-23", . . . }
YAML
Transform: AWS::SecretsManager-2020-07-23
Paramètres
La transformation AWS::SecretsManager
n'accepte aucun paramètre. Spécifiez plutôt les propriétés de la AWS Lambda fonction de rotation secrète que vous souhaitez créer à l'aide du type de HostedRotationLambda
propriété des AWS::SecretsManager::RotationSchedule
ressources du modèle de pile.
Remarques
Pour obtenir les considérations générales sur l'utilisation des macros, consultez Considérations lors de la création de définitions de macros CloudFormation.
Exemple
L'exemple de modèle partiel suivant montre comment utiliser la AWS::SecretsManager
transformation pour spécifier une AWS Lambda fonction de rotation secrète sur une base de données MySQL pour un seul utilisateur, en fonction des propriétés spécifiées dans le type de HostedRotationLambda
propriété de la AWS::SecretsManager::RotationSchedule
ressource.
Pour des exemples de modèles complets illustrant les rotations secrètes pour les bases de données RDS, les clusters Amazon Redshift et les clusters Document DB, consultez la section Exemples de. AWS::SecretsManager::RotationSchedule
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::SecretsManager-2020-07-23", "Resources": { . . . "MySecretRotationSchedule": { "Type": "AWS::SecretsManager::RotationSchedule", "DependsOn": "SecretRDSInstanceAttachment", "Properties": { "SecretId": { "Ref": "MyRDSInstanceRotationSecret" }, "HostedRotationLambda": { "RotationType": "MySQLSingleUser", "RotationLambdaName": "SecretsManagerRotation", "VpcSecurityGroupIds": { "Fn::GetAtt": [ "TestVPC", "DefaultSecurityGroup" ] }, "VpcSubnetIds": { "Fn::Join": [ ",", [ { "Ref": "TestSubnet01" }, { "Ref": "TestSubnet02" } ] ] } }, "RotationRules": { "AutomaticallyAfterDays": 30 } } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::SecretsManager-2020-07-23 Resources: . . . MySecretRotationSchedule: Type: AWS::SecretsManager::RotationSchedule DependsOn: SecretRDSInstanceAttachment Properties: SecretId: !Ref MyRDSInstanceRotationSecret HostedRotationLambda: RotationType: MySQLSingleUser RotationLambdaName: SecretsManagerRotation VpcSecurityGroupIds: !GetAtt TestVPC.DefaultSecurityGroup VpcSubnetIds: Fn::Join: - "," - - Ref: TestSubnet01 - Ref: TestSubnet02 RotationRules: AutomaticallyAfterDays: 30