Настройка Databricks OAuth
Аккаунты dbt platform на тарифных планах Enterprise и Enterprise+ поддерживают OAuth для разработчиков (OAuth для партнёрских решений) при работе с Databricks. При включении Databricks OAuth для проекта dbt все разработчики должны проходить аутентификацию в Databricks, чтобы использовать Studio IDE.
Аутентификация для разработки и развёртывания
Databricks OAuth использует аутентификацию user-to-machine (U2M, «пользователь — машина») для интерактивной разработки в Studio IDE. Она применяется только к учётным данным для разработки.
Среды развёртывания используют отдельные учётные данные, настроенные на уровне среды. Они не используют OAuth для разработчиков. Для развёртывания и пакетных заданий настройте учётные данные на основе токенов в профиле подключения для развёртывания. Для заданий как в производственных, так и в непроизводственных средах рекомендуется использовать токен субъекта-службы (service principal).
Инструкции по настройке приведены в разделе Определение среды развёртывания dbt. Дополнительные сведения о средах развёртывания см. в разделе Среды развёртывания.
Настройка Databricks OAuth (администратор Databricks)
Для начала добавьте dbt в Databricks в качестве пользовательского OAuth-приложения.
Следующие шаги выполняются в интерфейсе Databricks. В качестве альтернативы используйте Databricks CLI. При любом из способов используйте URL перенаправления для вашего региона.
-
Войдите в консоль аккаунта и нажмите значок Settings на боковой панели.
-
На вкладке App connections нажмите Add connection.
-
Укажите следующие сведения:
- Название подключения.
- URL перенаправления для OAuth-подключения. Используйте оба URL, указанных для региона вашего аккаунта.
- В поле Access scopes укажите API, к которым приложение должно иметь доступ:
- Для BI-приложений требуется область доступа SQL, позволяющая подключённому приложению обращаться к Databricks SQL API (это необходимо для SQL-моделей).
- Для приложений, которым нужен доступ к Databricks API не только для выполнения запросов, требуется область доступа ALL APIs (это необходимо при запуске Python-моделей).
- Время жизни (TTL) токена доступа в минутах. Значение по умолчанию: 60.
- Время жизни (TTL) токена обновления в минутах. Значение по умолчанию: 10080.
-
Выберите Generate a client secret. Скопируйте секрет клиента и сохраните его в безопасном месте. Позже он будет недоступен.
URL перенаправления по регионам
При настройке Databricks OAuth используйте URL перенаправления, соответствующие региону вашего аккаунта dbt.
В рамках перехода на URL, уникальные для каждого аккаунта, некоторым клиентам следует обновить URL перенаправления OAuth и другие настройки интеграций. Прежние региональные URL продолжают поддерживать интеграции до даты окончания поддержки, указанной в графике перехода. Дополнительные сведения о сроках перехода и рекомендации по URL, уникальным для каждого аккаунта, см. в документации по переходу на новые URL аккаунтов.
| Регион | URL перенаправления |
|---|---|
| США, мультитенантная среда | https://cloud.getdbt.com/callback https://cloud.getdbt.com/complete/databricks |
| США, ячейка 1 | https://us1.dbt.com/callback https://us1.dbt.com/complete/databricks |
| EMEA | https://emea.dbt.com/callback https://emea.dbt.com/complete/databricks |
| APAC | https://au.dbt.com/callback https://au.dbt.com/complete/databricks |
| Однотенантная среда | https://INSTANCE_NAME.getdbt.com/callback https://INSTANCE_NAME.getdbt.com/complete/databricks |
Настройка подключения в dbt (администратор проекта dbt)
Теперь, когда OAuth-приложение в Databricks настроено, необходимо добавить идентификатор и секрет клиента в dbt. Для этого:
- В dbt нажмите название своего аккаунта в меню слева и выберите Account settings.
- Выберите Projects в меню.
- Выберите свой проект из списка.
- Нажмите Connections и выберите подключение Databricks.
- Нажмите Edit.
- В разделе Optional settings добавьте OAuth Client ID и OAuth Client Secret из OAuth-приложения Databricks.
Аутентификация в Databricks (разработчик в Studio IDE)
После настройки подключения Databricks OAuth для проекта dbt каждому пользователю dbt потребуется пройти аутентификацию в Databricks, чтобы использовать Studio IDE. Для этого:
- В dbt нажмите название своего аккаунта в меню слева и выберите Account settings.
- В разделе Your profile выберите Credentials.
- Выберите свой проект из списка и нажмите Edit.
- Выберите OAuth в качестве метода аутентификации и нажмите Save.
- В завершение нажмите кнопку Connect Databricks Account.
После этого вы будете перенаправлены в Databricks, где вам предложат подтвердить подключение. Затем вы вернётесь в dbt. Теперь вы должны быть аутентифицированы в Databricks и готовы к работе в Studio IDE.
Процесс OAuth в Studio
После того как пользователь разрешит приложению dbt доступ к Databricks, Databricks передаст приложению dbt токен обновления.
В начале каждого сеанса Studio IDE приложение dbt обменивает токен обновления на токен доступа, который используется для подключения к Databricks и выполнения запросов от имени пользователя. dbt не получает новые токены доступа во время активного сеанса. Когда срок действия токена доступа истекает (по умолчанию — через 60 минут), пользователь должен перезапустить Studio IDE, чтобы продолжить разработку.
Срок действия токена обновления задаётся при настройке OAuth-приложения в Databricks (TTL токена обновления по умолчанию: 10080 минут). Когда срок действия токена обновления пользователя истечёт, ему потребуется снова нажать Connect Databricks Account, чтобы повторно пройти аутентификацию.

