CDKとかCloudFormation使うときにたまに使いますが、いちいち調べに行くのも面倒なので、調べ方+現時点におけるManagedPolicyのリストを載せて起きます。
リストアップするコマンド
aws iam list-policies --only-attached |\
jq -r '.Policies[] |
select(.Arn | startswith("arn:aws:iam::aws:policy") ) |
.PolicyName'
jqでPolicyNameのみとりだしてるので、全情報ほしければ
aws iam list-policies --only-attached |\
jq -r '.Policies[] |
select(.Arn | startswith("arn:aws:iam::aws:policy") )'
特定の名前のものだけフィルターしたければ
aws iam list-policies --only-attached |\
jq -r '.Policies[] |
select(.Arn | startswith("arn:aws:iam::aws:policy")) |
select(.PolicyName | contains("S3"))'
PolicyNameとArnのみ残したJson化
aws iam list-policies --only-attached |\
jq -r '[
.Policies[] |
select(.Arn | startswith("arn:aws:iam::aws:policy")) |
{ PolicyName: .PolicyName, Arn: .Arn}
]' \
> policies.json
現時点のManagedPolicyの一覧
補足
ManagedPolicyのNameを指定するときに、ARNのpolicy/の後が、arn:aws:iam::aws:policy/aws-service-role/XXX
やarn:aws:iam::aws:policy/service-role/YYY
となっている場合は、aws-service-role/XXX
やservice-role/YYY
と指定する必要があります。名前だけを渡すとそんなManagedPolicy存在しないと怒られるので、AWS Consoleとかからコピペって来た場合は、ARNの前部分を確認してみてください。