Настройка входа 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
- Используйте портал Azure для входа в клиент Azure для учетной записи Azure Databricks.
https://portal.azure.com/<tenant-id>
- Щелкните Регистрация приложений. Если Регистрация приложений не отображается, нажмите кнопку "Дополнительные службы" и используйте текстовое поле "Службы фильтрации" для поиска Регистрация приложений.
- Щелкните Новая регистрация.
- Введите имя приложения.
- Для URI перенаправления выберите общедоступный клиент или собственный (мобильный и настольный компьютер) в раскрывающемся меню и введите
http://localhost:8020
. - Щелкните Зарегистрировать.
- Скопируйте Идентификатор приложения (клиента). Это значение потребуется позже.
Создание секрета клиента для регистрации приложение Azure
- В портал Azure выберите регистрацию приложения, созданную на предыдущем шаге.
- Щелкните " Сертификаты и секреты", а затем нажмите кнопку "Создать секрет клиента".
- Введите описание и нажмите кнопку "Добавить".
- Скопируйте значение секрета. Это значение потребуется позже, и вы сможете получить доступ только после создания секрета.
Добавление субъекта-службы идентификатора Microsoft Entra в рабочую область
- В рабочей области Azure Databricks щелкните имя пользователя в правом верхнем углу и нажмите кнопку "Параметры".
- Щелкните вкладку "Удостоверение" и "Доступ ".
- Рядом с субъектами-службами нажмите кнопку "Управление".
- Нажмите кнопку "Добавить субъект-службу" и щелкните "Идентификатор клиента".
- Для ApplicationId введите идентификатор приложения (клиента), скопированный ранее.
- В поле Отображаемое имя введите логическое имя субъекта-службы и нажмите кнопку "Добавить".
Добавление профиля M2M в проект dbt
Задайте идентификатор приложения (клиента) и секрет клиента, скопированные ранее в качестве переменных среды. Databricks не рекомендует хранить конфиденциальную информацию, например секреты напрямую
profiles.yml
.~ export DATABRICKS_CLIENT_ID=<client-id> ~ export DATABRICKS_CLIENT_SECRET=<client-secret>
Добавьте профиль
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
- На боковой панели щелкните "Хранилища SQL", выберите хранилище SQL и выберите пункт "Разрешения".
- Рядом с субъектом-службой, созданным ранее в этой статье, выберите 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
- Используйте портал Azure для входа в клиент Azure для учетной записи Azure Databricks.
https://portal.azure.com/<tenant-id>
- Щелкните Регистрация приложений. Если Регистрация приложений не отображается, нажмите кнопку "Дополнительные службы" и используйте текстовое поле "Службы фильтрации" для поиска Регистрация приложений.
- Щелкните Новая регистрация.
- Введите имя приложения.
- Для URI перенаправления выберите общедоступный клиент или собственный (мобильный и настольный компьютер) в раскрывающемся меню и введите
http://localhost:8020
. - Щелкните Зарегистрировать.
- Скопируйте идентификатор приложения (клиента) и идентификатор клиента. Эти значения потребуются позже.
Добавление профиля 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
dbt debug
Выполните команду, чтобы убедиться, что приложение OAuth настроено правильно. Например:dbt debug --target azure-oauth-u2m
Страница " Запрошенные разрешения" откроется в браузере.
Щелкните Принять.
Ниже приведен пример выходных данных успешного 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".