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
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