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


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

В этой статье поясняется, как создавать субъектов-службы и управлять ими для учетной записи и рабочих областей 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 ID

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

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

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

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

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

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

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

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

Примечание.

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

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

  • Пользователи служебного принципала могут выполнять задания в качестве служебного принципала. Задание выполняется с использованием учетной записи службы, вместо учетных данных владельца задания. Дополнительные сведения см. в разделе "Управление удостоверениями, разрешениями и привилегиями" для заданий Databricks.

Сведения о предоставлении ролей менеджера служебных учетных записей и пользовательских ролей см. в разделе «Роли для управления служебными учетными записями».

Синхронизация субъектов-служб с учетной записью Azure Databricks из клиента Идентификатора Microsoft Entra

Вы можете автоматически синхронизировать принципы служб Microsoft Entra ID из клиента Microsoft Entra ID с вашей учетной записью Azure Databricks, используя автоматизированное управление идентификацией (общедоступная предварительная версия). Databricks использует идентификатор Microsoft Entra в качестве источника, поэтому в Azure Databricks учитывается любое изменение членства пользователей или групп. Инструкции см. в статье Синхронизация пользователей и групп автоматически из идентификатора Microsoft Entra ID.

Подготовка SCIM не поддерживает синхронизацию принципалов службы.

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

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

Добавление служебных принципов в учетную запись из консоли управления учетной записью

Сервисные принципалы можно создать в Azure Databricks или связать с существующим сервисным принципалом из Microsoft Entra ID. См. статью Databricks и учетные записи служб Microsoft Entra ID.

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

Назначение администраторских ролей учетной записи сервисному принципалу

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

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

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

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

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

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

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

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

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

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

При повторной активации субъекта-службы он может войти в 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. В диалоговом окне подтверждения нажмите кнопку Подтверждение удаления.

Примечание.

При включении автоматического управления удостоверениями служебные объекты, которые находятся в Microsoft Entra ID, отображаются в консоли учетных записей. Их состояние отображается как неактивное: нет использования, и они не могут быть удалены из списка служебных принципалов. Они не активны в учетной записи и не засчитываются в лимиты.

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

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

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

Субъекты-службы можно создать в 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, могут использоваться для аутентификации в 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.

См. также