[英]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_name
和account_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.