本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS::SecretsManager
轉換程序
使用由 CloudFormation 託管的巨集AWS::SecretsManager
轉換,指定 Lambda 函數來執行秘密輪換。使用變更集建立變更集或更新堆疊時,以及範本參考 時AWS::SecretsManager
,CloudFormation 會產生 Lambda 函數來執行秘密輪換。使用 AWS::SecretsManager::RotationSchedule 資源的 HostedRotationLambda 屬性類型來指定所需 AWS Lambda 函數的屬性。
AWS Lambda 函數位於已處理範本中的巢狀堆疊 (AWS::CloudFormation::Stack 資源)。然後,此資源會根據 AWS::SecretsManager::RotationSchedule 資源中指定的 RotationType,連結到 AWS Secrets Manager Rotation Lambda Functions
用量
在範本的最上層使用 AWS::SecretsManager
轉換。您無法將 AWS::SecretsManager
作為內嵌於任何其他範本區段的轉換使用。
轉換宣告的值必須是常值字串。您不能使用參數或函數來指定轉換值。
範本最上層的語法
若要在範本的最上層包含 AWS::SecretsManager
,請在 Transform
區段中使用下列語法。
JSON
{ "Transform": "AWS::SecretsManager-2020-07-23", . . . }
YAML
Transform: AWS::SecretsManager-2020-07-23
參數
AWS::SecretsManager
轉換不接受任何參數。反之,請使用堆疊範本中 AWS::SecretsManager::RotationSchedule 資源的 HostedRotationLambda 屬性類型,指定您要建立的秘密輪換 AWS Lambda 函數屬性。
備註
如需有關使用巨集的一般考量,請參閱考量事項
範例
下列部分範本範例示範如何使用 AWS::SecretsManager
轉換,根據 AWS::SecretsManager::RotationSchedule
資源HostedRotationLambda
的 屬性類型,在單一使用者的 MySQL 資料庫上指定秘密輪換的 AWS Lambda 函數。
如需說明 RDS 資料庫、Amazon Redshift 叢集和文件資料庫叢集的秘密輪換的完整範本,請參閱 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