Transformation AWS::SecretsManager - AWS CloudFormation

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 jeu de modifications orMettre à jour 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 Functions, en fonction des informations RotationTypespécifiées dans la AWS::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