有时我们需要通过命令行去创建Policy,可以使用如下命令,
aws --profile 123 iam create-policy --policy-name policy-operator-role-2023-03-31 --policy-document file://author-qq-5201351.json
注意:最后指定的--policy-document 文件,格式为json,就和在页面中看到的policy格式是一样的~
如果权限不够,就会报错:
An error occurred (AccessDenied) when calling the CreatePolicy operation: User: arn:aws-cn:sts::123456789215:assumed-role/aaaa-cmdb/botocore-session-1680270102 is not authorized to perform: iam:CreatePolicy on resource: policy policy-operator-role-2023-03-31 because no identity-based policy allows the iam:CreatePolicy action
通过报错:我们可以很容易看到需要为指定的role或者用户添加上iam:CreatePolicy权限即可,这里笔者为role添加上一个policy,内容如下:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "iam:CreatePolicy", "Resource": "*" } ] }
这样,就可以通过最前面的命令创建IAM中的policy了,不需要其他任何IAM的权限都是可以的
注意:如果--policy-name 名称存在,则会报错,因此此命令成功后,再执行就会有报错,A policy called xxxx already exists
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17277615.html
标签:IAM,iam,cli,--,policy,role,CreatePolicy,Policy From: https://www.cnblogs.com/5201351/p/17277615.html