更新时间:2023-03-31 GMT+08:00

策略语法:RBAC

策略结构

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

图1 策略结构

策略语法

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

图2 DDS Administrator策略
{
        "Version": "1.0",
        "Statement": [
                {
                        "Effect": "Allow",
                        "Action": [
                                "DDS:DDS:*"
                        ],
                        "Resource": [                     
                                "DDS:*:*:instanceName:dds-*"                
                        ],
                }
        ],
        "Depends": [
                {
                        "catalog": "BASE",
                        "display_name": "Server Administrator"
                },
                {
                        "catalog": "BASE",
                        "display_name": "Tenant Guest"
                }
        ]
}
表1 参数说明

参数

含义

Version

策略的版本

固定为“1.0”。

Statement

Action

定义对DDS的具体操作。

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

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

Effect

定义Action中所包含的具体操作是否允许执行。

  • Allow:允许执行。
  • Deny:不允许执行。

Resource

定义资源粒度的鉴权

非必传,“DDS:*:*:instanceName:dds-*”表示对所有dds-开头的实例拥有配置的action权限,如果没有配置,那么默认拥有所有实例的权限

Depends

catalog

依赖的策略的所属服务。

服务名称

例如:BASE

display_name

依赖的策略的名称。

权限名称

例如:Server Administrator