Настройка SSO с Google Workspace
Это руководство описывает функцию плана 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.
Создание учетных данных
- Перейдите в API Manager GCP
- Выберите существующий проект или создайте новый проект для ваших учетных данных API
- Нажмите Создать учетные данные и выберите OAuth Client ID в появившемся окне
- Google требует, чтобы вы настроили экран согласия OAuth для учетных данных OAuth. Нажмите кнопку Настроить экран согласия, чтобы создать новый экран согласия, если будет предложено.
- На странице экрана согласия OAuth настройте следующие параметры (документация Google):
Конфигурация | Значение | примечания |
---|---|---|
Тип приложения | внутренний | обязательно |
Имя приложения | dbt Cloud | обязательно |
Логотип приложения | Скачайте логотип здесь | необязательно |
Авторизованные домены | getdbt.com (многоарендный в США) getdbt.com и dbt.com (США, ячейка 1) dbt.com (EMEA или AU) | Если развертывание происходит в VPC, используйте домен для вашего развертывания |
Области | email, profile, openid | Достаточно стандартных областей |
- Сохраните настройки Экрана согласия, чтобы вернуться на страницу Создание идентификатора клиента OAuth.
- Используйте следующие значения конфигурации при создании ваших учетных данных, заменив
YOUR_ACCESS_URL
иYOUR_AUTH0_URI
, которые необходимо заменить на соответствующий URL доступа и URI Auth0 для вашего региона и плана.
Конфигурация | Значение |
---|---|
Тип приложения | Веб-приложение |
Имя | dbt Cloud |
Авторизованные источники JavaScript | https://YOUR_ACCESS_URL |
Авторизованные URI перенаправления | https://YOUR_AUTH0_URI/login/callback |
- Нажмите "Создать", чтобы создать новые учетные данные. Появится всплывающее окно с Идентификатором клиента и Секретом клиента. Запишите их, так как они понадобятся вам позже!
Включение Admin SDK
dbt Cloud требует, чтобы Admin SDK был включен в этом приложении для запроса информации о членстве в группах из API GSuite. Чтобы включить Admin SDK для этого проекта, перейдите на страницу настроек Admin SDK и убедитесь, что API включен.
Конфигурация в dbt Cloud
Чтобы завершить настройку, выполните следующие шаги в п риложении dbt Cloud.
Укажите ваш OAuth Client ID и Client Secret
-
Перейдите на страницу Enterprise > Single Sign On в разделе настроек аккаунта.
-
Нажмите кнопку Редактировать и укажите следующие данные 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, который уникально идентифицирует вашу компанию.
-
Нажмите Сохранить и авторизовать, чтобы авторизовать ваши учетные данные. Вы должны быть перенаправлены в поток OAuth GSuite и вам будет предложено войти в dbt Cloud с вашим рабочим адресом электронной почты. Если аутентификация прошла успешно, вы будете перенаправлены обратно в приложение dbt Cloud.
-
На странице Учетные данные убедитесь, что присутствует запись
groups
, и что она отражает группы, членом которых вы являетесь в GSuite. Если вы не видите записьgroups
в списке атрибутов IdP, обратитесь к следующим шагам по устранению неполадок.
Если информация о проверке выглядит корректной, значит, вы завершили настройку 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.