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


Настройка входа Azure Databricks из dbt Core с помощью идентификатора Microsoft Entra

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии.

В этой статье описывается настройка входа Azure Databricks из dbt Core с идентификатором Microsoft Entra. После завершения этой однократной настройки в качестве администратора учетной записи Azure Databricks пользователи могут подключать Azure Databricks к dbt Core с помощью единого входа.

Помимо использования идентификатора Microsoft Entra, можно использовать Databricks M2M OAuth для интеграции с dbt Core. См. статью "Включить или отключить партнерские приложения OAuth".

Подготовка к работе

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

  • Доступ к локальной среде dbt Core
  • Получение имени узла сервера и ПУТИ HTTP для хранилища SQL в рабочей области Azure Databricks
  • Будьте администратором учетной записи Azure Databricks
  • Разрешение на создание регистрации приложения Azure в клиенте Azure для учетной записи Azure Databricks.

Настройка проверки подлинности "компьютер — компьютер" (M2M) для dbt Core

В этом разделе описывается настройка проверки подлинности "компьютер — компьютер" (M2M) для Azure Databricks и dbt Core. Рабочий процесс OAuth M2M позволяет автоматизированным процессам, таким как интеграция CI/CD, безопасно получать доступ к ресурсам без вмешательства человека. Клиент dbt выполняется в качестве субъекта-службы, получает маркер OAuth из Azure AD с помощью субъекта-службы и использует этот маркер для подключения к API SQL Databricks.

Создание регистрации приложения Azure

  1. Используйте портал Azure для входа в клиент Azure для учетной записи Azure Databricks.https://portal.azure.com/<tenant-id>
  2. Щелкните Регистрация приложений. Если Регистрация приложений не отображается, нажмите кнопку "Дополнительные службы" и используйте текстовое поле "Службы фильтрации" для поиска Регистрация приложений.
  3. Щелкните Новая регистрация.
  4. Введите имя приложения.
  5. Для URI перенаправления выберите общедоступный клиент или собственный (мобильный и настольный компьютер) в раскрывающемся меню и введите http://localhost:8020.
  6. Щелкните Зарегистрировать.
  7. Скопируйте Идентификатор приложения (клиента). Это значение потребуется позже.

Создание секрета клиента для регистрации приложение Azure

  1. В портал Azure выберите регистрацию приложения, созданную на предыдущем шаге.
  2. Щелкните " Сертификаты и секреты", а затем нажмите кнопку "Создать секрет клиента".
  3. Введите описание и нажмите кнопку "Добавить".
  4. Скопируйте значение секрета. Это значение потребуется позже, и вы сможете получить доступ только после создания секрета.

Добавление субъекта-службы идентификатора Microsoft Entra в рабочую область

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

Добавление профиля M2M в проект dbt

  1. Задайте идентификатор приложения (клиента) и секрет клиента, скопированные ранее в качестве переменных среды. Databricks не рекомендует хранить конфиденциальную информацию, например секреты напрямую profiles.yml .

    ~ export DATABRICKS_CLIENT_ID=<client-id>
    ~ export DATABRICKS_CLIENT_SECRET=<client-secret>
    
  2. Добавьте профиль profiles.yml M2M в файл в проекте dbt.

    Ниже приведен пример profiles.yml файла с указанным профилем azure-oauth-m2m M2M. Указание azure-oauth-m2m для target задания профиля M2M в качестве профиля выполнения по умолчанию, используемого dbt.

    databricks_demo:
      outputs:
        ...
        azure-oauth-m2m:
          catalog: uc_demos
          host: "adb-xxx.azuredatabricks.net"
          http_path: "/sql/1.0/warehouses/9196548d010cf14d"
          schema: databricks_demo
          threads: 1
          type: databricks
          auth_type: oauth
          client_id: "{{ env_var('DATABRICKS_CLIENT_ID') }}"
          client_secret: "{{ env_var('DATABRICKS_CLIENT_SECRET') }}"
    target: azure-oauth-m2m
    

Авторизация субъекта-службы для доступа к хранилищу SQL

  1. На боковой панели щелкните "Хранилища SQL", выберите хранилище SQL и выберите пункт "Разрешения".
  2. Рядом с субъектом-службой, созданным ранее в этой статье, выберите CAN USE в раскрывающемся меню.

Проверка настройки приложения OAuth

dbt debug Выполните команду, чтобы убедиться, что приложение OAuth настроено правильно. Например:

dbt debug --target azure-oauth-m2m

Ниже приведен пример выходных данных успешного dbt debug выполнения.

  ...
  Configuration:
    profiles.yml file [OK found and valid]
    dbt_project.yml file [OK found and valid]

  Required dependencies:
    - git [OK found]

  Connection:
    ...
    Connection test: OK connection ok

Настройка проверки подлинности "пользователь — компьютер" (U2M) для dbt Core

В этом разделе описывается настройка проверки подлинности между пользователями с помощью Azure Databricks и dbt Core. Рабочий процесс U2M OAuth позволяет системам получать доступ от имени пользователя, например клиента dbt, безопасно получая маркер OAuth через всплывающее окно браузера из Azure AD. Dbt использует этот маркер для подключения к API SQL Databricks, упрощая проверку подлинности и авторизацию.

Создание регистрации приложения Azure

  1. Используйте портал Azure для входа в клиент Azure для учетной записи Azure Databricks.https://portal.azure.com/<tenant-id>
  2. Щелкните Регистрация приложений. Если Регистрация приложений не отображается, нажмите кнопку "Дополнительные службы" и используйте текстовое поле "Службы фильтрации" для поиска Регистрация приложений.
  3. Щелкните Новая регистрация.
  4. Введите имя приложения.
  5. Для URI перенаправления выберите общедоступный клиент или собственный (мобильный и настольный компьютер) в раскрывающемся меню и введите http://localhost:8020.
  6. Щелкните Зарегистрировать.
  7. Скопируйте идентификатор приложения (клиента) и идентификатор клиента. Эти значения потребуются позже.

Добавление профиля U2M в проект dbt

Добавьте профиль profiles.yml U2M в файл в проекте dbt.

Ниже приведен пример profiles.yml файла с указанным профилем azure-oauth-u2m U2M. Указание azure-oauth-u2m для target задания профиля U2M в качестве профиля выполнения по умолчанию, используемого dbt.

databricks_demo:
outputs:
  azure-oauth-u2m:
    catalog: uc_demos
    host: "adb-xxx.azuredatabricks.net"
    http_path: "/sql/1.0/warehouses/9196548d010cf14d"
    schema: databricks_demo
    threads: 1
    type: databricks
    auth_type: oauth
    client_id: "9729e77e-ba94-4d53-8cfb-bb609f43f881"
target: azure-oauth-u2m

Проверка настройки приложения OAuth

  1. dbt debug Выполните команду, чтобы убедиться, что приложение OAuth настроено правильно. Например:

    dbt debug --target azure-oauth-u2m
    

    Страница " Запрошенные разрешения" откроется в браузере.

  2. Щелкните Принять.

Ниже приведен пример выходных данных успешного dbt debug выполнения.

...
Configuration:
  profiles.yml file [OK found and valid]
  dbt_project.yml file [OK found and valid]

Required dependencies:
  - git [OK found]

Connection:
  ...
  Connection test: OK connection ok

Дополнительные ресурсы

Сведения о создании проекта dbt Core и подключении к Azure Databricks с помощью проверки подлинности единого входа см. в разделе Подключение dbt Core.