amazon-web-services - 通过 CloudFormation 将默认 KMS 密钥的使用权授予 IAM 角色
问题描述
我们有许多通过 bash 脚本自动化创建的 SecureString SSM 参数存储值。这些使用特定于环境的 KMS 密钥 + 通过 CloudFormation 创建的别名进行加密。
模板中还有我们 EC2 实例的 IAM 角色,它们需要允许检索和解密 SSM 参数。为此,我们在创建 KMS 密钥时通过将其角色 ARN 引用为原则来授予对这些 IAM 角色的访问权限。
但是,我们的 AWS 账户上有一些非特定于环境的 SSM 变量,这些变量在我们的环境 CloudFormation 堆栈之外持续存在,并被所有环境使用。
我们最近调整了这些参数以使用默认 KMS 密钥进行加密- alias/aws/ssm
。
这种方法会导致自动化方面的问题,因为我们需要将默认KMS 密钥的使用权限授予 CloudFormation 中的 IAM 角色。我已阅读 AWS 文档,但无法找到这样做的方法。
有没有人设法自动化这个?
解决方案
默认 KMS 密钥alias/aws/ssm
是 AWS 托管 CMK。我们无法为 AWS 托管 CMK 建立 IAM 策略或 KMS 密钥策略。
摘自AWS KMS 常见问题,
AWS 将代表您管理与 AWS 托管 CMK 关联的策略。您可以在您的账户中跟踪 AWS 托管密钥,并且所有使用情况都记录在 AWS CloudTrail 中,但您无法直接控制密钥本身。
您不必担心定义 IAM 角色来访问alias/aws/ssm
密钥,访问所需的 SSM 参数就足够了。
推荐阅读
- azure-ad-b2c - 将多个 Okta 目录集成到同一个 AADB2C 租户中
- java - 用Java读取后二进制文件的大小变化
- ssl - Apache 错误 AH00526:000-default.conf 第 3 行的语法错误,缺少重定向 URL
- ajax - 检测到错误时创建 Tabulator 回调
- .net - 带有用户输入的倒数计时器
- ruby-on-rails - 使用 ActiveModel 属性模拟 SQL 表
- reactjs - 无法从函数设置状态
- scikit-learn - Statsmodels + var_weights + cross_val_score
- html - 更改文本框的字体大小会更改边距
- swiftui - SwiftUI - 有没有办法在不覆盖子视图的任何手势的情况下向视图添加手势?