文档首页 > > 用户指南> 企业中心> 权限管理> 策略语法:细粒度策略

策略语法:细粒度策略

分享
更新时间: 2020/01/16 GMT+08:00

策略是以JSON格式描述权限集的语言。默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。

策略语法

在IAM左侧导航窗格中,单击“策略”,单击策略名称,可以查看策略的详细内容,以“EnterpriseProject_BSS_Administrator”为例,说明细粒度策略的语法。

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "bss:enterpriseProjectFundQuota:view",
                "bss:enterpriseProjectFundQuotaFinance:view",
                "bss:renewal:view",
                "bss:renewal:update",
                "bss:order:view",
                "bss:order:update",
                "bss:unsubscribe:update",
                "bss:bill:view",
                "bss:bill:update",
                "bss:billDetail:view",
                "bss:billDetail:update",
                "bss:consumption:view",
                "bss:consumption:update"
            ],
            "Effect": "Allow"
        }
    ]
}
  • 作用范围:策略的生效范围,该策略需要在除全局区域外的其他区域中授权。
  • Version:策略的版本号,RBAC策略版本为“1.0”,细粒度策略版本为“1.1”。
  • Statement:策略的授权语句,包含Action(授权项)和Effect(作用),Action和Effect结合构成用户具备的权限。
    • Action(授权项):操作权限,格式为:服务名:资源类型:操作,支持单个或多个操作权限,支持通配符号*,通配符号*表示所有。

      示例:

      • "bss:renewal:view":表示续费查看权限,其中bss为服务名,renewal为资源类型,view为操作。
      • "bss:order:update":表示订单操作权限,其中bss为服务名,order为资源类型,update为操作。
    • Effect(作用):定义Action中的操作权限是否允许执行。Allow:允许;Deny:拒绝。

      系统预置策略仅包含允许的授权语句,自定义策略中可以同时包含允许和拒绝的授权语句,同一个Action的Effect如果既有Allow又有Deny时,遵循Deny优先的原则。

策略结构

策略结构包括:Version(策略版本号)和Statement(策略权限语句),其中Statement可以有多个,表示不同的授权项。

图1 策略结构

检查规则

用户在发起访问请求时,系统根据用户被授予的访问策略中的action进行鉴权判断。检查规则如下:

图2 系统鉴权逻辑图

  1. 用户发起访问请求。
  2. 系统在用户被授予的策略中寻找请求对应的action,优先寻找Deny指令。如果找到一个适用的Deny指令,系统将返回Deny决定。
  3. 如果没有找到Deny指令,系统将寻找适用于请求的任何Allow指令。如果找到一个Allow指令,系统将返回Allow决定。
  4. 如果找不到Allow指令,最终决定为Deny,鉴权结束。
分享:

    相关文档

    相关产品

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

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区