簡體   English   中英

如何在CloudFormation中生成AWS根賬戶ARN?

[英]How to generate the AWS root account ARN in CloudFormation?

情況

我正在CloudFormation中生成一個KMS密鑰。 根據KMS策略文檔 ,至關重要的是創建一個以Principal為帳戶本身的策略,以便IAM策略能夠授予對密鑰的訪問權限。

問題

如何在CloudFormation中為帳戶根創建ARN?

答案

{  
   "Fn::Join":[  
      ":",
      [  
         "arn:aws:iam:",
         {  
            "Ref":"AWS::AccountId"
         },
         "root"
      ]
   ]
}

為什么這樣做?

首先,讓我們檢查"Ref":"AWS::AccountId" 這是一個偽參數引用 ,這是一種很好的說法,它是CloudFormation附帶的一個參數。 有許多這樣的參數。 這恰好為我們提供了帳戶ID,這對於構建ARN至關重要。

現在,剩下的就是使用此帳戶ID創建ARN。 Fn::Join只是CloudFormation內置的 ,允許串聯字符串。 當我們在此處將引用與字符串常量(或其他引用)組合在一起時,這一點至關重要。

結果是...

arn:aws:iam::123456789012:root

對於將YAML用作CloudFormation模板的用戶:

!Sub arn:aws:iam::${AWS::AccountId}:root

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM