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

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

Функция для Enterprise

Это руководство описывает функцию плана dbt Cloud Enterprise. Если вы хотите узнать больше о плане Enterprise, свяжитесь с нами по адресу sales@getdbt.com.

Эти документы по настройке SSO применимы только к многопользовательским развертываниям Enterprise.

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

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

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

  • SSO, инициированное поставщиком услуг
  • Создание учетных записей в режиме реального времени

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

Конфигурация организации GSuite в GCP

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

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

  1. Перейдите в API Manager GCP
  2. Выберите существующий проект или создайте новый проект для ваших учетных данных API
  3. Нажмите Создать учетные данные и выберите OAuth Client ID в появившемся окне
  4. Google требует, чтобы вы настроили экран согласия OAuth для учетных данных OAuth. Нажмите кнопку Настроить экран согласия, чтобы создать новый экран согласия, если будет предложено.
  5. На странице экрана согласия OAuth настройте следующие параметры (документация Google):
КонфигурацияЗначениепримечания
Тип приложениявнутреннийобязательно
Имя приложенияdbt Cloudобязательно
Логотип приложенияСкачайте логотип здесьнеобязательно
Авторизованные доменыgetdbt.com (многоарендный в США) getdbt.com и dbt.com (США, ячейка 1) dbt.com (EMEA или AU)Если развертывание происходит в VPC, используйте домен для вашего развертывания
Областиemail, profile, openidДостаточно стандартных областей
Конфигурация экрана согласия GSuiteКонфигурация экрана согласия GSuite
  1. Сохраните настройки Экрана согласия, чтобы вернуться на страницу Создание идентификатора клиента OAuth.
  2. Используйте следующие значения конфигурации при создании ваших учетных данных, заменив YOUR_ACCESS_URL и YOUR_AUTH0_URI, которые необходимо заменить на соответствующий URL доступа и URI Auth0 для вашего региона и плана.
КонфигурацияЗначение
Тип приложенияВеб-приложение
Имяdbt Cloud
Авторизованные источники JavaScripthttps://YOUR_ACCESS_URL
Авторизованные URI перенаправленияhttps://YOUR_AUTH0_URI/login/callback
Конфигурация учетных данных GSuiteКонфигурация учетных данных GSuite
  1. Нажмите "Создать", чтобы создать новые учетные данные. Появится всплывающее окно с Идентификатором клиента и Секретом клиента. Запишите их, так как они понадобятся вам позже!

Включение Admin SDK

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

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

Конфигурация в dbt Cloud

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

Укажите ваш OAuth Client ID и Client Secret

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

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

    • Вход с помощью: GSuite
    • Client ID: Вставьте идентификатор клиента, сгенерированный на предыдущих шагах
    • Client Secret: Вставьте секрет клиента, сгенерированный на предыдущих шагах
    • Домен в GSuite: Введите имя домена для вашего аккаунта GSuite (например, dbtlabs.com). Только пользователи с адресом электронной почты из этого домена смогут войти в ваш аккаунт dbt Cloud, используя аутентификацию GSuite. При желании вы можете указать CSV с доменами, которые все авторизованы для доступа к вашему аккаунту dbt Cloud (например, dbtlabs.com, fishtowndata.com)
    • Slug: Введите желаемый slug для входа. Пользователи смогут войти в dbt Cloud, перейдя по адресу https://YOUR_ACCESS_URL/enterprise-login/LOGIN-SLUG, заменив YOUR_ACCESS_URL на соответствующий URL доступа для вашего региона и плана. LOGIN-SLUG должен быть уникальным для всех аккаунтов dbt Cloud, поэтому выберите slug, который уникально идентифицирует вашу компанию.
    Конфигурация SSO GSuiteКонфигурация SSO GSuite
  3. Нажмите Сохранить и авторизовать, чтобы авторизовать ваши учетные данные. Вы должны быть перенаправлены в поток OAuth GSuite и вам будет предложено войти в dbt Cloud с вашим рабочим адресом электронной почты. Если аутентификация прошла успешно, вы будете перенаправлены обратно в приложение dbt Cloud.

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

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

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

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

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

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

Настройка RBAC

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

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

Ошибка недействительного клиента

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

  • Указанный идентификатор клиента соответствует значению, сгенерированному на странице учетных данных API GCP.
  • Убедитесь, что указанные имена доменов соответствуют тем, которые используются в вашем аккаунте GSuite.

Ошибки OAuth

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

  • Admin SDK включен в вашем проекте GCP
  • Указанные идентификатор клиента и секрет клиента соответствуют значениям, сгенерированным на странице учетных данных GCP
  • Авторизованный домен был указан в конфигурации экрана согласия OAuth Если аутентификация с API GSuite проходит успешно, но вы не видите запись groups на странице Учетные данные, возможно, у вас нет прав на доступ к группам в вашем аккаунте GSuite. Либо запросите, чтобы вашему пользователю GSuite были предоставлены права на запрос групп у администратора, либо попросите администратора войти в dbt Cloud и авторизовать интеграцию GSuite.
0