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


Создание учетных данных службы

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

Учетные данные службы не предназначены для управления доступом к облачному хранилищу, которое используется в качестве управляемого расположения хранилища каталога Unity или внешнего хранилища. Для этих вариантов использования используйте учетные данные хранения. См. статью "Подключение к облачному хранилищу объектов" с помощью каталога Unity.

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

Перед началом работы

Перед созданием учетных данных службы необходимо выполнить следующие требования:

В Azure Databricks:

  • Рабочая область Azure Databricks включена для каталога Unity.

  • CREATE SERVICE CREDENTIAL привилегии на метахранилище каталога Unity, прикрепленное к рабочей области. Администраторы учетных записей и администраторы хранилища метаданных имеют эту привилегию по умолчанию. Если ваша рабочая область включена для каталога Unity автоматически, администраторы рабочей области также имеют эту привилегию.

    Примечание.

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

В клиенте Azure:

  • Служба Azure в том же регионе, что и рабочие области, из которых вы хотите получить доступ к данным.
  • Роль участника или владельца в группе ресурсов Azure.
  • Роль владельца или администратора доступа пользователей Azure RBAC в учетной записи службы.

Создайте учетные данные для службы с помощью управляемой учетной записи

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

Примечание.

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

  1. На портале Azure создайте соединитель доступа Azure Databricks и назначьте ему разрешения на службу, к которой вы хотите получить доступ, используя инструкции в статье Настройка управляемого удостоверения для каталога Unity.

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

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

    Запишите идентификатор ресурса соединителя доступа.

  2. Войдите в рабочую область Azure Databricks в качестве пользователя, который соответствует требованиям, перечисленным в разделе "Перед началом работы".

  3. Щелкните значок данных.Каталог.

  4. На странице быстрого доступа нажмите кнопку "Внешние данные", перейдите на вкладку "Учетные данные>" и выберите "Создать учетные данные".

  5. Выберите учетные данные сервиса.

  6. Введите название учетных данных, необязательный комментарий и идентификатор ресурса коннектора доступа в формате:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  7. (Необязательно) Если вы создали соединитель доступа с помощью управляемого удостоверения, назначаемого пользователем, введите идентификатор ресурса этого удостоверения в поле идентификатора управляемого удостоверения, назначаемого пользователем в формате:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
    
  8. Нажмите кнопку Создать.

  9. В диалоговом окне создания учетных данных службы скопируйте внешний идентификатор.

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

  10. Нажмите кнопку Готово.

(Необязательно) Назначьте учетные данные службы конкретным рабочим пространствам

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

Типичный вариант привязки учетных данных службы к определенным рабочим областям — это сценарий, в котором администратор облака настраивает учетные данные службы с использованием учетных данных рабочей облачной учетной записи, и вы хотите убедиться, что пользователи Azure Databricks используют эти учетные данные для доступа к внешней облачной службе только в рабочей рабочей области.

Дополнительные сведения о привязке рабочей области см. в разделе (Необязательно) Назначение учетных данных хранилища определенным рабочим областям и ограничение доступа к определенным рабочим областям.

Привяжите учетные данные службы к одной или нескольким рабочим областям

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

Необходимые разрешения: администратор хранилища метаданных или владелец учетных данных службы.

Примечание.

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

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

  2. На боковой панели щелкните значок Каталог.

  3. На странице быстрого доступа нажмите кнопку Внешние данные> и перейдите на вкладку Учетные данные.

  4. Выберите учетные данные службы и перейдите на вкладку "Рабочие области ".

  5. На вкладке "Рабочие области" снимите флажок "Доступ ко всем рабочим областям".

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

  6. Нажмите кнопку " Назначить рабочим областям" и введите или найдите рабочие области, которые вы хотите назначить.

Чтобы отменить доступ, перейдите на вкладку "Рабочие области" , выберите рабочую область и нажмите кнопку "Отозвать". Чтобы разрешить доступ из всех рабочих областей, установите флажок "Все рабочие области имеют доступ".

Следующие шаги

Ограничения

Действительны следующие ограничения.

  • Databricks Runtime версии 16.1 и ниже поддерживают только Python.
  • Хранилища SQL поддерживают учетные данные службы только для пакетных определяемых пользователем функций (UDF) каталога Unity.
  • Некоторые события аудита для действий, выполняемых с учетными данными службы, не отображаются в system.access.audit таблице. Сведения о том, кто создал, удалил, обновил, прочитал, перечислил или использовал учетные данные сервиса, будут доступны. См. справочник по системной таблице журнала аудита.
  • Во время предварительного просмотра учетных данных службы INFORMATION_SCHEMA.STORAGE_CREDENTIALS (устаревший) отображал учетные данные хранения и службы, а INFORMATION_SCHEMA.STORAGE_CREDENTIAL_PRIVILEGES (устаревший) отображал привилегии, применяемые как к учетным данным хранения, так и к учетным данным службы. Это больше не так. Вместо этого следует использовать INFORMATION_SCHEMA.CREDENTIALS и INFORMATION_SCHEMA.CREDENTIAL_PRIVILEGES для учетных данных хранилища и службы.