Настройка 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.
Создание учетных данных
- Перейдите в API Manager в GCP
- Выберите существующий проект или создайте новый проект для учетных данных API
- Нажмите Create Credentials и в появившемся окне выберите OAuth Client ID
- Google требует настройки экрана согласия OAuth для учетных данных OAuth. Нажмите кнопку Configure consent screen, чтобы создать новый экран согласия, если появится соответствующий запрос.
- На странице экрана согласия OAuth настройте следующие параметры (документация Google):
| Loading table... |
- Сохраните настройки Consent screen, чтобы вернуться на страницу Create OAuth client id.
- Используйте следующие значения конфигурации при создании учетных данных, заменив
YOUR_ACCESS_URLиYOUR_AUTH0_URI, которые необходимо подставить в соответствии с Access URL и Auth0 URI из ваших настроек аккаунта.
| Loading table... |
- Нажмите Create, чтобы создать новые учетные данные. Появится всплывающее окно с Client ID и Client Secret. Обязательно сохраните их — они понадобятся позже!
Включение Admin SDK
dbt требует, чтобы для этого приложения был включен Admin SDK, чтобы запрашивать информацию о членстве в группах через API GSuite. Чтобы включить Admin SDK для данного проекта, перейдите на страницу Admin SDK Settings и убедитесь, что API включен.
Настройка в dbt
Чтобы завершить настройку, выполните следующие шаги в приложении dbt.
Указание OAuth Client ID и Client Secret
-
Перейдите на страницу Enterprise > Single Sign On в разделе Account settings.
-
Нажмите кнопку 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)
-
Нажмите Save & Authorize, чтобы авторизовать ваши учетные данные. Вы будете перенаправлены в поток OAuth GSuite и получите запрос на вход в dbt с использованием вашей рабочей электронной почты. Если аутентификация пройдет успешно, вы будете перенаправлены обратно в приложение dbt.
-
На странице Credentials убедитесь, что присутствует запись
groupsи что она отражает группы, членом которых вы являетесь в GSuite. Если вы не видите записьgroupsв списке атрибутов IdP, ознакомьтесь со следующими шагами по устранению неполадок.
Если информация для проверки выглядит корректно, значит вы успешно завершили настройку 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.




