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


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

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

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

Примечание.

Чтобы удалить базу данных, требуется по крайней мере разрешение участника Azure Resource Manager (ARM) в кластере. Сведения о назначении разрешений ARM см. в статье "Назначение ролей Azure с помощью портал Azure".

Разрешения

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

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

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

Роль Разрешения
admins Просмотр и изменение сущностей базы данных и базы данных.
users Просмотрите базу данных и создайте новые сущности базы данных.
viewers Просмотр таблиц в базе данных, в которой RestrictedViewAccess не включен.
unrestrictedviewers Просмотр таблиц в базе данных даже в том месте, где включен Параметр RestrictedViewAccess . Субъект также должен иметь adminsviewers разрешения или users разрешения.
ingestors Прием данных в базу данных без доступа к запросу.
monitors Просмотр метаданных базы данных, таких как схемы, операции и разрешения.

Примечание.

Невозможно назначить viewer роль только для некоторых таблиц в базе данных. Различные подходы к предоставлению основного представления доступу к подмножествам таблиц см. в разделе "Управление доступом к представлению таблиц".

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

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

Синтаксис

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

.showdatabase Имя базы данных principals

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

.showdatabase principal Имя базы данных roles

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

Параметры

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

Пример

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

.show database Samples principals

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

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

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

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

Синтаксис

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

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

Параметры

Имя (название) Type Обязательно Описание
Действие string ✔️ Команда .add, .dropили .set.
.add добавляет указанные субъекты, .drop удаляет указанные субъекты и .set добавляет указанные субъекты и удаляет все предыдущие.
DatabaseName string ✔️ Имя базы данных, для которой добавляются субъекты.
Роль string ✔️ Роль, назначаемая субъекту. Для баз данных это может быть admins, , users, viewers, ingestorsunrestrictedviewersили monitors.
Основной string ✔️ Один или несколько субъектов. Инструкции по указанию этих субъектов см. в разделе "Ссылки на субъекты безопасности".
skip-results string Если указано, команда не вернет обновленный список субъектов базы данных.
Description string Текст, описывающий изменение, которое будет отображаться при использовании .show команды.

Примечание.

Команда .set с none списком субъектов удаляет все субъекты указанной роли.

Примеры

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

Добавление ролей безопасности с помощью .add

В следующем примере субъект добавляется в users роль в Samples базе данных.

.add database Samples users ('aaduser=imikeoein@fabrikam.com')

В следующем примере приложение добавляется в viewers роль в Samples базе данных.

.add database Samples viewers ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')

Удаление ролей безопасности с помощью drop

В следующем примере все субъекты в группе удаляются из admins роли Samples в базе данных.

.drop database Samples admins ('aadGroup=SomeGroupEmail@fabrikam.com')

Добавление новых ролей безопасности и удаление старых с помощью .set

В следующем примере удаляются существующие viewers и добавляются указанные субъекты, как viewers в Samples базе данных.

.set database Samples viewers ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')

Удаление всех ролей безопасности с помощью .set

Следующая команда удаляет все существующие viewers Samples в базе данных.

.set database Samples viewers none