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 CloudFormation, pour spécifier une fonction Lambda afin d'effectuer une rotation des secrets. Lorsque vous créez un ensemble de modifications ou que vous mettez à jour des piles à l'aide d'ensembles de modifications et que les modèles font référenceAWS::SecretsManager, une fonction Lambda est CloudFormation générée pour effectuer une rotation des secrets. Utilisez le type de HostedRotationLambdapropriété de la RotationSchedule ressource AWSSecretsManager: : : : pour spécifier les attributs de la AWS Lambda fonction souhaitée.

La AWS Lambda fonction se trouve dans une pile imbriquée (une ressource AWS: : CloudFormation : :Stack) 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, sur la base du modèle RotationTypespécifié dans la ressource AWS: : : SecretsManager : RotationSchedule.

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 en utilisant le type de HostedRotationLambdapropriété des RotationSchedule ressources AWS: SecretsManager : : dans le modèle de pile.

Remarques

Pour obtenir les considérations générales sur l'utilisation des macros, consultez Considérations.

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 SQL données My Database 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 RDS bases de données, les clusters Amazon Redshift et les clusters Document DB, consultez la section Exemples AWSde : : : : 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