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

Настройка SSO с помощью Google Workspace

Тарифные планы dbt уровня Enterprise поддерживают единый вход (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
Тип приложенияinternalобязательно
Название приложенияdbtобязательно
Логотип приложенияСкачайте логотип здесьнеобязательно
Авторизованные доменыgetdbt.com (мультитенантное развертывание в США) getdbt.com и dbt.com (US Cell 1) dbt.com (EMEA или AU)При развертывании в VPC используйте домен вашего развертывания
Области доступаemail, profile, openidОбластей доступа по умолчанию достаточно
Настройка экрана согласия 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
Настройка учетных данных GSuiteНастройка учетных данных GSuite
  1. Нажмите Create, чтобы создать новые учетные данные. Появится всплывающее окно с Client ID и Client Secret. Обязательно сохраните их — они понадобятся позже!

Включение Admin SDK​

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

Страница «Admin SDK»Страница «Admin SDK»

Настройка в dbt​

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

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

  1. Перейдите в Account settings > SSO & SCIM.

  2. Нажмите Get started, если SSO ещё не настроен, или Edit, если он уже настроен.

  3. Укажите следующие параметры SSO:

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

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

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

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

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

Пользователи могут войти в систему по адресу https://login.dbt.com, чтобы просмотреть аккаунты, к которым у них есть доступ в разных экземплярах, и выбрать, где открыть dbt platform. Это рекомендуемая точка входа для большинства пользователей.

Для единого входа (SSO) через вашего поставщика удостоверений также можно использовать следующий формат URL со слагом URL входа в ваш аккаунт. Замените LOGIN_SLUG значением из предыдущих шагов, а YOUR_ACCESS_URL — соответствующим URL доступа для вашего региона и тарифного плана:

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

Администраторы аккаунта могут включать и отключать обнаружение аккаунта с помощью параметра Enable global account discovery в разделе настроек аккаунта.

Настройка 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.

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

  • В вашем проекте GCP включён Admin SDK
  • Указанные Client ID и Client Secret совпадают со значениями, созданными на странице GCP Credentials
  • В настройках OAuth Consent Screen указан Authorized Domain Если аутентификация через GSuite API проходит успешно, но вы не видите запись groups на странице Credentials, возможно, у вас нет разрешений на доступ к группам в вашей учётной записи GSuite. Попросите администратора предоставить вашему пользователю GSuite право запрашивать группы или попросите администратора войти в dbt и авторизовать интеграцию с GSuite.

Дополнительные рекомендации по устранению неполадок, включая проблемы с подтверждением электронной почты, повторные запросы MFA и особенности принудительного применения SSO, см. в разделе Часто задаваемые вопросы о SSO и устранение неполадок.

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

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

0
Loading