簡體   English   中英

AWS CLI 檢索新創建的策略的 ARN

[英]AWS CLI retrieve the ARN of the newly created policy

我想創建一個 IAM 策略並使用 AWS 命令行界面將其附加到某個 IAM 角色。

創建策略非常簡單:

aws iam create-policy --policy-name "${policy_name}" --policy-document file://policy.json

但是要將新創建的策略附加到目標角色,我必須知道該策略的 ARN:

aws iam attach-role-policy --role-name "${role_name}" --policy-arn "${policy_arn}"

檢索新創建策略的 ARN 的正確方法是什么?

現在我正在使用policy_nameaccount_id自己構建policy_arn

policy_arn=arn:aws:iam::"${account_id}":policy/"${policy_name}"

這就是我檢索account_id的方式:

account_id=$(aws ec2 describe-security-groups --query 'SecurityGroups[0].OwnerId' --output text)

然而,這感覺很hacky。

有沒有更好的方法來找出創建的策略的 ARN?

如果將--output text添加到create-policy ,它將打印ARN。

aws iam create-policy --policy-name "${policy_name}" --policy-document file://policy.json --output text

您可以獲取政策及其ARN:

aws iam list-policies --query 'Policies[*].[PolicyName, Arn]' --output text

僅針對一個策略獲取ARN:

aws iam list-policies --query 'Policies[?PolicyName==`FullAccess`].Arn' --output text

輸出:

arn:aws:iam::aws:policy/FullAccess

你也可以試試這個

POLICY_ARN=$(aws iam create-policy --policy-name xxx --policy-document file://xxx.json --output text --query Policy.Arn)

暫無
暫無

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

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