Общие сведения о ролях безопасности

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

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

Команды управления, перечисленные в этой статье, можно использовать для управления субъектами и их ролями безопасности в базах данных, таблицах, внешних таблицах, материализованных представлениях и функциях.

Примечание

Три роли AllDatabasesAdminбезопасности на уровне кластера , AllDatabasesViewerи AllDatabasesMonitor нельзя настроить с помощью команд управления ролями безопасности. Сведения о том, как настроить их в портал Azure, см. в статье Управление разрешениями кластера.

Команды управления

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

Get-Help Описание
.show Списки субъектов с заданной ролью.
.add Добавляет один или несколько субъектов в роль.
.drop Удаляет один или несколько субъектов из роли.
.set Задает роль для определенного списка субъектов, удаляя все предыдущие.

Роли безопасности

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

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

Полное описание ролей безопасности на каждом область см. в статье Управление доступом на основе ролей Kusto.

Примечание

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

Распространенные сценарии

Отображение ролей в кластере

Чтобы просмотреть собственные роли в кластере, выполните следующую команду:

.show cluster principal roles

Отображение ролей в ресурсе

Чтобы проверка роли, назначенные вам для определенного ресурса, выполните следующую команду в соответствующей базе данных или в базе данных, содержащей ресурс:

// For a database:
.show database DatabaseName principal roles

// For a table:
.show table TableName principal roles

// For an external table:
.show external table ExternalTableName principal roles

// For a function:
.show function FunctionName principal roles

// For a materialized view:
.show materialized-view MaterializedViewName principal roles

Отображение ролей всех субъектов в ресурсе

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

// For a database:
.show database DatabaseName principals

// For a table:
.show table TableName principals

// For an external table:
.show external table ExternalTableName principals

// For a function:
.show function FunctionName principals

// For a materialized view:
.show materialized-view MaterializedViewName principals

Совет

Используйте оператор where для фильтрации результатов по определенному субъекту или роли.

Изменение назначений ролей

Дополнительные сведения об изменении назначений ролей на уровне базы данных и таблицы см. в разделах Управление ролями безопасности базы данных и Управление ролями безопасности таблиц.