# 策略语法：RBAC
当企业中多个团队需要共同使用DWS时，不同角色的用户需要不同的操作权限。支持通过RBAC（Role-Based Access Control，基于角色的访问控制）策略，可以为不同用户组分配不同的权限，实现精细化的访问控制。本文介绍DWS RBAC的语法结构，帮助您理解和管理策略。
#### 策略结构
策略结构包括：策略版本号（Version）、策略授权语句（Statement）和策略依赖（Depends）。
图1RBAC策略结构   
![](https://support.huaweicloud.com/mgtg-dws/figure/zh-cn_image_0000002587225794.jpg)
表1RBAC策略结构说明 
| 参数                                                                            || 含义                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 值                                                                                                                                                                                                                                 |
|:---|---|:---|:---|
| Version                                                                      || 标识策略的版本号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 固定为**"1.0"**。RBAC策略是将服务作为一个整体进行授权，授权后，用户可以拥有这个服务的所有权限。                                                                                                                                                                             |
| Statement（策略授权语句） | Action       | 定义对DWS的具体操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 格式为：**服务名:资源类型:操作** **"dws:dws:\*"** ，表示对DWS的所有操作，其中dws为服务名称；**"\*"**为通配符，表示对所有DWS的资源类型可以执行所有操作。                                                                                        |
| Statement（策略授权语句） | Effect     | 定义Action中所包含的具体操作是否允许执行，包含Allow（允许）和Deny（拒绝）。 - 系统预置策略仅包含Allow（允许）的授权语句。  - 自定义策略中可以同时包含Allow（允许）和Deny（拒绝）的授权语句。  - 当策略中既有Allow（允许）又有Deny（拒绝）的授权语句时，遵循Deny（拒绝）优先的原则，检查规则请参见[检查规则](https://support.huaweicloud.com/mgtg-dws/dws_01_0149.html#ZH-CN_TOPIC_0000002587065578__section2535187182613)。   | - Allow：允许执行。  - Deny：不允许执行。   |
| Depends         | catalog     | 依赖的其他策略的所属目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 服务名称 例如：BASE（表示基础服务目录，包含服务器和租户级别的基础权限）                                                                                                                                            |
| Depends         | display_name | 依赖的其他权限的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 权限名称 例如：Server Administrator                                                                                                                                                        |
   
#### 策略语法
给用户组选择策略时，单击策略下方的![](https://support.huaweicloud.com/mgtg-dws/figure/zh-cn_image_0000002617625569.png)，可以查看策略的详细内容，以**"DWS Administrator"**为例，说明RBAC策略的语法。
在使用RBAC鉴权时要注意**"Depends"** 参数，使用时要把依赖的其他权限同时授予。例如**"DWS Administrator"** 权限使用时依赖**"Server Administrator"** 以及**"Tenant Guest"**，在给用户授权时要同时把依赖的两个权限授予用户。当用户请求执行DWS操作时，系统首先检查用户所属用户组的RBAC策略，验证Statement中的Action是否包含请求的操作，同时检查Depends中声明的依赖权限是否已授予。
图2RBAC策略语法   
![](https://support.huaweicloud.com/mgtg-dws/figure/zh-cn_image_0000002587065880.png "点击放大")
```
{
        "Version": "1.0",
        "Statement": [
                {
                        "Effect": "Allow",
                        "Action": [
                                "dws:dws:*"
                        ]
                }
        ],
        "Depends": [
                {
                        "catalog": "BASE",
                        "display_name": "Server Administrator"
                },
                {
                        "catalog": "BASE",
                        "display_name": "Tenant Guest"
                }
        ]
}
```
#### 相关文档
- RBAC策略最佳实践：[DWS基于角色的权限管理(RBAC)](https://support.huaweicloud.com/bestpractice-dws/dws_05_0081.html)
- DWS数据库权限管理：[DWS数据库权限管理](https://support.huaweicloud.com/devg-dws/dws_04_0054.html)
- 统一身份认证权限：[IAM权限基本概念](https://support.huaweicloud.com/usermanual-iam/iam_01_0602.html)
 
