Dan*_*Dan 6 amazon-web-services aws-cloudformation amazon-iam
情况
我正在 CloudFormation 中生成 KMS 密钥。根据KMS 策略文档,创建帐户本身的策略至关重要Principal,以便 IAM 策略能够授予对密钥的访问权限。
问题
如何在 CloudFormation 中为帐户根创建 ARN?
Lau*_*ard 10
对于那些使用 YAML 作为 CloudFormation 模板的人:
!Sub arn:aws:iam::${AWS::AccountId}:root
Run Code Online (Sandbox Code Playgroud)
答案
{
"Fn::Join":[
":",
[
"arn:aws:iam:",
{
"Ref":"AWS::AccountId"
},
"root"
]
]
}
Run Code Online (Sandbox Code Playgroud)
为什么这有效?
首先,让我们检查一下这条线,"Ref":"AWS::AccountId"。这是一个伪参数引用,这是一种奇特的说法,它是 CloudFormation 开箱即用的参数。这样的参数有很多。这恰好为我们提供了帐户 ID,这对于构建 ARN 至关重要。
现在,剩下的就是使用此帐户 ID 创建 ARN。Fn::Join只是一个允许字符串串联的CloudFormation 内置组件。正如我们在这里所做的那样,当将引用与字符串常量(或其他引用)组合时,这一点至关重要。
结果就像...
arn:aws:iam::123456789012:root
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9657 次 |
| 最近记录: |