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

Настройка SSO с Google Workspace EnterpriseEnterprise +

Тарифы dbt уровня Enterprise поддерживают Single Sign-On (SSO) через Google GSuite. Вам потребуются права на создание и управление новым Google OAuth2-приложением, а также доступ для включения Google Admin SDK. GSuite является компонентом Google Cloud Platform (GCP), поэтому вам также понадобится учетная запись с правами управления приложением GSuite в рамках аккаунта GCP.

Некоторые клиенты предпочитают использовать разные облачные провайдеры для настройки прав пользователей и групп и для хостинга инфраструктуры. Например, вполне возможно использовать GSuite для управления данными входа и настройкой многофакторной аутентификации (MFA), при этом размещая рабочие нагрузки с данными в AWS.

В настоящее время поддерживаются следующие возможности:

  • SSO, инициируемый провайдером сервиса (SP-initiated SSO)
  • Provisioning «по требованию» (Just-in-time provisioning)

В этом руководстве описан процесс настройки аутентификации в dbt с использованием Google GSuite.

Настройка организации GSuite в GCP

dbt использует Client ID и Client Secret для аутентификации пользователей организации GSuite. Ниже приведены шаги по созданию Client ID и Client Secret для использования в dbt.

Создание учетных данных

  1. Перейдите в API Manager в GCP
  2. Выберите существующий проект или создайте новый проект для учетных данных API
  3. Нажмите Create Credentials и в появившемся окне выберите OAuth Client ID
  4. Google требует настройки экрана согласия OAuth для учетных данных OAuth. Нажмите кнопку Configure consent screen, чтобы создать новый экран согласия, если появится соответствующий запрос.
  5. На странице экрана согласия OAuth настройте следующие параметры (документация Google):
ConfigurationValuenotes
Application typeinternalобязательно
Application namedbtобязательно
Application logoЗагрузите логотип здесьопционально
Authorized domainsgetdbt.com (US multi-tenant) getdbt.com и dbt.com (US Cell 1) dbt.com (EMEA или AU)При развертывании в VPC используйте домен вашего развертывания
Scopesemail, profile, openidСтандартных scope достаточно
Loading table...
Настройка экрана согласия GSuiteНастройка экрана согласия GSuite
  1. Сохраните настройки Consent screen, чтобы вернуться на страницу Create OAuth client id.
  2. Используйте следующие значения конфигурации при создании учетных данных, заменив YOUR_ACCESS_URL и YOUR_AUTH0_URI, которые необходимо подставить в соответствии с Access URL и Auth0 URI из ваших настроек аккаунта.
ConfigValue
Application typeWeb application
Namedbt
Authorized Javascript originshttps://YOUR_ACCESS_URL
Authorized Redirect URIshttps://YOUR_AUTH0_URI/login/callback
Loading table...
Настройка учетных данных GSuiteНастройка учетных данных GSuite
  1. Нажмите Create, чтобы создать новые учетные данные. Появится всплывающее окно с Client ID и Client Secret. Обязательно сохраните их — они понадобятся позже!

Включение Admin SDK

dbt требует, чтобы для этого приложения был включен Admin SDK, чтобы запрашивать информацию о членстве в группах через API GSuite. Чтобы включить Admin SDK для данного проекта, перейдите на страницу Admin SDK Settings и убедитесь, что API включен.

Страница 'Admin SDK'Страница 'Admin SDK'

Настройка в dbt

Чтобы завершить настройку, выполните следующие шаги в приложении dbt.

Указание OAuth Client ID и Client Secret

  1. Перейдите на страницу Enterprise > Single Sign On в разделе Account settings.

  2. Нажмите кнопку Edit и укажите следующие параметры SSO:

    • Log in with: GSuite
    • Client ID: вставьте Client ID, созданный на предыдущих шагах
    • Client Secret: вставьте Client Secret, созданный на предыдущих шагах
    • Domain in GSuite: укажите доменное имя вашего аккаунта GSuite (например, dbtlabs.com). Только пользователи с адресом электронной почты из этого домена смогут входить в ваш аккаунт dbt с использованием аутентификации GSuite. При необходимости можно указать список доменов в формате CSV, которым всем разрешен доступ к вашему аккаунту dbt (например, dbtlabs.com, fishtowndata.com)
    Конфигурация GSuite SSOКонфигурация GSuite SSO
  3. Нажмите Save & Authorize, чтобы авторизовать ваши учетные данные. Вы будете перенаправлены в поток OAuth GSuite и получите запрос на вход в dbt с использованием вашей рабочей электронной почты. Если аутентификация пройдет успешно, вы будете перенаправлены обратно в приложение dbt.

  4. На странице Credentials убедитесь, что присутствует запись groups и что она отражает группы, членом которых вы являетесь в GSuite. Если вы не видите запись groups в списке атрибутов IdP, ознакомьтесь со следующими шагами по устранению неполадок.

    Проверка групп GSuiteПроверка групп GSuite

Если информация для проверки выглядит корректно, значит вы успешно завершили настройку SSO с GSuite.

Вход в систему

Теперь пользователи могут войти в dbt platform, перейдя по следующему URL. Замените LOGIN-SLUG на значение, использованное на предыдущих шагах, а YOUR_ACCESS_URL — на соответствующий Access URL для вашего региона и тарифного плана:

https://YOUR_ACCESS_URL/enterprise-login/LOGIN-SLUG

Настройка RBAC

Теперь, когда вы завершили настройку SSO с GSuite, следующим шагом будет настройка групп RBAC, чтобы завершить конфигурацию управления доступом.

Устранение неполадок

Ошибка invalid client

Если при авторизации через GSuite вы получаете ошибку Error 401: invalid_client, проверьте, что:

  • указанный Client ID совпадает со значением, созданным на странице GCP API Credentials;
  • указанные доменные имена совпадают с доменами вашего аккаунта GSuite.

Ошибки OAuth

Если проверка OAuth не завершается успешно, проверьте, что:

  • Admin SDK включен в вашем проекте GCP;
  • указанные Client ID и Client Secret совпадают со значениями, созданными на странице GCP Credentials;
  • в настройках экрана согласия OAuth был указан Authorized Domain.

Если аутентификация с API GSuite проходит успешно, но на странице Credentials вы не видите запись groups, возможно, у вас нет прав на доступ к группам в вашем аккаунте GSuite. В этом случае попросите администратора предоставить вашему пользователю GSuite права на запрос групп либо попросите администратора войти в dbt и авторизовать интеграцию с GSuite.

Узнать больше

Нашли ошибку?

0
Loading