更新时间:2026-08-25 GMT+08:00
分享

策略语法:RBAC

当企业中多个团队需要共同使用DWS时,不同角色的用户需要不同的操作权限。支持通过RBAC(Role-Based Access Control,基于角色的访问控制)策略,可以为不同用户组分配不同的权限,实现精细化的访问控制。本文介绍DWS RBAC的语法结构,帮助您理解和管理策略。

策略结构

策略结构包括:策略版本号(Version)、策略授权语句(Statement)和策略依赖(Depends)。

图1 RBAC策略结构
表1 RBAC策略结构说明

参数

含义

Version

标识策略的版本号。

固定为“1.0”。RBAC策略是将服务作为一个整体进行授权,授权后,用户可以拥有这个服务的所有权限。

Statement(策略授权语句)

Action

定义对DWS的具体操作。

格式为:服务名:资源类型:操作

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

Effect

定义Action中所包含的具体操作是否允许执行,包含Allow(允许)和Deny(拒绝)。

  • 系统预置策略仅包含Allow(允许)的授权语句。
  • 自定义策略中可以同时包含Allow(允许)和Deny(拒绝)的授权语句。
  • 当策略中既有Allow(允许)又有Deny(拒绝)的授权语句时,遵循Deny(拒绝)优先的原则,检查规则请参见检查规则
  • Allow:允许执行。
  • Deny:不允许执行。

Depends

catalog

依赖的其他策略的所属目录。

服务名称

例如:BASE(表示基础服务目录,包含服务器和租户级别的基础权限)

display_name

依赖的其他权限的名称。

权限名称

例如:Server Administrator

策略语法

给用户组选择策略时,单击策略下方的,可以查看策略的详细内容,以“DWS Administrator”为例,说明RBAC策略的语法。

在使用RBAC鉴权时要注意“Depends”参数,使用时要把依赖的其他权限同时授予。例如“DWS Administrator”权限使用时依赖“Server Administrator”以及“Tenant Guest”,在给用户授权时要同时把依赖的两个权限授予用户。当用户请求执行DWS操作时,系统首先检查用户所属用户组的RBAC策略,验证Statement中的Action是否包含请求的操作,同时检查Depends中声明的依赖权限是否已授予。

图2 RBAC策略语法

{
        "Version": "1.0",
        "Statement": [
                {
                        "Effect": "Allow",
                        "Action": [
                                "dws:dws:*"
                        ]
                }
        ],
        "Depends": [
                {
                        "catalog": "BASE",
                        "display_name": "Server Administrator"
                },
                {
                        "catalog": "BASE",
                        "display_name": "Tenant Guest"
                }
        ]
}

相关文档

相关文档