策略语法:RBAC
当企业中多个团队需要共同使用DWS时,不同角色的用户需要不同的操作权限。支持通过RBAC(Role-Based Access Control,基于角色的访问控制)策略,可以为不同用户组分配不同的权限,实现精细化的访问控制。本文介绍DWS RBAC的语法结构,帮助您理解和管理策略。
策略结构
策略结构包括:策略版本号(Version)、策略授权语句(Statement)和策略依赖(Depends)。
| 参数 | 含义 | 值 | |
|---|---|---|---|
| Version | 标识策略的版本号。 | 固定为“1.0”。RBAC策略是将服务作为一个整体进行授权,授权后,用户可以拥有这个服务的所有权限。 | |
| Statement(策略授权语句) | Action | 定义对DWS的具体操作。 | 格式为:服务名:资源类型:操作 "dws:dws:*",表示对DWS的所有操作,其中dws为服务名称;“*”为通配符,表示对所有DWS的资源类型可以执行所有操作。 |
| Effect | 定义Action中所包含的具体操作是否允许执行,包含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中声明的依赖权限是否已授予。
{
"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)
- DWS数据库权限管理:DWS数据库权限管理
- 统一身份认证权限:IAM权限基本概念