Ant*_*and 1 amazon-s3 amazon-web-services aws-cloudformation aws-kms
给定一个CloudFormation模板,该模板定义:
如果出于某种原因我需要删除CloudFormation堆栈并重新部署,则删除操作将保留创建的KMS密钥和别名。(这很明智,我不想丢失所有加密的密钥)。
但这意味着当我重新部署堆栈时,它会失败,因为具有该名称的别名已经存在。
我可以通过CLI删除别名,然后重新部署,这将为新的KMS密钥创建别名。
CloudFormation堆栈是否可以使用初始部署中的现有KMS密钥?
另外:我还不清楚100%更改别名已更改的S3存储桶中的加密数据会发生什么情况,AWS是否知道会自动查找以前使用其加密的KMS密钥,还是会进行重新加密?
我建议您有一个仅创建KMS并将其值导出到输出的 Stack :
Resources:
KmsKey:
Type: AWS::KMS::Key
Properties:
...
Outputs:
S3KmsKeyId:
Description: The KMS Key used
Value: !Ref KmsKey
Export:
Name: S3KmsKeyId
Run Code Online (Sandbox Code Playgroud)
然后,您可以拥有另一个仅创建S3存储桶的堆栈,在其中您可以引用导出的值:
Resources:
S3Bucket:
Type: AWS::S3::Bucket
Properties:
...
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
KMSMasterKeyID: !ImportValue S3KmsKeyId
SSEAlgorithm: aws:kms
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |