博客园  :: 首页  :: 管理

有时我们需要通过命令行去创建Policy,可以使用如下aws cli命令

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的arn格式为:arn:aws-cn:iam::123456789215:policy/policy-operator-role-2023-03-31

注意:如果--policy-name 名称存在,则会报错,因此此命令成功后,再执行就会有报错,A policy called xxxx already exists

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17277615.html