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

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

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

Примечание

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

Разрешения

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

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

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

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

Примечание

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

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

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

Синтаксис

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

.showtableTablenameprincipals

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

.showtableTablenameprincipalroles

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

Параметры

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

Пример

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

.show table StormEvents principals

Пример выходных данных

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

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

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

Синтаксис

ДействийtableTableNameRole(Principal [,Principal...] ) [skip-results] [ Description ]

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

Параметры

Имя Тип Обязательно Описание
Действие 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