Настройка SCIM EnterpriseEnterprise +
System for Cross-Domain Identity Management (SCIM) делает данные пользователей более защищёнными и упрощает жизненный цикл администрирования и работы конечных пользователей за счёт автоматизации управления пользовательскими учётными записями и группами. Вы можете создавать или отключать пользователей в своём Identity Provider (IdP), а SCIM будет автоматически применять эти изменения практически в реальном времени downstream в dbt.
Предварительные требования
Чтобы настроить SCIM в вашей среде dbt:
- У вас должен быть план Enterprise или Enterprise+.
- В качестве провайдера SSO вы должны использовать Okta или Entra ID, и он должен быть подключён в платформе dbt.
- У вас должны быть права на настройку параметров аккаунта в dbt и на изменение настроек приложений в Okta.
- Если у вас включены IP-ограничения, необходимо добавить IP-адреса Okta в allowlist.
Поддерживаемые возможности
В настоящее время SCIM поддерживает следующие возможности:
- Провижининг и депровижининг пользователей
- Обновление профилей пользователей
- Создание и управление группами
- Импорт групп и пользователей
После включения SCIM поведение следующих функций изменится:
- Пользователи не будут автоматически добавляться в группы по умолчанию
- Ручные действия, такие как приглашение пользователей, обновление информации о пользователях и изменение состава групп, по умолчанию отключены
- Маппинги групп SSO отключаются в пользу управления группами через SCIM
Чтобы переопределить эти изменения при включённом SCIM, можно разрешить ручные обновления в настройках SCIM (не рекомендуется).
При провижининге пользователей поддерживаются следующие атрибуты:
- Username
- Family name
- Given name
В UI dbt поддерживаются следующие IdP:
Если вашего IdP нет в списке, его можно поддержать с помощью API dbt.
Настройка dbt
Чтобы получить необходимые конфигурации dbt для использования в Okta или Entra ID:
-
Перейдите в Account settings в dbt.
-
В левом меню выберите Single sign-on.
-
Прокрутите настройки SSO вниз и нажмите Enable SCIM.
-
Сохраните значение поля SCIM base URL — оно понадобится на следующих шагах.
-
Нажмите Create SCIM token.
примечаниеВ соответствии с лучшими практиками рекомендуется регулярно ротировать SCIM-токены. Для этого выполните те же шаги, что и при создании нового токена. Чтобы избежать сбоев в работе, обязательно замените токен в вашем IdP до удаления старого токена в dbt.
-
Во всплывающем окне задайте имя токена, по которому его будет легко идентифицировать, и нажмите Save.
-
Скопируйте токен и сохраните его в безопасном месте, так как после закрытия окна он больше не будет доступен. В случае утери потребуется создать новый токен.
-
(Опционально) Ручные обновления по умолчанию отключены для всех сущностей, управляемых SCIM, включая возможность вручную приглашать новых пользователей. Это гарантирует синхронизацию SCIM-управляемых сущностей с IdP, и мы рекомендуем оставлять этот параметр отключённым.
- Однако, если вам необходимо выполнять ручные изменения (например, менять состав группы, управляемой SCIM), вы можете включить этот параметр, нажав Allow manual updates.
Конфигурация SCIM для Okta
Перед настройкой SCIM выполните шаги из руководства настройки SSO с Okta.
Настройка Okta
- Войдите в свой аккаунт Okta и найдите приложение, настроенное для SSO-интеграции с dbt.
- Перейдите на вкладку General и убедитесь, что опция Enable SCIM provisioning включена, иначе вкладка Provisioning не будет отображаться.
- Откройте вкладку Provisioning и выберите Integration.
- Вставьте SCIM base URL из dbt в первое поле, затем укажите предпочитаемое значение Unique identifier field for users — мы рекомендуем
userName. - Отметьте следующие Supported provisioning actions:
- Push New Users
- Push Profile Updates
- Push Groups
- Import New Users and Profile Updates (опционально для пользователей, созданных до настройки SSO/SCIM)
- В выпадающем списке Authentication mode выберите HTTP Header.
- В разделе Authorization вставьте токен из dbt в поле Bearer.
- Убедитесь, что выбраны следующие действия провижининга:
- Create users
- Update user attributes
- Deactivate users
- Протестируйте соединение и после завершения нажмите Save.
Теперь SCIM для SSO-интеграции с Okta в dbt настроен.
Формат имени пользователя для SCIM
SCIM требует, чтобы имя пользователя было в формате email-адреса. Если в настройках Okta поле Username сопоставлено с другим атрибутом, провижининг пользователей через SCIM завершится ошибкой. Чтобы избежать этого без изменения профилей пользователей, установите в конфигурации приложения Okta значение Email:
- Откройте SAML-приложение, созданное для интеграции с dbt.
- На вкладке Sign on нажмите Edit в секции Settings.
- Установите поле Application username format в значение Email.
- Нажмите Save.
Существующие интеграции Okta
Если вы добавляете SCIM к уже существующей интеграции Okta в dbt (а не настраиваете SCIM и SSO одновременно с нуля), обратите внимание на следующие моменты:
- Пользователи и группы, уже синхронизированные с dbt, станут управляемыми SCIM после завершения настройки.
- (Рекомендуется) Импортируйте и управляйте существующими группами и пользователями dbt с помощью функций Import Groups и Import Users в Okta. Обновите группы в вашем IdP, используя ту же схему наименований, что и для групп dbt. Новые пользователи, группы и изменения существующих профилей будут автоматически импортироваться в dbt.
- Убедитесь, что флажки Import users and profile updates и Import groups включены на вкладке Provisioning settings в конфигурации SCIM для Okta.
- Используйте Import Users, чтобы синхронизировать всех пользователей из dbt, включая ранее удалённых, если вам нужно повторно их провижинить.
- Подробнее об этой функции читайте в документации Okta.
Конфигурация SCIM для Entra ID
Перед настройкой SCIM выполните шаги из руководства настройки SSO с Entra ID.
Настройка Entra ID
- Войдите в свой аккаунт Azure и откройте настройки Entra ID.
- В боковом меню в разделе Manage выберите Enterprise Applications.
- Нажмите New Application и выберите вариант Create your own application.
- Задайте уникальное имя приложения и убедитесь, что выбран пункт Integrate any other application you don't find in the gallery (Non-gallery). Игнорируйте любые подсказки о существующих приложениях и нажмите Create.
- На экране Overview приложения нажмите Provision User Accounts.
- В разделе Create configuration нажмите Connect your application.
- Заполните форму данными из вашего dbt-аккаунта:
- Tenant URL в Entra ID — это ваш SCIM base URL из dbt
- Secret token в Entra ID — это ваш SCIM token из dbt
- Нажмите Test connection, а после успешного теста — Create.
Маппинг атрибутов
Чтобы настроить атрибуты, которые будут синхронизироваться с dbt:
- В боковом меню экрана Overview enterprise-приложения нажмите Provisioning.
- В разделе Manage снова нажмите Provisioning.
- Разверните раздел Mappings и нажмите Provision Microsoft Entra ID users.
- Установите флажок Show advanced options, затем нажмите Edit attribute list for customappsso.
- Прокрутите окно Edit attribute list вниз и найдите пустое поле, чтобы добавить новую запись со следующими параметрами:
- Name:
emails[type eq "work"].primary - Type:
Boolean - Required: True
- Name:
- Отметьте все поля, перечисленные в шаге 10 ниже, как
Required. - Нажмите Save.
- Вернувшись в окно Attribute mapping, нажмите Add new mapping и заполните поля следующим образом:
- Mapping type:
none - Default value if null (optional):
True - Target attribute:
emails[type eq "work"].primary - Match objects using this attribute:
No - Matching precedence: Оставьте пустым
- Apply this mapping:
Always
- Mapping type:
- Нажмите Ok.
- Убедитесь, что настроены следующие маппинги, и удалите все остальные:
- UserName:
userPrincipalName - active:
Switch([IsSoftDeleted], , "False", "True", "True", "False") - emails[type eq "work"].value:
userPrincipalName - name.givenName:
givenName - name.familyName:
surname - externalid:
mailNickname - emails[type eq "work"].primary
- UserName:
- Нажмите Save.
Теперь вы можете начинать назначать пользователей для SCIM-приложения в Entra ID!
Назначение пользователей SCIM-приложению
Ниже описаны шаги по назначению пользователей и групп SCIM-приложению. Для получения дополнительной информации см. официальную документацию Microsoft по назначению пользователей или групп Enterprise-приложению в Entra ID. Хотя статья написана для Databricks, шаги полностью идентичны.
- Перейдите в Enterprise applications и выберите SCIM-приложение.
- Откройте Manage > Provisioning.
- Чтобы синхронизировать пользователей и группы Microsoft Entra ID с dbt, нажмите кнопку Start provisioning.
- Вернитесь на страницу обзора SCIM-приложения и перейдите в Manage > Users and groups.
- Нажмите Add user/group и выберите пользователей и группы.
- Нажмите кнопку Assign.
- Подождите несколько минут. В dbt platform убедитесь, что пользователи и группы появились в вашем dbt-аккаунте.
- Пользователи и группы, которые вы добавляете и назначаете, будут автоматически провижиниться в ваш dbt-аккаунт при следующей синхронизации Microsoft Entra ID.
- При включении провижининга сразу запускается первоначальная синхронизация Microsoft Entra ID. Последующие синхронизации выполняются каждые 20–40 минут в зависимости от количества пользователей и групп в приложении. Подробнее см. документацию Microsoft Entra ID Provisioning tips.
- Вы также можете запустить ручной провижининг вне расписания, нажав Restart provisioning.
Управление лицензиями пользователей с помощью SCIM
Вы можете управлять назначением лицензий пользователей через SCIM, используя пользовательский атрибут в вашей среде IdP. Это обеспечивает корректное распределение лицензий по мере провижининга пользователей в IdP и их онбординга в ваш dbt-аккаунт.
Лицензия Analyst доступна только для некоторых планов. Назначение лицензии Analyst через SCIM приведёт к ошибке обновления пользователя, если данный тип лицензии недоступен для вашего dbt-аккаунта.
Чтобы использовать управление лицензиями через SCIM, включите эту функцию в разделе SCIM настроек Single sign-on. Этот параметр будет принудительно устанавливать тип лицензии пользователя на основе его SCIM-атрибута и отключит маппинг лицензий и ручную настройку лицензий в dbt.
Мы рекомендуем завершить настройку вашего провайдера идентификации до включения этого переключателя в dbt-аккаунте. После его включения все существующие маппинги лицензий в dbt platform будут игнорироваться. В настоящее время маппинг лицензий через SCIM поддерживается только для Okta.
Рекомендуемые шаги для миграции на маппинг лицензий через SCIM:
- Настройте SCIM, но оставьте переключатель выключенным, чтобы существующие маппинги лицензий продолжали работать.
- Настройте атрибуты лицензий в вашем Identity Provider (IdP).
- Протестируйте, что SCIM-атрибуты используются для установки типа лицензии в dbt platform.
- Включите переключатель, чтобы игнорировать существующие маппинги лицензий и сделать SCIM источником истины для назначения лицензий пользователям.
Добавление атрибута типа лицензии для Okta
Чтобы добавить атрибут для типов лицензий в среде Okta:
-
В приложении Okta перейдите на вкладку Provisioning, прокрутите до Attribute Mappings и нажмите Go to Profile Editor.
-
Нажмите Add Attribute.
-
Настройте поля атрибута следующим образом (регистр значений должен совпадать):
- Date type:
string - Display name:
License Type - Variable name:
licenseType - External name:
licenseType - External namespace:
urn:ietf:params:scim:schemas:extension:dbtLabs:2.0:User - Description: Произвольная строка на ваше усмотрение.
- Enum: Установите флажок Define enumerated list of values
- Attribute members: Добавьте начальный атрибут и нажимайте Add another, пока не будут добавлены все типы лицензий. Мы рекомендуем добавить все значения, даже если вы не используете их сейчас, чтобы они были доступны в будущем.
Loading table... - Attribute type: Personal
- Date type:
-
Нажмите Save, чтобы сохранить маппинг атрибута.
-
Теперь пользователям можно назначать типы лицензий в их профилях, и они будут применяться при провижининге.























