AWS::SecretsManager
변환
AWS CloudFormation에서 호스팅하는 매크로인 AWS::SecretsManager
변환을 사용하여 보안 암호를 교체하는 AWS Lambda 함수를 지정합니다. 변경 세트 생성 또는 변경 세트를 사용하여 CloudFormation 스택 업데이트 및 템플릿이 AWS::SecretsManager
를 참조하는 경우 AWS CloudFormation에서는 보안 암호를 교체하는 AWS 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
을 사용할 수 없습니다.
변환 선언 값은 리터럴 문자열이어야 합니다 파라미터나 함수를 사용하여 변환 값을 지정할 수 없습니다.
템플릿 최상위의 구문
Transform
섹션에 있는 템플릿 최상위에 AWS::SecretsManager
를 포함하려면 다음 구문을 사용합니다.
JSON
{ "Transform": "AWS::SecretsManager-2020-07-23", . . . }
YAML
Transform: AWS::SecretsManager-2020-07-23
파라미터
AWS::SecretsManager
변환에는 파라미터를 사용할 수 없습니다. 대신 스택 템플릿에 있는 AWS::SecretsManager::RotationSchedule
리소스의 HostedRotationLambda
속성 유형을 사용하여 생성하려는 보안 암호 교체 AWS Lambda 함수의 속성을 지정합니다.
설명
매크로 사용에 대한 일반적인 고려 사항은 CloudFormation 매크로 정의 생성 시 고려 사항 단원을 참조하십시오.
예
다음 부분적 템플릿 예제에서는 AWS::SecretsManager::RotationSchedule
리소스의 HostedRotationLambda
속성 유형에 지정된 속성을 기반으로 AWS::SecretsManager
변환을 사용하여 MySQL 데이터베이스에서 단일 사용자의 보안 암호를 교체하는 AWS Lambda 함수를 지정하는 방법을 보여줍니다.
RDS 데이터베이스, Amazon Redshift 클러스터 및 Document DB 클러스터의 보안 암호 교체를 보여주는 전체 템플릿 예제는 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