Поделиться через


Управление ролями безопасности таблицы

Субъекты получают доступ к ресурсам через модель управления доступом на основе ролей, где назначенные роли безопасности определяют доступ к ресурсам.

В этой статье вы узнаете, как использовать команды управления для просмотра существующих ролей безопасности, а также добавления и удаления ролей безопасности на уровне таблицы.

Примечание.

Субъект должен иметь доступ на уровне базы данных, чтобы назначить определенные роли безопасности таблицы.

Разрешения

Для выполнения этих команд необходимо иметь по крайней мере разрешения администратора таблиц.

Роли безопасности уровня таблицы

В следующей таблице показаны возможные роли безопасности на уровне таблицы и описаны разрешения, предоставленные для каждой роли.

Роль Разрешения
admins Просмотр, изменение и удаление сущностей таблицы и таблиц.
ingestors Прием данных в таблицу без доступа к запросу.

Примечание.

Чтобы узнать, как предоставить субъекту доступ к подмножествам таблиц в базе данных, см . сведения об управлении доступом к представлению таблиц.

Отображение существующих ролей безопасности

Перед добавлением или удалением субъектов можно использовать .show команду, чтобы просмотреть таблицу со всеми участниками и ролями, которые уже заданы в таблице.

Синтаксис

Чтобы отобразить все роли:

.showtable Имя таблицы principals

Чтобы отобразить роли, выполните приведенные действия.

.showtable principal Имя таблицы roles

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
TableName string ✔️ Имя таблицы, для которой требуется перечислить субъекты.

Пример

Следующая команда содержит список всех субъектов безопасности, имеющих доступ к StormEvents таблице.

.show table StormEvents principals

Пример результата

Роль PrincipalType PrincipalDisplayName PrincipalObjectId PrincipalFQN
Администратор Table StormEvents Пользователь Microsoft Entra Абби Аткинс cd709aed-a26c-e3953dec735e aaduser=abbiatkins@fabrikam.com

Добавление и удаление ролей безопасности

В этом разделе приведены синтаксис, параметры и примеры для добавления и удаления субъектов.

Синтаксис

table Субъект роли ( Action TableName [, субъект...] ) [skip-resultsописание]

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
Действие string ✔️ Команда .add, .dropили .set.
.add добавляет указанные субъекты, .drop удаляет указанные субъекты и .set добавляет указанные субъекты и удаляет все предыдущие.
TableName string ✔️ Имя таблицы, для которой нужно добавить субъекты.
Роль string ✔️ Роль, назначаемая субъекту. Для таблиц это может быть admins или ingestors.
Основной string ✔️ Один или несколько субъектов. Инструкции по указанию этих субъектов см. в разделе "Ссылки на субъекты безопасности".
skip-results string Если задано, команда не вернет обновленный список субъектов таблиц.
Description 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