更新时间:2023-04-13 gmt 08:00
自定义策略使用样例-九游平台
配合较高权限系统策略使用
如果您给iam用户授予较高权限的系统策略,例如“fullaccess” ,但不希望iam用户拥有某个服务的权限,例如云审计服务。您可以创建一个自定义策略,并将自定义策略的effect设置为deny,然后将较高权限的系统策略和自定义策略同时授予用户,根据deny优先原则,则授权的iam用户除了云审计服务,可以对其他所有服务执行所有操作。
以下策略样例表示:拒绝iam用户使用云审计服务。
{ "version": "1.1", "statement": [ { "effect": "deny", "action": [ "cts:*:*" ] } ] }

- action为授权项,格式为:服务名:资源类型:操作。
"cts:*:*":表示对云审计的所有操作。其中cts为服务名;“*”为通配符,表示对所有的资源类型可以执行所有操作。
- effect为作用,deny表示拒绝,allow表示允许。
配合单个服务系统策略使用
- 如果您给iam用户授予单个服务系统策略,例如“bms fullaccess”,但不希望用户拥有bms fullaccess中的创建裸金属服务器权限(bms:servers:create),可以创建一条相同action的自定义策略,并将自定义策略的effect设置为deny,然后将系统策略bms fullaccess和自定义策略同时授予用户,根据deny优先原则,则用户可以对bms执行除了创建裸金属服务器外的所有操作。
以下策略样例表示:拒绝iam用户创建裸金属服务器。
{ "version": "1.1", "statement": [ { "effect": "deny", "action": [ "bms:servers:create" ] } ] }
- 如果您给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、apm外的其他所有服务。
{ "version": "1.1", "statement": [ { "effect": "allow", "action": [ "*:*:*" ] }, { "action": [ "ecs:*:*", "evs:*:*", "vpc:*:*", "elb:*:*", "aom:*:*", "apm:*:*" ], "effect": "deny" } ] }
父主题: 自定义策略
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨