AWS::SecretsManager 轉換程序 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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