你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
主体通过基于角色的访问控制模型授予对资源的访问权限,其中分配的安全角色决定了其资源访问权限。
当主体尝试作时,系统会执行授权检查,以确保主体与至少一个安全角色相关联,该角色授予执行该作的权限。 授权检查失败会中止作。
本文中列出的管理命令可用于管理数据库、表、外部表、具体化视图和函数上的主体及其安全角色。
注释
安全角色AllDatabasesAdminAllDatabasesViewer不能使用安全角色管理命令进行配置。 它们分别由 Admin 工作区中的角色和 Viewer 角色继承。
注释
三个 AllDatabasesAdmin群集级安全角色, AllDatabasesViewer不能 AllDatabasesMonitor 使用安全角色管理命令进行配置。
若要了解如何在 Azure 门户中配置它们,请参阅 “管理群集权限”。
管理命令
下表描述了用于管理安全角色的命令。
| 指令 | DESCRIPTION |
|---|---|
.show |
列出具有给定角色的主体。 |
.add |
向角色添加一个或多个主体。 |
.drop |
从角色中删除一个或多个主体。 |
.set |
将角色设置为特定主体列表,删除所有以前的主体。 |
安全角色
下表描述了为每个角色授予的访问权限级别,并显示一个检查是否可以在给定的对象类型中分配角色。
| 角色 | 权限 | 数据库 | 表格 | 外部表 | 具体化视图 | Functions |
|---|---|---|---|---|---|---|
admins |
查看、修改和删除对象和子对象。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
users |
查看对象并创建新的子对象。 | ✔️ | ||||
viewers |
查看未打开 RestrictedViewAccess 的对象。 | ✔️ | ||||
unrestrictedviewers |
即使启用了 RestrictedViewAccess, 也查看对象。 主体还必须具有adminsviewers或users权限。 |
✔️ | ||||
ingestors |
将数据引入对象,而无需访问查询。 | ✔️ | ✔️ | |||
monitors |
查看架构、作和权限等元数据。 | ✔️ |
有关每个范围内安全角色的完整说明,请参阅 Kusto 基于角色的访问控制。
注释
无法仅为数据库中的某些表分配 viewer 角色。 有关如何授予主体视图对表子集的访问权限的不同方法,请参阅 管理表视图访问权限。
常见应用场景
显示主体角色
若要查看群集上自己的角色,请运行以下命令:
若要在 eventhouse 上查看自己的角色,请运行以下命令:
.show cluster principal roles
在资源上显示角色
若要检查分配给特定资源的角色,请在相关数据库或包含该资源的数据库中运行以下命令:
// For a database:
.show database DatabaseName principal roles
// For a table:
.show table TableName principal roles
// For an external table:
.show external table ExternalTableName principal roles
// For a function:
.show function FunctionName principal roles
// For a materialized view:
.show materialized-view MaterializedViewName principal roles
显示资源上所有主体的角色
若要查看分配给特定资源的所有主体的角色,请在相关数据库或包含该资源的数据库中运行以下命令:
// For a database:
.show database DatabaseName principals
// For a table:
.show table TableName principals
// For an external table:
.show external table ExternalTableName principals
// For a function:
.show function FunctionName principals
// For a materialized view:
.show materialized-view MaterializedViewName principals
小窍门
使用 where 运算符按特定主体或角色筛选结果。
重要
如果主体与用户位于同一租户中,则显示其完全限定名称(FQN)。
如果主体位于与用户不同的租户中:
- 显示名称不显示 FQN。
- 显示名称指示主体来自不同租户。 格式为
[User/Group/Application] from AAD tenant [Tenant Id]。 - 若要添加标识信息,请在其租户中为主体分配角色,并使用
Description参数添加标识详细信息。 输出Description的 “备注 ”列中显示。
修改角色分配
有关如何在数据库和表级别修改角色分配的详细信息,请参阅“管理数据库安全角色”和“管理表安全角色”。