管理表安全角色

通过基于角色的访问控制模型授予主体对资源的访问权限,其中分配的安全角色决定了主体的资源访问权限。

本文介绍如何使用管理命令在表级别查看现有安全角色以及添加和删除安全角色

注意

主体必须拥有数据库级别的访问权限才能为其分配特定于表的安全角色。

权限

你必须至少具有表管理员权限才能运行这些命令。

表级安全性

下表显示了可以在表级别分配的安全角色,并描述了为每个角色授予的权限。

角色 权限
admins 查看、修改和删除表及表实体。
ingestors 将数据引入表中,但没有查询访问权限。

注意

若要了解如何向主体视图授予对数据库中表子集的访问权限,请参阅管理表视图访问权限

显示现有安全角色

在添加或删除主体之前,可以使用 .show 命令查看包含已在表上设置的所有主体和角色的表。

语法

要显示所有角色,请:

.showtableTableNameprincipals

要显示你的角色,请:

.showtableTableNameprincipalroles

详细了解语法约定

参数

客户 类型​​ 必需 说明
TableName string 要列出其主体的表的名称。

示例

以下命令列出有权访问 StormEvents 表的所有安全主体。

.show table StormEvents principals

示例输出

角色 PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN
表 StormEvents 管理员 Microsoft Entra 用户 Abbi Atkins cd709aed-a26c-e3953dec735e aaduser=abbiatkins@fabrikam.com

添加和删除安全角色

本部分提供用于添加和删除主体的语法、参数及其示例。

语法

ActiontableTableNameRole(Principal [,Principal...] ) [skip-results] [ Description ]

详细了解语法约定

参数

客户 类型​​ 必需 说明
操作 string 命令 .add.drop.set
.add 添加指定的主体,.drop 删除指定的主体,.set 添加指定的主体并删除所有以前的主体。
TableName string 要为其添加主体的表的名称。
角色 string 要分配给主体的角色。 对于表,这可以是 adminsingestors
主体 string 一个或多个主体。 有关如何指定这些主体的指南,请参阅引用安全主体
skip-results string 如果提供,该命令将不会返回更新的表主体列表。
描述 string 用于描述使用 .show 命令时显示的更改的文本。

注意

结合 none(而不是主体列表)使用 .set 命令将删除指定的角色的所有主体。

示例

以下示例演示如何在同一命令中添加安全角色删除安全角色以及添加和删除安全角色

使用 .add 添加安全角色

以下示例将主体添加到 StormEvents 表上的 admins 角色。

.add table StormEvents admins ('aaduser=imikeoein@fabrikam.com')

以下示例将应用程序添加到 StormEvents 表上的 ingestors 角色。

.add table StormEvents ingestors ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')

使用 .drop 删除安全角色

以下示例从 StormEvents 表上的 admins 角色中删除组中的所有主体。

.drop table StormEvents admins ('aadGroup=SomeGroupEmail@fabrikam.com')

使用 .set 添加新安全角色和删除旧安全角色

以下示例删除现有的 ingestors,并添加提供的主体作为 StormEvents 表上的 ingestors

.set table StormEvents ingestors ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')

使用 .set 删除所有安全角色

以下命令删除 StormEvents 表上的所有现有 ingestors

.set table StormEvents ingestors none