文档首页 > > 用户指南> 权限> 自定义策略> 自定义策略使用样例

自定义策略使用样例

分享
更新时间:2020/09/25 GMT+08:00

配合较高权限系统策略使用

如果您给IAM用户授予较高权限的系统策略,例如“FullAccess” ,但不希望IAM用户拥有某个服务的权限,例如费用中心。您可以创建一个自定义策略,并将自定义策略的Effect设置为Deny,然后将较高权限的系统策略和自定义策略同时授予用户,根据Deny优先原则,则授权的IAM用户除了费用中心,可以对其他所有服务执行所有操作。

以下策略样例表示:拒绝IAM用户使用费用中心。

{
    "Version": "1.1",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                    "bss:*:*"
            ]
        }
    ]
}
  • Action为授权项,格式为:服务名:资源类型:操作。

    "bss:*:*":表示对费用中心的所有操作。其中bss为服务名;“*”为通配符,表示对所有的资源类型可以执行所有操作。

  • Effect为作用,Deny表示拒绝,Allow表示允许。

配合单个服务系统策略使用

  • 如果您给IAM用户授予单个服务系统策略,例如“ECS FullAccess”,但不希望用户拥有ECS FullAccess中的删除云服务器权限(ecs:cloudServers:delete),可以创建一条相同Action的自定义策略,并将自定义策略的Effect设置为Deny,然后将系统策略ECS FullAccess和自定义策略同时授予用户,根据Deny优先原则,则用户可以对ECS执行除了删除云服务器外的所有操作。

    以下策略样例表示:拒绝IAM用户删除云服务器。

    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Deny",
                "Action": [
                        "ecs:cloudServers:delete"
                ]
            }
        ]
    }
  • 如果您给IAM用户授予“OBS ReadOnlyAccess”权限,但不希望部分用户操作指定OBS资源(例如,不希望用户名以“TestUser”开头的用户查看以“TestBucket”命名开头的桶),可以再创建一条自定义策略来指定特定的资源,并将自定义策略的Effect设置为Deny,然后将OBS ReadOnlyAccess和自定义策略同时授予用户。根据Deny优先原则,则用户可以对以“TestBucket”命名开头之外的桶进行查看操作。
    以下策略样例表示:拒绝以TestUser命名开头的用户查看以TestBucket命名开头的桶。
    {
            "Version": "1.1",
            "Statement": [
                    {
                            "Effect": "Deny",
                            "Action": [
                                    "obs:bucket:ListAllMybuckets",
                                    "obs:bucket:HeadBucket",
                                    "obs:bucket:ListBucket",
                                    "obs:bucket:GetBucketLocation"
                            ],
                            "Resource": [
                                "obs:*:*:bucket:TestBucket*"
                            ],
                            "Condition": {
                                "StringStartWith": {
                                    "g:UserName": [
                                        "TestUser"
                        ]
                    }
                }
                    }
            ]
    }

当前华为云仅部分服务支持资源级授权,例如OBS 对象存储服务;对于不支持资源级别授权的服务,若自定义策略中含有资源类型,则无法创建成功。

完全使用自定义策略

您也可以不使用系统策略,只创建自定义策略,实现IAM用户的指定服务授权。

  • 以下策略样例表示:仅允许IAM用户使用ECS、EVS、VPC、ELB、AOM
    {
            "Version": "1.1",
            "Statement": [
                    {
                            "Effect": "Allow"
                            "Action": [
                                    "ecs:*:*",
                                    "evs:*:*",
                                    "vpc:*:*",
                                    "elb:*:*",
                                    "aom:*:*"
                            ],
                    }
            ]
    }
  • 以下策略样例表示:允许特定IAM用户(以TestUser命名开头)删除特定OBS对象(my-bucket桶my-object目录下的所有对象)。
    {
            "Version": "1.1",
            "Statement": [
                    {
                            "Effect": "Allow",
                            "Action": [
                                "obs:object:DeleteObject"
                            ],
                            "Resource": [
                                "obs:*:*:object:my-bucket/my-object/*"
                            ],
                            "Condition": {
                                "StringStartWith": {
                                    "g:UserName": [
                                        "TestUser"
                        ]
                    }
            ]
    }
  • 以下策略样例表示:允许IAM用户使用除了ECS、EVS、VPC、ELB、AOM外的其他所有服务。
    {
            "Version": "1.1",
            "Statement": [
                    {
                            "Effect": "Allow"
                            "Action": [
                                    "*:*:*"
                            ],
                    },
                    {
                            "Action": [
                                    "ecs:*:*",
    				"evs:*:*", 
    				"elb:*:*", 
    				"aom:*:*", 
    				"apm:*:*"
                            ],
                            "Effect": "Deny"
                    }
            ]
    }
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问