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

Настройка SSO с Microsoft Entra ID

Тарифные планы уровня Enterprise в dbt поддерживают единый вход через Microsoft Entra ID (ранее Azure AD).

SCIM доступен для Entra ID

После настройки единого входа (SSO) вы можете настроить System for Cross-Domain Identity Management (SCIM) с Entra ID, чтобы автоматизировать создание и управление пользователями и группами.

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

  • SSO, инициируемый поставщиком удостоверений (IdP)
  • SSO, инициируемый поставщиком услуг (SP)
  • Создание пользователей при первом входе (Just-in-time provisioning)

Конфигурация​

dbt поддерживает как однотенантные, так и мультитенантные подключения SSO Microsoft Entra ID (ранее Azure AD). Для большинства корпоративных сценариев при создании приложения Microsoft Entra ID рекомендуется использовать однотенантный вариант.

Создание приложения​

Войдите на портал Azure вашей организации. На странице Microsoft Entra ID выберите нужный каталог, а затем зарегистрируйте новое приложение.

  1. В разделе Manage выберите App registrations.
  2. Нажмите + New Registration, чтобы начать регистрацию нового приложения.
Создание новой регистрации приложенияСоздание новой регистрации приложения
  1. Задайте настройки для полей Name и Supported account types. Выберите значение Supported account types в зависимости от того, каким тенантам вы хотите разрешить доступ, и запишите соответствующее значение Microsoft Entra ID Domain, которое понадобится позже при указании учетных данных в dbt:
Потребность клиентаSupported account types (Azure)Значение для поля Microsoft Entra ID Domain в dbt
Только один тенант (по умолчанию, рекомендуется для большинства корпоративных сценариев)Accounts in this organizational directory onlyОсновное доменное имя вашего каталога Azure
Несколько определенных тенантов Entra IDAccounts in organizational directories set by Entra adminorganizations
Любой тенант организации и личные учетные записи MicrosoftAccounts in any organizational directory and personal Microsoft accountscommon
Только личные учетные записи MicrosoftPersonal Microsoft accounts onlyconsumers
  1. (Необязательно) Чтобы обеспечить корректную работу мультитенантной конфигурации, помимо выбора «Multi-tenant» в настройках учетной записи Azure, необходимо внести два важных изменения:

    • Обновите Microsoft Entra ID Domain: в поле «Microsoft Entra ID Domain:» в dbt введите соответствующую строку центра авторизации (organizations, common или consumers), а не доменное имя вашего каталога Azure. Подробнее см. в разделе Указание учетных данных.
    • Предоставьте согласие администратора для каждого тенанта: поскольку это требование Entra (ранее Azure AD), администратор каждого отдельного тенанта должен предоставить согласие. Если пользователи из других тенантов попытаются войти до выполнения этого действия, они увидят экран «admin approval required». Администратор может решить эту проблему, перейдя по специальному URL-адресу согласия, предоставленному Microsoft для его тенанта (например, https://login.microsoftonline.com/{TENANT_ID}/adminconsent?client_id={CLIENT_ID}).
  2. Настройте Redirect URI. Установите тип Web и используйте таблицу ниже, чтобы выбрать подходящие значения Redirect URI для однотенантных и мультитенантных развертываний приложения Entra ID. Для большинства корпоративных сценариев рекомендуется использовать однотенантный Redirect URI. Замените YOUR_AUTH0_URI на соответствующий URI Auth0 для вашего региона и тарифного плана.

Примечание: Тип тенантности вашей платформы dbt не влияет на эту настройку. Эта настройка приложения Entra ID определяет доступ к приложению:

  • Однотенантное: доступ к приложению могут получить только пользователи вашего тенанта Entra ID.
  • Мультитенантное: доступ к приложению могут получить пользователи любого тенанта Entra ID.
Тип приложенияRedirect URI
Однотенантное (рекомендуется)https://YOUR_AUTH0_URI/login/callback
Мультитенантноеhttps://YOUR_AUTH0_URI/login/callback
Настройка новой регистрации приложенияНастройка новой регистрации приложения
  1. Сохраните регистрацию приложения, чтобы продолжить настройку SSO Microsoft Entra ID.
Настройка в новом интерфейсе Microsoft Entra ID (необязательно)

В зависимости от настроек Microsoft Entra ID страница регистрации приложения может отличаться от приведенных выше снимков экрана. Если на странице New Registration вам не предлагается настроить Redirect URI, выполните шаги 7–8 ниже после создания регистрации приложения. Если вы уже настроили Redirect URI на предыдущих шагах, перейдите к шагу 8.

  1. После регистрации нового приложения без указания Redirect URI нажмите App registration, а затем перейдите на вкладку Authentication нового приложения.

  2. Нажмите + Add platform и введите Redirect URI для вашего приложения. Дополнительные сведения о правильном значении Redirect URI для приложения dbt см. в шаге 4 выше.

    Тип платформы

    При выборе типа платформы укажите Web, а не Single-page application (SPA). Интеграция SSO dbt обменивает код авторизации на токен с сервера, используя секрет клиента. Поэтому, если добавить Redirect URI в разделе SPA, Entra ID потребует PKCE и отклонит обмен кода на токен на стороне сервера, что приведет к сбою входа с ошибкой AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.

Настройка Redirect URIНастройка Redirect URI

Сопоставление пользователей и групп Azure <-> dbt​

к сведению

Существует ограничение на количество групп, передаваемых Azure через токен SSO (не более 150). Это означает, что если пользователь состоит более чем в 150 группах, будет казаться, что он не состоит ни в одной. Чтобы избежать этого, настройте назначения групп для приложения dbt в Azure и задайте утверждение о группах, чтобы Azure передавал только соответствующие группы.

Пользователи и группы Azure, которые вы создадите на следующих шагах, сопоставляются с группами, созданными в dbt, по имени группы. Дополнительные сведения о настройке пользователей, групп и наборов разрешений в dbt см. в документации по корпоративным разрешениям.

dbt platform использует User principal name (UPN) в Microsoft Entra ID для идентификации и сопоставления пользователей, входящих в dbt через SSO. UPN обычно имеет формат адреса электронной почты.

Добавление пользователей в корпоративное приложение​

После регистрации приложения необходимо назначить ему пользователей. Добавьте пользователей, которые должны быть доступны в dbt, выполнив следующие шаги:

  1. Вернитесь в Default Directory (или Home) и нажмите Enterprise Applications.
  2. Нажмите имя приложения, созданного ранее.
  3. Нажмите Assign Users and Groups.
  4. Нажмите Add User/Group.
  5. При необходимости назначьте дополнительных пользователей и группы.
Добавление пользователей в корпоративное приложение и настройка Redirect URIДобавление пользователей в корпоративное приложение и настройка Redirect URI
Требуется назначение пользователей?

В разделе Properties проверьте положение переключателя User assignment required? и убедитесь, что оно соответствует вашим требованиям. Большинству клиентов рекомендуется установить значение Yes, чтобы входить могли только пользователи и группы, явно назначенные приложению dbt. Если установлено значение No, любой пользователь сможет получить доступ к приложению по прямой ссылке, как указано в документации Microsoft Entra ID.

Настройка разрешений​

  1. Вернитесь в Default Directory (или Home), а затем в App registration.
  2. Выберите свое приложение, затем выберите API permissions.
  3. Нажмите +Add a permission и добавьте разрешения, указанные в следующей таблице:
Имя APIТипРазрешениеОбязательно?
Microsoft GraphDelegatedUser.ReadДа
Microsoft GraphDelegatedGroupMember.Read.AllДа
Microsoft GraphDelegatedDirectory.Read.AllНеобязательно — может потребоваться, если пользователи назначены более чем 200 группам

Для области доступа по умолчанию требуются только User.Read и GroupMember.Read.All. Если вы назначаете пользователя более чем 200 группам, может потребоваться предоставить дополнительные разрешения, например Directory.Read.All.

SSO, настроенный до декабря 2025 года

Если вы настроили SSO до декабря 2025 года, существующая конфигурация может запрашивать Directory.Read.All вместо GroupMember.Read.All. Чтобы использовать обновленные области доступа, удалите и заново создайте конфигурацию SSO.

  1. Сохраните эти разрешения, затем нажмите Grant admin consent, чтобы предоставить согласие администратора для этого каталога от имени всех ваших пользователей.
Настройка разрешений приложенияНастройка разрешений приложения

Создание секрета клиента​

  1. В разделе Manage нажмите Certificates & secrets.
  2. Нажмите +New client secret.
  3. Назовите секрет клиента "dbt" (или аналогичным образом), чтобы его можно было идентифицировать.
  4. Выберите 730 days (24 months) в качестве срока действия этого секрета (рекомендуется).
  5. Нажмите Add, чтобы завершить создание значения секрета клиента (не идентификатора секрета клиента).
  6. Сохраните сгенерированный секрет клиента в надежном месте. Позже в процессе настройки мы используем этот секрет клиента в dbt, чтобы завершить настройку интеграции.
Настройка сертификатов и секретовНастройка сертификатов и секретов
Сохранение секрета клиентаСохранение секрета клиента

Получение учетных данных клиента​

  1. Перейдите на страницу Overview регистрации приложения.
  2. Найдите Application (client) ID и Directory (tenant) ID, показанные в этой форме, и сохраните их вместе с секретом клиента. Мы используем эти ключи на следующих шагах, чтобы завершить настройку интеграции в dbt.
Получение учетных данных. Сохраните их в надежном местеПолучение учетных данных. Сохраните их в надежном месте

Настройка dbt​

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

Указание учетных данных​

Чтобы заполнить этот раздел, вам понадобится слаг URL для входа. Этот слаг определяет URL-адрес, по которому пользователи вашей учетной записи могут входить в приложение. dbt автоматически генерирует слаги URL для входа, и изменить их нельзя. Слаг содержит только буквы, цифры и дефисы. Например, слаг URL для входа для dbt Labs может выглядеть так: dbt-labs-afk123. Слаги URL для входа уникальны среди всех учетных записей dbt.

Пользователи также могут войти через https://login.dbt.com, чтобы увидеть учетные записи, к которым у них есть доступ в разных экземплярах. Корпоративный URL для входа, содержащий ваш слаг, по-прежнему используется для сценариев единого входа (SSO), инициируемых вашим поставщиком удостоверений (IdP).

  1. В dbt нажмите имя своего аккаунта в меню слева и выберите Account settings.
  2. Выберите SSO & SCIM в меню.
  3. Нажмите Get started, если SSO еще не настроен, или Edit, если он уже настроен.
  4. Укажите следующие данные SSO:
ПолеЗначение
Log in withMicrosoft Entra ID Single Tenant или Microsoft Entra ID Multi Tenant, если вы выбрали мультитенантное значение Supported account types
Client IDВставьте Application (client) ID, сохраненный на предыдущих шагах
Client SecretВставьте Client Secret из предыдущих шагов (не забудьте использовать Secret Value, а не Secret ID);
Примечание: Когда срок действия секрета клиента истечет, администратору Entra ID потребуется сгенерировать новый секрет и вставить его в dbt, чтобы обеспечить непрерывный доступ к приложению.
Tenant IDВставьте Directory (tenant) ID, сохраненный на предыдущих шагах. (Это поле отображается только при выборе Microsoft Entra ID Single Tenant; для мультитенантной конфигурации оно не требуется.)
Microsoft Entra ID DomainДля однотенантной конфигурации введите доменное имя вашего каталога Azure (например, fishtownanalytics.com). Используйте только основной домен; это не заблокирует доступ для других доменов. Для мультитенантной конфигурации вместо этого введите соответствующую строку центра авторизации (organizations, common или consumers). См. таблицу Supported account types.
Настройка SSO Entra ID AD в dbtНастройка SSO Entra ID AD в dbt
  1. Нажмите Save, чтобы завершить настройку интеграции SSO Microsoft Entra ID. После этого вы можете перейти по URL-адресу входа, сгенерированному для slug вашего аккаунта, и проверить вход через Entra ID.
Вход в систему

Пользователи могут войти в систему по адресу 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 в разделе настроек аккаунта.

Дополнительные параметры конфигурации​

Раздел Single sign-on также содержит дополнительные параметры конфигурации, расположенные после полей учетных данных.

  • Include all groups: Получать от поставщика удостоверений все группы, в которые входит пользователь. Если пользователь является участником вложенных групп, будут также включены родительские группы. Когда этот параметр отключен, передаются только группы, непосредственным участником которых является пользователь. По умолчанию этот параметр включен.

  • Maximum number of groups to retrieve: Позволяет настроить ограничение на количество групп, получаемых для пользователей. По умолчанию установлено значение 250 групп, но его можно увеличить, если пользователи состоят в большем количестве групп.

Настройка RBAC​

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

Настройте SCIM

Теперь, когда вы настроили SSO с Entra ID, вы можете настроить SCIM, чтобы автоматизировать создание и управление пользователями и группами.

Советы по устранению неполадок​

 Несоответствие доменного имени

Убедитесь, что доменное имя, к которому относятся учетные записи пользователей в Azure, совпадает с доменом, указанным в разделе Указание учетных данных при настройке SSO.

Получение домена пользователя из AzureПолучение домена пользователя из Azure
 После входа появляется сообщение 'Server error'

После завершения процедуры входа в Entra ID вы перенаправляетесь обратно на страницу входа dbt platform и видите следующее сообщение:

Server error! There was a server error. Please try again, or contact support@getdbt.com if this persists.

Обычно это происходит, когда Microsoft Entra ID не может найти сертификат подписи SAML, настроенный для приложения. Исходная ошибка (AADSTS500031: Cannot find signing certificate configured) пользователю не отображается.

Чтобы убедиться, что причина именно в этом:

  1. Откройте в Entra ID Enterprise Applications → YOUR_APP → Sign-in logs.
  2. Отфильтруйте записи по статусу Failure.
  3. Если вы видите там ошибку AADSTS500031, устраните ее, перейдя в Enterprise Applications → YOUR_APP → Single sign-on → SAML Signing Certificate, и добавьте отсутствующий сертификат.
  4. Если сертификат существует, но поврежден, создайте новый сертификат, задайте срок действия, отметьте его как Active, чтобы заменить существующий, а затем удалите неиспользуемый сертификат.

Дополнительные сведения об устранении неполадок — включая запросы «Admin consent required» для новых пользователей, сообщение «Access Denied» после аутентификации SAML и проблемы при изменении Entity ID или ACS URL — см. в разделе Часто задаваемые вопросы о SSO и устранение неполадок.

Узнайте больше из видео​

В следующем видео объясняется, как настроить SSO с Microsoft Entra ID:

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

0
Loading