我是 SAM(和 CloudFormation)的新手,今天我了解到,您可以通过向 SAM yaml 模板添加类似内容来创建一个新存储桶:
Resources:
my-great-new-bucket:
Type:AWS::S3::Bucket
SAM 是否提供了一种将现有 KMS 加密 key 添加到新创建的存储桶(并启用存储桶 key )的方法?
使用 boto,我将执行以下操作来实现此目的:
response = client.put_bucket_encryption(Bucket= bucketName, ServerSideEncryptionConfiguration={
"Rules": [
{
"ApplyServerSideEncryptionByDefault": {
"SSEAlgorithm": "aws:kms",
"KMSMasterKeyID": myKeyArn
},
"BucketKeyEnabled": True
}
]
})
如何将此操作转换为 SAM 模板?
最佳答案
所以 S3::Bucket 不是 SAM 资源,而是普通的 CloudFormation 资源。
您可以通过将 KMS-KEY-ARN
更改为您的 key 的 key ID 来实现此目的。
Resources:
EncryptedS3Bucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketEncryption:
ServerSideEncryptionConfiguration:
- BucketKeyEnabled: true
ServerSideEncryptionByDefault:
SSEAlgorithm: 'aws:kms'
KMSMasterKeyID: KMS-KEY-ARN
关于amazon-web-services - AWS SAM : How to create an S3 bucket with an already existing encryption key using SAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69551377/