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


Управление субъектами-службами

В этой статье поясняется, как создавать субъектов-службы и управлять ими для учетной записи и рабочих областей Azure Databricks.

Общие сведения о модели удостоверений Azure Databricks см. в разделе "Удостоверения Azure Databricks".

Сведения об управлении доступом для субъектов-служб см. в статье "Проверка подлинности и управление доступом".

Что такое субъект-служба?

Субъект-служба — это удостоверение, которое вы создаете в Azure Databricks для использования с автоматизированными инструментами, заданиями и приложениями. Субъекты-службы предоставляют автоматические средства и скрипты с доступом к ресурсам Azure Databricks только с помощью API, которые обеспечивают большую безопасность, чем использование пользователей или групп.

Для субъектов-служб можно ограничить доступ к ресурсам с помощью разрешений так же, как и для пользователей Azure Databricks. Например, можно выполнять следующие действия.

  • Предоставьте роли администратора учетной записи субъекта-службы и администратора рабочей области.
  • Предоставьте субъекту-службе доступ к данным на уровне учетной записи с помощью каталога Unity или на уровне рабочей области.
  • Добавьте субъекта-службы в группу на уровне учетной записи и рабочей области, включая группу рабочую область admins группу.

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

В отличие от пользователя Azure Databricks, субъект-службу можно использовать только с API. С его помощью нельзя получить доступ к пользовательскому интерфейсу Azure Databricks.

Databricks рекомендует включить рабочие области для федерации удостоверений. Федерация удостоверений позволяет настроить субъекты-службы в консоли учетной записи, а затем назначить им доступ к определенным рабочим областям. Это упрощает администрирование Azure Databricks и управление данными.

Внимание

Databricks начал включать новые рабочие области для федерации удостоверений и каталога Unity автоматически 9 ноября 2023 г. с развертыванием постепенного развертывания между учетными записями. Если ваша рабочая область включена для федерации удостоверений по умолчанию, ее нельзя отключить. Дополнительные сведения см. в разделе "Автоматическое включение каталога Unity".

Databricks и субъекты-службы идентификатора Microsoft Entra

Субъекты-службы могут быть управляемыми субъектами-службами Azure Databricks или управляемыми субъектами-службами идентификатора Microsoft Entra.

Управляемые субъекты-службы Azure Databricks могут проходить проверку подлинности в Azure Databricks с помощью проверки подлинности OAuth Databricks и личных маркеров доступа. Управляемые субъекты-службы Microsoft Entra ID могут проходить проверку подлинности в Azure Databricks с помощью проверки подлинности OAuth Databricks и маркеров Microsoft Entra ID. Дополнительные сведения о проверке подлинности для субъектов-служб см. в разделе "Управление маркерами" для субъекта-службы.

Управляемые субъекты-службы Azure Databricks управляются непосредственно в Azure Databricks. Управляемые субъекты-службы идентификатора Microsoft Entra управляются в идентификаторе Microsoft Entra, для которого требуются дополнительные разрешения. Databricks рекомендует использовать управляемые субъекты-службы Azure Databricks для автоматизации Azure Databricks и использовать управляемые субъекты-службы Microsoft Entra ID в случаях, когда необходимо выполнить проверку подлинности с помощью Azure Databricks и других ресурсов Azure одновременно.

Чтобы создать управляемый субъект-службу Azure Databricks, пропустите этот раздел и продолжайте чтение с помощью команды "Кто может управлять и использовать субъекты-службы?".

Чтобы использовать управляемые субъекты-службы идентификатора Microsoft Entra в Azure Databricks, пользователь администратора должен создать приложение идентификатора Microsoft Entra в Azure. Чтобы создать управляемый субъект-службу идентификатора Microsoft Entra, ознакомьтесь с проверкой подлинности субъекта-службы MS Entra.

Кто может управлять и использовать субъекты-службы?

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

  • Администраторы учетных записей могут добавлять субъекты-службы в учетную запись и назначать им роли администратора. Они также могут назначать субъекты-службы рабочим областям, если эти рабочие области используют федерацию удостоверений.
  • Администраторы рабочей области могут добавлять субъектов-служб в рабочую область Azure Databricks, назначать им роль администратора рабочей области и управлять доступом к объектам и функциям в рабочей области, таким как возможность создавать кластеры или получать доступ к указанным средам на основе пользователя.
  • Диспетчеры субъектов-служб могут управлять ролями в субъекте-службе. Создатель субъекта-службы становится диспетчером субъекта-службы. Администраторы учетных записей — это руководители субъектов-служб во всех субъектах-службах в учетной записи.

Примечание.

Если субъект-служба была создана до 13 июня 2023 г., создатель субъекта-службы по умолчанию не имеет роли диспетчера субъектов-служб. Попросите администратора учетной записи предоставить вам роль руководителя субъекта-службы.

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

Сведения о предоставлении ролей субъекта-службы и ролей пользователей см. в разделе "Роли" для управления субъектами-службами.

Управление субъектами-службами в учетной записи

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

Добавление субъектов-служб в учетную запись с помощью консоли учетной записи

Субъекты-службы можно создать в Azure Databricks или связать с существующим субъектом-службой Идентификатора Microsoft Entra. См. статью Databricks и субъекты-службы идентификатора Microsoft Entra.

  1. Войдите в консоль учетной записи с правами администратора учетных записей.
  2. На боковой панели щелкните " Управление пользователями".
  3. На вкладке Субъекты-службы нажмите кнопку Добавить субъект-службу.
  4. В разделе "Управление" выберите databricks managed или Microsoft Entra ID.
  5. Если вы выбрали управляемый идентификатор Microsoft Entra, введите идентификатор приложения (клиента) для субъекта-службы.
  6. Введите имя субъекта-службы.
  7. Нажмите кнопку Добавить.

Назначение ролей администратора учетной записи субъекту-службе

  1. Войдите в консоль учетной записи с правами администратора учетных записей.
  2. На боковой панели щелкните " Управление пользователями".
  3. На вкладке Субъекты-службы найдите имя пользователя и нажмите на него.
  4. На вкладке " Роли" включите администратора учетной записи или администратора Marketplace.

Назначение субъекта-службы рабочей области с помощью консоли учетной записи

Чтобы добавить пользователей в рабочую область с помощью консоли учетной записи, рабочая область должна быть включена для федерации удостоверений. Администраторы рабочей области также могут назначать субъекты-службы рабочим областям с помощью страницы параметров администратора рабочей области. Дополнительные сведения см. в разделе "Добавление субъекта-службы" в рабочую область с помощью параметров администратора рабочей области.

  1. Войдите в консоль учетной записи с правами администратора учетных записей.
  2. На боковой панели щелкните "Рабочие области".
  3. Щелкните имя рабочей области.
  4. На вкладке Permissions (Разрешения) щелкните Add permissions (Добавить разрешения).
  5. Найдите и выберите субъекта-служба, назначьте уровень разрешений (пользователь или администратор рабочей области) и нажмите кнопку Сохранить.

Удаление субъекта-службы из рабочей области с помощью консоли учетной записи

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

  1. Как администратор учетной записи войдите в консоль учетной записи
  2. На боковой панели щелкните "Рабочие области".
  3. Щелкните имя рабочей области.
  4. На вкладке Разрешения найдите субъект-службу.
  5. Меню Кебаб Щелкните меню kebab в правой части строки субъекта-службы и нажмите кнопку "Удалить".
  6. В диалоговом окне подтверждения щелкните Удалить.

Отключение субъекта-службы в учетной записи Azure Databricks

Администраторы учетных записей могут деактивировать субъекты-службы в учетной записи Azure Databricks. Деактивированный субъект-служба не может пройти проверку подлинности в учетной записи Или рабочей области Azure Databricks. Однако все разрешения субъекта-службы и объекты рабочей области остаются неизменными. Если субъект-служба деактивирована, следующее имеет значение true:

  • Субъект-служба не может пройти проверку подлинности в учетной записи или любой из рабочих областей из любого метода.
  • Приложения или скрипты, использующие маркеры, созданные субъектом-службой, больше не могут получить доступ к API Databricks. Маркеры остаются, но не могут использоваться для проверки подлинности во время деактивации субъекта-службы.
  • Кластеры, принадлежащие субъекту-службе, остаются запущенными.
  • Запланированные задания, созданные субъектом-службой, завершаются ошибкой, если они не назначены новому владельцу.

При повторной активации субъекта-службы он может войти в Azure Databricks с теми же разрешениями. Databricks рекомендует деактивировать субъекты-службы из учетной записи, а не удалять их, так как удаление субъекта-службы является разрушительным действием. Состояние деактивированного субъекта-службы помечено как неактивное в консоли учетной записи. Вы также можете отключить субъект-службу из определенной рабочей области. См. раздел "Деактивация субъекта-службы" в рабочей области Azure Databricks.

Невозможно отключить субъект-службу с помощью консоли учетной записи. Вместо этого используйте API субъектов-служб учетной записи.

Например:

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/ServicePrincipals/{id} \
--header 'Content-type: application/scim+json' \
--data @update-sp.json \
| jq .

update-sp.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "replace",
      "path": "active",
      "value": [
        {
          "value": "false"
        }
      ]
    }
  ]
}

Удаление субъектов-служб из учетной записи Azure Databricks

Администраторы учетных записей могут удалять субъекты-службы из учетной записи Azure Databricks. Администраторы рабочей области это делать не могут. При удалении субъекта-службы из учетной записи этот субъект-служба также удаляется из своих рабочих областей.

Внимание

При удалении субъекта-службы из учетной записи этот субъект-служба также удаляется из своих рабочих областей независимо от того, включена ли федерация удостоверений. Рекомендуется воздержаться от удаления субъектов-служб на уровне учетной записи, если они не хотят, чтобы они потеряли доступ ко всем рабочим областям в учетной записи. Учитывайте следующие последствия удаления субъектов-служб:

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

Если субъект-служба Идентификатора Microsoft Entra удалена из учетной записи, субъект-служба больше не может получить доступ к учетной записи или ее рабочим областям, однако разрешения сохраняются в субъекте-службе. Если субъект-служба позже добавляется обратно в учетную запись, он восстанавливает свои предыдущие разрешения.

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

  1. Войдите в консоль учетной записи с правами администратора учетных записей.
  2. На боковой панели щелкните " Управление пользователями".
  3. На вкладке Субъекты-службы найдите имя пользователя и нажмите на него.
  4. На вкладке "Сведения о субъекте" щелкнитеМеню Кебаб меню кебаб в правом верхнем углу и выберите "Удалить".
  5. В диалоговом окне подтверждения нажмите кнопку Подтверждение удаления.

Управление субъектами-службами в рабочей области

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

Добавление субъекта-службы в рабочую область с помощью параметров администратора рабочей области

Субъекты-службы можно создать в Azure Databricks или связать с существующим субъектом-службой Идентификатора Microsoft Entra. См. статью Databricks и субъекты-службы идентификатора Microsoft Entra.

  1. Войдите в рабочую область Azure Databricks как администратор рабочей области.

  2. Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Параметры".

  3. Щелкните вкладку "Удостоверение" и "Доступ ".

  4. Рядом с субъектами-службами нажмите кнопку "Управление".

  5. Нажмите кнопку "Добавить субъект-службу".

  6. Выберите существующий субъект-службу, чтобы назначить рабочей области или нажмите кнопку "Добавить новую ", чтобы создать новую.

    Чтобы добавить новый субъект-службу, выберите управляемый Databricks или управляемый идентификатор Microsoft Entra ID. Если вы выбрали управляемый идентификатор Microsoft Entra, вставьте идентификатор приложения (клиента) для субъекта-службы и введите отображаемое имя.

  7. Нажмите кнопку Добавить.

Примечание.

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

Назначение роли администратора рабочей области субъекту-службе с помощью страницы параметров администратора рабочей области

  1. Войдите в рабочую область Azure Databricks как администратор рабочей области.
  2. Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Параметры".
  3. Щелкните вкладку "Удостоверение" и "Доступ ".
  4. Рядом с группами нажмите кнопку "Управление".
  5. Выберите системную группу admins .
  6. Щелкните Добавить участников.
  7. Выберите субъект-службу и нажмите кнопку "Подтвердить".

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

Отключение субъекта-службы в рабочей области Azure Databricks

Администраторы рабочей области могут деактивировать субъекты-службы в рабочей области Azure Databricks. Деактивированный субъект-служба не может получить доступ к рабочей области из API Azure Databricks, однако все разрешения субъекта-службы и объекты рабочей области остаются неизменными. При деактивации субъекта-службы:

  • Субъект-служба не может пройти проверку подлинности в рабочих областях из любого метода.
  • Состояние субъекта-службы отображается как неактивное на странице параметров администратора рабочей области.
  • Приложения или скрипты, использующие маркеры, созданные субъектом-службой, больше не могут получить доступ к API Databricks. Маркеры остаются, но не могут использоваться для проверки подлинности во время деактивации субъекта-службы.
  • Кластеры, принадлежащие субъекту-службе, остаются запущенными.
  • Запланированные задания, созданные субъектом-службой, должны быть назначены новому владельцу, чтобы предотвратить сбой.

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

  1. Войдите в рабочую область Azure Databricks как администратор рабочей области.
  2. Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Параметры".
  3. Щелкните вкладку "Удостоверение" и "Доступ ".
  4. Рядом с субъектами-службами нажмите кнопку "Управление".
  5. Выберите субъект-службу, который требуется отключить.
  6. В разделе "Состояние" снимите флажок "Активный".

Чтобы задать субъект-службу активным, выполните те же действия, но установите флажок.

Удаление субъекта-службы из рабочей области с помощью страницы параметров администратора рабочей области

Удаление субъекта-службы из рабочей области не удаляет субъект-службу из учетной записи. Сведения об удалении субъекта-службы из учетной записи см. в статье "Удаление субъектов-служб" из учетной записи Azure Databricks.

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

  1. Войдите в рабочую область Azure Databricks как администратор рабочей области.
  2. Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Параметры".
  3. Щелкните вкладку "Удостоверение" и "Доступ ".
  4. Рядом с субъектами-службами нажмите кнопку "Управление".
  5. Выберите субъект-службу.
  6. В правом верхнем углу нажмите кнопку "Удалить".
  7. Нажмите кнопку Удалить, чтобы подтвердить операцию.

Управление субъектами-службами с помощью API

Администраторы учетных записей и администраторы рабочей области могут управлять субъектами-службами в учетной записи Azure Databricks и рабочих областях с помощью API Databricks. Сведения об управлении ролями субъекта-службы с помощью API см. в статье "Управление ролями субъекта-службы" с помощью интерфейса командной строки Databricks.

Управление субъектами-службами в учетной записи с помощью API

Администраторы могут добавлять субъекты-службы и управлять ими в учетной записи Azure Databricks с помощью API субъектов-служб учетной записи. Администраторы учетных записей и администраторы рабочей области вызывают API с помощью другого URL-адреса конечной точки:

  • Администраторы учетных записей используют {account-domain}/api/2.1/accounts/{account_id}/scim/v2/.
  • Администраторы рабочей области используют {workspace-domain}/api/2.0/account/scim/v2/.

Дополнительные сведения см. в API субъектов-служб учетной записи.

Управление субъектами-службами в рабочей области с помощью API

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

  • Администраторы учетных записей используют {account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments.
  • Администраторы рабочей области используют {workspace-domain}/api/2.0/preview/permissionassignments/principals/{principal_id}.

См . API назначения рабочей области.

Если рабочая область не включена для федерации удостоверений, администратор рабочей области может использовать API уровня рабочей области для назначения субъектов-служб своим рабочим областям. См . API субъектов-служб рабочей области.

Управление маркерами для субъекта-службы

Субъекты-службы могут проходить проверку подлинности в API в Azure Databricks с помощью токенов OAuth Azure Databricks или личных маркеров доступа Azure Databricks, как показано ниже.

  • Маркеры OAuth Azure Databricks можно использовать для проверки подлинности в API уровня учетной записи Azure Databricks и уровня рабочей области.
    • Маркеры OAuth Azure Databricks, созданные на уровне учетной записи Azure Databricks, можно использовать для проверки подлинности в API уровня учетной записи Azure Databricks и уровня рабочей области.
    • Маркеры OAuth Azure Databricks, созданные на уровне рабочей области Azure Databricks, можно использовать для проверки подлинности только в API уровня рабочей области Azure Databricks.
  • Маркеры личного доступа Azure Databricks можно использовать для проверки подлинности только в API уровня рабочей области Azure Databricks.

Управление проверкой подлинности OAuth Databricks для субъекта-службы

Для проверки подлинности на уровне учетной записи и rest API уровня рабочей области Databricks администраторы учетных записей могут использовать маркеры OAuth Azure Databricks для субъектов-служб. Маркер OAuth можно запросить с помощью идентификатора клиента и секрета клиента для субъекта-службы. Дополнительные сведения см. в статье "Проверка подлинности доступа к Azure Databricks с помощью субъекта-службы с помощью OAuth (OAuth M2M)".

См. также