Роли для управления субъектами-службами
В этой статье описывается управление ролями субъектов-служб в учетной записи Azure Databricks.
Субъект-служба — это удостоверение, которое вы создаете в Azure Databricks для использования с автоматизированными инструментами, заданиями и приложениями. Субъекты-службы предоставляют автоматические средства и скрипты с доступом к ресурсам Azure Databricks только с помощью API, которые обеспечивают большую безопасность, чем использование пользователей или групп.
Вы можете предоставить пользователям Azure Databricks, субъектам-службам и группам учетных записей доступ к использованию субъекта-службы. Это позволяет пользователям выполнять задания в качестве субъекта-службы вместо удостоверения. Это предотвращает сбой заданий, если пользователь покидает вашу организацию или группу.
Общие сведения о субъектах-службах см. в разделе "Управление субъектами-службами".
Роли субъекта-службы
Роли субъекта-службы — это роли уровня учетной записи. Это означает, что они должны быть определены только один раз в учетной записи и применяться во всех рабочих областях. Существует две роли, которые можно предоставить субъекту-службе: диспетчеру субъектов-служб и пользователю субъекта-службы.
- Диспетчер субъектов-служб позволяет управлять ролями субъекта-службы. Создатель субъекта-службы имеет роль диспетчера субъектов-служб в субъекте-службе. Администраторы учетных записей имеют роль диспетчера субъектов-служб для всех субъектов-служб в учетной записи.
Примечание.
Если субъект-служба была создана до 13 июня 2023 года, создатель субъекта-службы по умолчанию не имеет роли диспетчера субъектов-служб. Если вам нужно быть менеджером, попросите администратора учетной записи предоставить вам роль диспетчера субъектов-служб .
- Пользователь субъекта-службы позволяет пользователям рабочей области выполнять задания в качестве субъекта-службы. Задание будет выполняться с удостоверением субъекта-службы вместо удостоверения владельца задания.
Пользователи с ролью диспетчера субъектов-служб не наследуют роль пользователя субъекта-службы. Если вы хотите использовать субъект-службу для выполнения заданий, необходимо явно назначить себе роль пользователя субъекта-службы даже после создания субъекта-службы.
Примечание.
Роли субъекта-службы Azure Databricks не перекрываются с ролями Azure или ролями идентификатора Microsoft Entra. Эти роли охватывают только учетную запись Azure Databricks.
Управление ролями субъекта-службы с помощью консоли учетной записи
Администраторы учетных записей могут управлять ролями субъектов-служб с помощью консоли учетной записи.
Просмотр ролей в субъекте-службе
- Войдите в консоль учетной записи с правами администратора учетных записей.
- На боковой панели щелкните " Управление пользователями".
- На вкладке "Субъекты-службы" найдите и щелкните имя.
- Выберите вкладку Разрешения .
Вы можете просмотреть список субъектов и ролей, предоставляемых им в субъекте-службе. Вы также можете использовать панель поиска для поиска определенного субъекта или роли.
Предоставление ролей субъекту-службе
Войдите в консоль учетной записи с правами администратора учетных записей.
На боковой панели щелкните " Управление пользователями".
На вкладке "Субъекты-службы" найдите и щелкните имя.
Выберите вкладку Разрешения .
Щелкните Предоставить доступ.
Найдите и выберите пользователя, субъекта-службы или группу и выберите роль или роли (субъект-служба: Диспетчер или субъект-служба: пользователь).
Примечание.
Пользователи с ролью диспетчера субъектов-служб не наследуют роль пользователя субъекта-службы. Если вы хотите, чтобы пользователь использовал субъект-службу для выполнения заданий, необходимо явно назначить роль пользователя субъекта-службы.
Нажмите кнопку Сохранить.
Отмена ролей в субъекте-службе
- Войдите в консоль учетной записи с правами администратора учетных записей.
- На боковой панели щелкните " Управление пользователями".
- На вкладке "Субъекты-службы" найдите и щелкните имя.
- Выберите вкладку Разрешения .
- Найдите пользователя, субъекта-службы или группу, чтобы изменить свои роли.
- В строке с субъектом щелкните меню кебаб и нажмите кнопку "Изменить". Кроме того, выберите "Удалить ", чтобы отозвать все роли субъекта.
- Выберите Изменить.
- Щелкните X рядом с ролями, которые требуется отозвать.
- Нажмите кнопку Сохранить.
Управление ролями субъекта-службы с помощью страницы параметров администратора рабочей области
Администраторы рабочей области могут управлять ролями субъектов-служб для субъектов-служб, на которых они имеют роль Диспетчера субъектов-служб , на странице параметров администратора.
Просмотр ролей в субъекте-службе
- Войдите в рабочую область Azure Databricks как администратор рабочей области.
- Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Параметры".
- Щелкните вкладку "Удостоверение" и "Доступ ".
- Рядом с субъектами-службами нажмите кнопку "Управление".
- Найдите и щелкните имя.
- Выберите вкладку Разрешения .
Вы можете просмотреть список субъектов и ролей, предоставляемых им в субъекте-службе. Вы также можете использовать панель поиска для поиска определенного субъекта или роли.
Предоставление ролей субъекту-службе
Для предоставления ролей необходимо иметь роль диспетчера субъектов-служб в субъекте-службе.
Войдите в рабочую область Azure Databricks как администратор рабочей области.
Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Параметры".
Щелкните вкладку "Удостоверение" и "Доступ ".
Рядом с субъектами-службами нажмите кнопку "Управление".
Найдите и щелкните имя.
Выберите вкладку Разрешения .
Щелкните Предоставить доступ.
Найдите и выберите пользователя, субъекта-службы или группу и выберите роль или роли (субъект-служба: Диспетчер или субъект-служба: пользователь).
Примечание.
Роли можно предоставить любому пользователю на уровне учетной записи, субъекту-службе или группе, даже если они не являются членом рабочей области. Роли не могут быть предоставлены локальным группам рабочей области.
Пользователи с ролью диспетчера субъектов-служб не наследуют роль пользователя субъекта-службы. Если вы хотите, чтобы пользователь использовал субъект-службу для выполнения заданий, необходимо явно назначить роль пользователя субъекта-службы.
Нажмите кнопку Сохранить.
Отмена ролей в субъекте-службе
Для отзыва ролей необходимо иметь роль диспетчера субъектов-служб в субъекте-службе.
- Войдите в рабочую область Azure Databricks как администратор рабочей области.
- Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Параметры".
- Щелкните вкладку "Удостоверение" и "Доступ ".
- Рядом с субъектами-службами нажмите кнопку "Управление".
- Найдите и щелкните имя.
- Выберите вкладку Разрешения .
- Найдите пользователя, субъекта-службы или группу, чтобы изменить свои роли.
- В строке с субъектом щелкните меню кебаб и нажмите кнопку "Изменить". Кроме того, выберите "Удалить ", чтобы отозвать все роли субъекта.
- Выберите Изменить.
- Щелкните X рядом с ролями, которые требуется отозвать.
- Нажмите кнопку Сохранить.
Управление ролями субъекта-службы с помощью интерфейса командной строки Databricks
Для управления ролями субъекта-службы в субъекте-службе необходимо иметь роль диспетчера субъектов-служб. Для управления ролями можно использовать интерфейс командной строки Databricks. Сведения об установке и проверке подлинности в интерфейсе командной строки Databricks см. в разделе "Что такое интерфейс командной строки Databricks?".
Вы также можете управлять ролями субъекта-службы с помощью API учетных записей контроль доступа. Api учетных записей контроль доступа поддерживается с помощью учетной записи Azure Databricks и рабочих областей.
Администраторы учетных записей вызывают API в accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control
).
Пользователи с ролью диспетчера субъектов-служб , которые не являются администраторами учетных записей, вызывают API в домене рабочей области ({workspace-domain}/api/2.0/preview/accounts/access-control/
).
Предоставление ролей субъекту-службе с помощью интерфейса командной строки Databricks
Учетные записи контроль доступа API и CLI используют etag
поле для обеспечения согласованности. Чтобы предоставить или отозвать роли субъекта-службы через API, сначала выполните GET
команду набора правил и получите etag
ответ. Затем вы можете применить изменения локально и, наконец, выдать PUT
набор правил с помощью etag
.
Например, создайте GET
правило для субъекта-службы, которому требуется предоставить доступ, выполнив следующую команду:
databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>
Замена:
-
<account-id>
с идентификатором учетной записи. -
<application-id>
с идентификатором приложения субъекта-службы. -
<etag>
с ""
Пример ответа:
{
"etag":"<etag>",
"grant_rules": [
{
"principals": [
"users/user@example.com"
],
"role":"roles/servicePrincipal.manager"
},
{
"principals": [
"users/user@example.com"
],
"role":"roles/servicePrincipal.user"
}
],
"name":"<name>"
}
etag
Скопируйте поле из текста ответа для последующего использования.
Затем вы можете выполнить обновления локально, когда вы решите окончательное состояние правил, а затем обновить набор правил с помощью etag. Чтобы предоставить субъекту-службе роль пользователяuser2@example.com
, выполните следующие действия:
databricks account access-control update-rule-set --json '{
"name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
"rule_set": {
"name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
"grant_rules": [
{
"role": "roles/servicePrincipal.user",
"principals": ["users/user2@example.com"]
}
],
"etag": "<etag>"
}
}'
Замена:
-
<account-id>
с идентификатором учетной записи. -
<application-id>
с идентификатором приложения субъекта-службы. -
<etag>
с тегом etag, скопированным из последнего ответа.
Пример ответа:
{
"etag":"<new-etag>",
"grant_rules": [
{
"principals": [
"users/user2@example.com"
],
"role":"roles/servicePrincipal.user"
}
],
"name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}
Внимание
Так как это PUT
метод, все существующие роли перезаписываются. Чтобы сохранить все существующие роли, их необходимо добавить в grant_roles
массив.
Вывод списка субъектов-служб, которые можно использовать
Используя API субъектов-служб рабочей области, вы можете перечислить субъекты-службы, на которые у вас есть роль пользователя, отфильтровав его servicePrincipal/use
.
Чтобы вывести список субъектов-служб, в которых есть роль пользователя субъекта-службы, выполните следующую команду:
databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"
Вы также можете перечислить субъекты-службы с помощью API субъектов-служб рабочей области.