如何在启用默认 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]

如何在启用TDE的情况下查询Cassandra中的敏感数据?

如何启用Oracle EBS Form监控

AWS RDS启用数据加密(创建时未启用情况下)

阿里一面:Spring Bean 默认是单例的,高并发情况下,如何保证并发安全?