基于角色的访问控制
适用于:✅Azure 数据资源管理器
Azure 数据资源管理器使用基于角色的访问控制 (RBAC) 模型,其中的主体根据为其分配的角色访问资源。 角色是为特定群集、数据库、表、外部表、具体化视图或函数定义的。 如果是为群集定义的,该角色将应用于群集中的所有数据库。 如果是为数据库定义的,该角色将应用于数据库中的所有实体。
Azure 资源管理器 (ARM) 角色(例如订阅所有者或群集所有者)会授予资源管理的访问权限。 对于数据管理,需要本文档中所述的角色。
注意
若要删除数据库,至少需要群集上的参与者 ARM 权限。 若要分配 ARM 权限,请参阅使用 Azure 门户分配 Azure 角色。
角色和权限
下表概述了在每个范围可用的角色和权限。
“权限”列显示授予每个角色的访问权限。
“依赖项”列列出了获取该行中的角色所需的最低角色。 例如,若要成为表管理员,你首先必须是“数据库用户”之类的角色,或者是拥有数据库用户权限的角色,例如数据库管理员或 AllDatabasesAdmin。 当“依赖项”列中列出了多个角色时,只需其中一个角色即可获取该角色。
“管理”列提供添加或删除角色主体的方法。
作用域 | 角色 | 权限 | 依赖项 | 管理 |
---|---|---|---|---|
群集 | AllDatabasesAdmin | 对群集中所有数据库的完全权限。 可以显示和更改某些群集级别策略。 包括所有权限。 | Azure 门户 | |
群集 | AllDatabasesViewer | 读取群集中任意数据库的所有数据和元数据。 | Azure 门户 | |
群集 | AllDatabasesMonitor | 在群集中任意数据库的上下文中执行 .show 命令。 |
Azure 门户 | |
数据库 | 管理员 | 特定数据库范围内的完全权限。 包括所有较低级别的权限。 | Azure 门户或管理命令 | |
数据库 | 用户 | 读取数据库的所有数据和元数据。 创建表和函数,并成为这些表和函数的管理员。 | Azure 门户或管理命令 | |
数据库 | 查看者 | 读取所有数据和元数据,但打开了 RestrictedViewAccess 策略的表除外。 | Azure 门户或管理命令 | |
数据库 | Unrestrictedviewer | 读取所有数据和元数据,包括打开了 RestrictedViewAccess 策略的表中的数据。 | 数据库用户或数据库查看者 | Azure 门户或管理命令 |
数据库 | 引入者 | 将数据引入到数据库的所有表中,但无权查询数据。 | Azure 门户或管理命令 | |
数据库 | 监视 | 在数据库及其子实体的上下文中执行 .show 命令。 |
Azure 门户或管理命令 | |
表 | 管理员 | 特定表范围内的完全权限。 | 数据库用户 | 管理命令 |
表 | 引入者 | 将数据引入表中,但无权查询数据。 | 数据库用户或数据库引入者 | 管理命令 |
外部表 | 管理员 | 特定外部表范围内的完全权限。 | 数据库用户或数据库查看者 | 管理命令 |
具体化视图 | 管理员 | 拥有更改视图、删除视图以及向另一个主体授予管理员权限的完全权限。 | 数据库用户或表管理员 | 管理命令 |
函数 | 管理员 | 拥有更改函数、删除函数以及向另一个主体授予管理员权限的完全权限。 | 数据库用户或表管理员 | 管理命令 |