使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息。
适用于:✅ Azure Data Explorer
主体通过基于角色的access control模型向资源授予access,其中分配的安全角色决定了其资源access。
本文介绍如何使用管理命令在表级别查看现有安全角色以及添加和删除安全角色。
注意
主体必须在数据库级别具有access才能分配特定于表的安全角色。
权限
必须至少具有 Table Admin 权限才能运行这些命令。
表级安全性
下表显示了可以在表级别分配的安全角色,并描述了为每个角色授予的权限。
| 角色 | 权限 |
|---|---|
admins |
查看、修改和删除表及表实体。 |
ingestors |
在不access查询的情况下将数据引入表。 |
注意
若要了解如何向数据库中表的子集授予主体视图access,请参阅 管理表视图access。
显示现有安全角色
在添加或删除主体之前,可以使用 .show 命令查看包含已在表上设置的所有主体和角色的表。
语法
要显示所有角色,请执行以下操作:
.show
table
TableName principals
要显示角色,请执行以下操作:
.show
table
TableNameprincipalroles
详细了解语法约定。
参数
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
| TableName | string |
✔️ | 要列出其主体的表的名称。 |
示例
以下命令列出了access StormEvents 表的所有安全主体。
.show table StormEvents principals
示例输出
| 角色 | PrincipalType | PrincipalDisplayName | PrincipalObjectId | PrincipalFQN |
|---|---|---|---|---|
| 表 StormEvents 管理员 | Microsoft Entra 用户 | 艾比·阿特金斯 | cd709aed-a26c-e3953dec735e | aaduser=abbiatkins@fabrikam.com |
添加和删除安全角色
本部分提供用于添加和删除主体的语法、参数及其示例。
语法
行动tableTableName角色(主体 [,Principal...] [)] skip-results [ 说明 ]
详细了解语法约定。
参数
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
| 操作 | string |
✔️ | 命令 .add、.drop 或 .set。.add 添加指定的主体,.drop 删除指定的主体,.set 添加指定的主体并删除所有以前的主体。 |
| TableName | string |
✔️ | 要为其添加主体的表的名称。 |
| 角色 | string |
✔️ | 要分配给主体的角色。 对于表,这可以是 admins 或 ingestors。 |
| 主体 | string |
✔️ | 一个或多个主体。 有关如何指定这些主体的指南,请参阅引用安全主体。 |
skip-results |
string |
如果提供,该命令将不会返回更新的表主体列表。 | |
| 描述 | string |
用于描述使用 .show 命令时显示的更改的文本。 |
注意
结合 .set(而不是主体列表)使用 none 命令将删除指定的角色的所有主体。
示例
以下示例演示如何在同一命令中添加安全角色、删除安全角色以及添加和删除安全角色。
使用 .add 添加安全角色
以下示例将主体添加到 admins 表上的 StormEvents 角色。
.add table StormEvents admins ('aaduser=imikeoein@fabrikam.com')
以下示例将应用程序添加到 ingestors 表上的 StormEvents 角色。
.add table StormEvents ingestors ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')
使用 .drop 删除安全角色
以下示例从 admins 表上的 StormEvents 角色中删除组中的所有主体。
.drop table StormEvents admins ('aadGroup=SomeGroupEmail@fabrikam.com')
使用 .set 添加新安全角色和删除旧安全角色
以下示例删除现有的 ingestors,并添加提供的主体作为 ingestors 表上的 StormEvents。
.set table StormEvents ingestors ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')
使用 .set 删除所有安全角色
以下命令删除 ingestors 表上的所有现有 StormEvents。
.set table StormEvents ingestors none