【发布时间】:2020-03-31 01:23:53
【问题描述】:
我有两个 AWS 帐户:一个用于保存我的机密的帐户,一个用于部署我的 cloudformation 堆栈的帐户。我正在使用 cloudformation 将我的基础架构部署为代码,并拥有一个非常简单的 CD 管道:
- 部署到我的开发堆栈
- 等待批准
- 销毁开发堆栈
- 部署到我的生产堆栈
在我的堆栈中创建的 EC2 实例依赖于启动期间的机密。我想将秘密 ARN 添加到我的 EC2 userdata 脚本中,然后在执行 userdata 脚本时使用 AWS 命令行检索秘密值。
我的 EC2 实例使用的 IAM 服务角色也是作为我的 cloudformation 脚本的一部分创建的。因此,在堆栈启动之前,IAM 角色 ARN 是未知的。我发现自己陷入了一个问题 22:在授予对我的秘密的访问权限之前,我无法启动我的堆栈,但我无法授予对我的秘密的访问权限,因为资源策略中的 Principal 不接受通配符。
有人知道我如何能够为我的秘密创建一个不需要事先知道 IAM 角色 ARN 的秘密管理器资源策略吗?或者还有其他想法?
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-cloudformation amazon-iam aws-secrets-manager