如何在启用默认 EBS 加密的情况下使用 Beanstalk?
Posted
技术标签:
【中文标题】如何在启用默认 EBS 加密的情况下使用 Beanstalk?【英文标题】:How to use Beanstalk with default EBS encrpytion enabled? 【发布时间】:2019-12-30 20:49:41 【问题描述】:我最近启用了此处提到的默认 ebs 加密:https://aws.amazon.com/blogs/aws/new-opt-in-to-default-encryption-for-new-ebs-volumes/。之后,当尝试启动 beanstalk 实例时,我得到一个通用的“ClientError”并且该实例立即终止。如果我禁用默认加密,它可以正常工作。
有谁知道要让 beanstalk 使用客户管理的加密密钥需要进行哪些更改?我怀疑这是一个权限问题,所以我暂时为 beanstalk 角色提供了完全的管理员访问权限,但这并没有解决问题。我还有什么遗漏的吗?
我看到了这个related question,但它是在默认 EBS 加密发布之前,我希望避免手动复制和加密 AMI...
【问题讨论】:
您使用的是默认加密密钥还是自定义 KMS 密钥? 自定义 KMS 密钥 【参考方案1】:如果您使用自定义 CMK,则必须更新密钥策略并明确分配权限。对于 EBS 加密,委托人通常需要以下权限:
kms:CreateGrant kms:加密 kms:解密 kms:重新加密* kms:GenerateDataKey* kms:DescribeKey解决关键权限问题的最佳方法是检查 Cloudtrail 事件历史记录。按事件源过滤事件,检查是否有“拒绝访问”错误。
过滤器:事件来源:kms.amazonaws.com
您可以在此处查看被拒绝的操作并相应地调整密钥策略。事件中的“用户名”字段会提示您确定要在策略中使用的委托人的 ARN。
在您的情况下,服务相关角色之一很可能需要访问 KMS 密钥的权限。对于自动缩放服务相关角色的关键权限here 有一个很好的解释。
【讨论】:
谢谢。最终只需要在 KMS GUI 中的 EBS 加密密钥上添加“AutoScalingServiceRolePolicy”作为用户。有关 cloudtrail 故障排除的提示也有帮助。以上是关于如何在启用默认 EBS 加密的情况下使用 Beanstalk?的主要内容,如果未能解决你的问题,请参考以下文章
AWS OpsWorks:如何设置每层的默认 EBS 卷大小?
如何更改 cloudformation 中的默认根 EBS 大小? [AWS]