使用 CloudFormation 将默认 KMS 密钥授予 IAM 角色
Grant usage of default KMS keys to IAM Roles with CloudFormation
我们有许多通过 bash 脚本自动化创建的 SecureString SSM Parameter Store 值。它们使用特定于环境的 KMS 密钥 + 通过 CloudFormation 创建的别名进行加密。
模板中还有我们 EC2 实例的 IAM 角色,需要允许检索和解密 SSM 参数。为了实现这一点,我们通过引用角色 ARN 作为原则,在创建 KMS 密钥时授予对这些 IAM 角色的访问权限。
但是,我们的 AWS 帐户上有一些非特定于环境的 SSM 变量,这些变量在我们的环境 CloudFormation 堆栈之外持续存在,并被所有环境使用。
我们最近调整了这些参数,以便使用 默认 KMS 密钥 进行加密 -- alias/aws/ssm
。
这种方法会导致自动化方面的问题,因为我们需要将 default KMS 密钥的使用授权给我们在 CloudFormation 中的 IAM 角色。我已阅读 AWS 文档,但无法找到执行此操作的方法。
有没有人设法自动化这个?
默认 KMS 密钥 alias/aws/ssm
是 AWS 管理的 CMK。我们无法为 AWS 托管 CMK 建立 IAM 策略或 KMS 密钥策略。
摘自AWS KMS FAQ、
AWS will manage the policies associated with AWS managed CMKs on your
behalf. You can track AWS managed keys in your account and all usage
is logged in AWS CloudTrail, but you have no direct control over the
keys themselves.
您不必担心为访问 alias/aws/ssm
密钥定义 IAM 角色,访问所需的 SSM 参数就足够了。
我们有许多通过 bash 脚本自动化创建的 SecureString SSM Parameter Store 值。它们使用特定于环境的 KMS 密钥 + 通过 CloudFormation 创建的别名进行加密。
模板中还有我们 EC2 实例的 IAM 角色,需要允许检索和解密 SSM 参数。为了实现这一点,我们通过引用角色 ARN 作为原则,在创建 KMS 密钥时授予对这些 IAM 角色的访问权限。
但是,我们的 AWS 帐户上有一些非特定于环境的 SSM 变量,这些变量在我们的环境 CloudFormation 堆栈之外持续存在,并被所有环境使用。
我们最近调整了这些参数,以便使用 默认 KMS 密钥 进行加密 -- alias/aws/ssm
。
这种方法会导致自动化方面的问题,因为我们需要将 default KMS 密钥的使用授权给我们在 CloudFormation 中的 IAM 角色。我已阅读 AWS 文档,但无法找到执行此操作的方法。
有没有人设法自动化这个?
默认 KMS 密钥 alias/aws/ssm
是 AWS 管理的 CMK。我们无法为 AWS 托管 CMK 建立 IAM 策略或 KMS 密钥策略。
摘自AWS KMS FAQ、
AWS will manage the policies associated with AWS managed CMKs on your behalf. You can track AWS managed keys in your account and all usage is logged in AWS CloudTrail, but you have no direct control over the keys themselves.
您不必担心为访问 alias/aws/ssm
密钥定义 IAM 角色,访问所需的 SSM 参数就足够了。