安全角色概述

使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息
适用于:✅ Azure Data Explorer

主体通过基于角色的access control模型向资源授予access,其中分配的安全角色决定了其资源access。

当某个主体尝试执行某个操作时,系统会执行授权检查,以确保该主体与至少一个授权执行该操作的安全角色相关联。 授权检查失败会中止该操作。

本文中列出的管理命令可用于管理主体及其在数据库、表、外部表、具体化视图和函数上的安全角色。

Note

三个 AllDatabasesAdmin群集级安全角色, AllDatabasesViewer不能 AllDatabasesMonitor 使用安全角色管理命令进行配置。

若要了解如何在Azure portal中配置它们,请参阅 Manage 群集权限

管理命令

下表描述了用于管理安全角色的命令。

Command Description
.show 列出具有给定角色的主体。
.add 将一个或多个主体添加到角色。
.drop 从角色中删除一个或多个主体。
.set 将角色设置为特定主体列表,并删除所有以前的主体。

安全角色

下表描述了为每个角色授予的access级别,并显示一个检查是否可以在给定的对象类型中分配角色。

Role Permissions Databases Tables 外部表 具体化视图 Functions
admins 查看、修改和删除对象及子对象。 ✔️ ✔️ ✔️ ✔️ ✔️
users 查看对象和创建新的子对象。 ✔️
viewers 查看未打开 RestrictedViewAccess 的对象。 ✔️
unrestrictedviewers 查看打开 RestrictedViewAccess 的对象。 主体还必须拥有 adminsviewersusers 权限。 ✔️
ingestors 在不access查询的情况下将数据引入对象。 ✔️ ✔️
monitors 查看架构、操作和权限等元数据。 ✔️

有关每个范围内安全角色的完整说明,请参阅 Kusto 基于角色的 access control

Note

无法仅为数据库中的某些表分配 viewer 角色。 有关如何向表子集授予主体视图access的不同方法,请参阅管理表视图access

常见应用场景

显示主体角色

若要查看你在群集上的角色,请运行以下命令:

.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

Tip

使用 where 运算符按特定主体或角色筛选结果。

Important

  • 如果主体与用户位于同一租户中,则显示其完全限定名称(FQN)。

  • 如果主体位于与用户不同的租户中:

    • 显示名称不显示 FQN。
    • 显示名称指示主体来自不同租户。 格式为 [User/Group/Application] from AAD tenant [Tenant Id]
    • 若要添加标识信息,请在其租户中为主体分配角色,并使用 Description 参数添加标识详细信息。 输出 Description“备注 ”列中显示。

修改角色分配

有关如何在数据库和表级别修改角色分配的详细信息,请参阅管理数据库安全角色管理表安全角色