Перейти к основному содержимому

Настройка OAuth для Databricks enterprise

dbt Cloud поддерживает OAuth для разработчиков (OAuth для партнерских решений) с Databricks, предоставляя дополнительный уровень безопасности для пользователей dbt enterprise. Когда вы включаете OAuth для Databricks в проекте dbt Cloud, все разработчики dbt Cloud должны аутентифицироваться с помощью Databricks, чтобы использовать IDE dbt Cloud. Среды развертывания проекта по-прежнему будут использовать метод аутентификации Databricks, установленный на уровне среды.

Текущее ограничение:

  • В текущей версии требуется перезапуск IDE каждый час (токены доступа истекают через 1 час - обходной путь)

Настройка OAuth для Databricks (администратор Databricks)

Для начала вам нужно добавить dbt как OAuth-приложение в Databricks. Существует два способа настройки этого приложения (CLI или интерфейс Databricks). Вот как это можно сделать в интерфейсе Databricks:

  1. Войдите в консоль аккаунта и нажмите на значок Settings в боковой панели.

  2. На вкладке App connections нажмите Add connection.

  3. Введите следующие данные:

    • Имя для вашего подключения.
    • URL-адреса перенаправления для вашего OAuth-подключения, которые вы можете найти в таблице далее в этом разделе.
    • Для Access scopes, API, к которым приложение должно иметь доступ:
      • Для BI-приложений требуется SQL scope, чтобы подключенное приложение могло получить доступ к SQL API Databricks (это необходимо для SQL-моделей).
      • Для приложений, которым необходимо получить доступ к API Databricks для целей, отличных от выполнения запросов, требуется ALL APIs scope (это необходимо, если выполняются Python-модели).
    • Время жизни токена доступа (TTL) в минутах. По умолчанию: 60.
    • Время жизни токена обновления (TTL) в минутах. По умолчанию: 10080.
  4. Выберите Generate a client secret. Скопируйте и надежно сохраните клиентский секрет. Клиентский секрет будет недоступен позже.

Вы можете использовать следующую таблицу для настройки URL-адресов перенаправления для вашего приложения с dbt Cloud:

РегионURL-адреса перенаправления
US multi-tenanthttps://cloud.getdbt.com/callback
https://cloud.getdbt.com/complete/databricks
US cell 1https://us1.dbt.com/callback
https://us1.dbt.com/complete/databricks
EMEAhttps://emea.dbt.com/callback
https://emea.dbt.com/complete/databricks
APAChttps://au.dbt.com/callback
https://au.dbt.com/complete/databricks
Single tenanthttps://INSTANCE_NAME.getdbt.com/callback
https://INSTANCE_NAME.getdbt.com/complete/databricks

Настройка подключения в dbt Cloud (администратор проекта dbt Cloud)

Теперь, когда у вас настроено OAuth-приложение в Databricks, вам нужно добавить идентификатор клиента и секрет в dbt Cloud. Для этого:

  • В dbt Cloud нажмите на имя вашего аккаунта в левом меню и выберите Account settings
  • Выберите Projects из меню
  • Выберите ваш проект из списка
  • Выберите Connection, чтобы отредактировать детали подключения
  • Добавьте OAuth Client ID и OAuth Client Secret из OAuth-приложения Databricks в разделе Optional Settings
Добавление идентификатора клиента и секрета OAuth-приложения Databricks в dbt CloudДобавление идентификатора клиента и секрета OAuth-приложения Databricks в dbt Cloud

Аутентификация в Databricks (разработчик IDE dbt Cloud)

После того как подключение к Databricks через OAuth настроено для проекта dbt Cloud, каждому пользователю dbt Cloud необходимо будет аутентифицироваться с помощью Databricks, чтобы использовать IDE. Для этого:

  • В dbt Cloud нажмите на имя вашего аккаунта в левом меню и выберите Account settings
  • Выберите Profile settings.
  • Выберите Credentials.
  • Выберите ваш проект из списка
  • Выберите OAuth в качестве метода аутентификации и нажмите Save
  • Завершите, нажав кнопку Connect Databricks Account
Подключение к Databricks из профиля пользователя IDEПодключение к Databricks из профиля пользователя IDE

Затем вы будете перенаправлены в Databricks и вам будет предложено одобрить подключение. Это перенаправит вас обратно в dbt Cloud. Теперь вы должны быть аутентифицированным пользователем Databricks, готовым к использованию IDE dbt Cloud.

0