# Настройка SCIM с Okta

Платформа dbt | Enterprise, Enterprise+

SCIM доступен для Okta

[Сопоставление лицензий](https://docs.getdbt.tech/docs/platform/manage-access/scim-manage-user-licenses.md) через System for Cross-Domain Identity Management (SCIM) в настоящее время поддерживается только для Okta. Для других поставщиков типами лицензий необходимо [управлять](https://docs.getdbt.tech/docs/platform/manage-access/seats-and-users.md#mapped-configuration) в пользовательском интерфейсе dbt platform.

## Предварительные требования

* Доступно на [тарифных планах Enterprise и Enterprise+](https://www.getdbt.com/pricing).

* Вы должны использовать Okta в качестве поставщика единого входа (SSO) и подключить его к dbt platform.

* У вас должны быть [разрешения](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md) на настройку параметров аккаунта в dbt platform.

* Прежде чем настраивать параметры SCIM, выполните [настройку SSO с Okta](https://docs.getdbt.tech/docs/platform/manage-access/set-up-sso-okta.md).

* Выполните [настройку SCIM](https://docs.getdbt.tech/docs/platform/manage-access/scim.md#set-up-dbt), чтобы получить базовый URL SCIM и токен.

* **Требуется группа Account Admin:** Перед включением SCIM для вашей учетной записи dbt необходимо создать группу администраторов учетной записи dbt в вашем IdP и группу с таким же именем в вашей учетной записи dbt. Назначьте группе dbt набор разрешений [Account Admin](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md#account-admin).

  Без этой группы после включения выделения ресурсов через SCIM ваши пользователи могут быть удалены из группы dbt 'Owner', созданной по умолчанию, и потерять административный доступ к вашей учетной записи dbt. Имена этих двух групп могут соответствовать принятой в вашем IdP схеме именования групп, но имя группы в dbt должно полностью совпадать с именем группы в IdP.

## Настройка Okta

1. Войдите в свой аккаунт Okta и выберите **Applications** на боковой панели. Откройте приложение, настроенное для SSO.

2. Нажмите на приложение и перейдите на вкладку **General**.

3. В разделе **App Settings** нажмите **Edit** и установите флажок **SCIM** в строке **Provisioning**, чтобы включить подготовку учетных записей через SCIM.

4. Нажмите **Save**, после чего появится вкладка **Provisioning**.

   [![Включение подготовки учетных записей через SCIM в Okta.](/img/docs/dbt-platform/access-control/scim-provisioned.png?v=2 "Включение подготовки учетных записей через SCIM в Okta.")](#)Включение подготовки учетных записей через SCIM в Okta.

5. Откройте вкладку **Provisioning** и выберите **Integration**.

6. Нажмите **Edit** и введите в первое поле **SCIM base URL**, полученный при [настройке SCIM](https://docs.getdbt.tech/docs/platform/manage-access/scim.md#set-up-dbt). Для **Unique identifier field for users** рекомендуем указать `userName`.

7. В разделе **Supported provisioning actions** выберите:

   * **Push New Users**
   * **Push Profile Updates**
   * **Push Groups**
   * **Import New Users and Profile Updates** (необязательно; для пользователей, созданных до настройки SSO/SCIM)
   * **Import Groups** (необязательно)

8. В раскрывающемся списке **Authentication mode** выберите **HTTP Header**.

9. В разделе **Authorization** введите токен из dbt в поле **Bearer**.

   [![Заполненная конфигурация SCIM в приложении Okta.](/img/docs/dbt-platform/access-control/scim-okta-config.png?v=2 "Заполненная конфигурация SCIM в приложении Okta.")](#)Заполненная конфигурация SCIM в приложении Okta.

10. Нажмите **Save**, чтобы проверить подключение, после чего вы перейдете на вкладку **Provisioning**.

11. Нажмите **Edit** и убедитесь, что выбраны следующие действия по подготовке учетных записей:

    * **Create Users**
    * **Update User Attributes**
    * **Deactivate Users**

    [![Убедитесь, что эти параметры обеспечивают корректную подготовку учетных записей пользователей.](/img/docs/dbt-platform/access-control/provisioning-actions.png?v=2 "Убедитесь, что эти параметры обеспечивают корректную подготовку учетных записей пользователей.")](#)Убедитесь, что эти параметры обеспечивают корректную подготовку учетных записей пользователей.

12. Нажмите **Save**, чтобы завершить настройку подготовки учетных записей.

13. Чтобы завершить настройку групп, перейдите в **Push Groups** и отправьте группы Okta в dbt platform. После этого группы станут доступны в dbt platform.

## Назначение наборов разрешений группам SCIM

SCIM синхронизирует группы и состав их участников с dbt platform, но не назначает [наборы разрешений](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md). Без набора разрешений участники группы не получат доступа к функциям за пределами своего профиля пользователя.

1. После синхронизации перейдите в **Account settings** → **Groups & Licenses**, где автоматически появится группа SCIM.
2. Откройте группу, синхронизированную через SCIM. Не создавайте ещё одну группу для той же группы IdP, поскольку это приведёт к появлению дубликата.
3. В разделе **Access & permissions** нажмите **Add permission**.
4. Выберите [набор разрешений](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md), проекты, к которым он должен применяться, и, если применимо, [доступ на уровне окружения](https://docs.getdbt.tech/docs/platform/manage-access/environment-permissions.md).
5. Нажмите **Save**.

Повторите эти действия для каждой группы, синхронизированной через SCIM, которой требуется доступ.

Теперь SCIM настроен для интеграции SSO с Okta в dbt platform. Вы можете [управлять лицензиями пользователей с помощью SCIM](https://docs.getdbt.tech/docs/platform/manage-access/scim-manage-user-licenses.md), чтобы задавать тип лицензии для пользователей при подготовке их учетных записей.

## Формат имени пользователя SCIM

При использовании SCIM с Okta в dbt platform значение `userName` **должно иметь формат адреса электронной почты**. dbt platform использует `userName` для поиска существующих пользователей во время синхронизации SCIM. Если Okta передает значение в другом формате (например, внутренний идентификатор Okta вида `00u...` или идентификатор сотрудника), dbt platform не сможет сопоставить его с существующим пользователем, и подготовка учетной записи завершится ошибкой.

Если в вашей конфигурации Okta поле `Username` сопоставлено с другим атрибутом, задайте значение `Email` в настройках приложения Okta:

1. Откройте приложение SAML, созданное для интеграции с dbt.
2. На вкладке **Sign on** нажмите **Edit** на панели **Settings**.
3. Установите для поля **Application username format** значение **Email**.
4. Нажмите **Save**.

Имя пользователя для SSO и SCIM

При совместном использовании SSO и SCIM с Okta формат SAML **Application username** должен быть **Email**. SCIM требует, чтобы `userName` имел формат адреса электронной почты и совпадал со значением атрибута электронной почты, чтобы пользователи корректно сопоставлялись при входе через SSO и подготовке учетных записей.

## Сопоставление лицензий SCIM

Чтобы автоматизировать назначение лицензионных мест в Okta при подготовке учетных записей пользователей, см. раздел [Управление лицензиями пользователей с помощью SCIM](https://docs.getdbt.tech/docs/platform/manage-access/scim-manage-user-licenses.md).

## Существующие интеграции с Okta

Если вы добавляете SCIM к существующей интеграции с Okta в dbt platform (а не настраиваете SCIM и SSO одновременно впервые), учитывайте особенности поведения, описанные ниже. Подробнее о том, что происходит с уже существующими пользователями, см. в разделе [Часто задаваемые вопросы о SCIM](https://docs.getdbt.tech/docs/platform/manage-access/scim-faq.md):

* Пользователи и группы, уже синхронизированные с dbt, перейдут под управление SCIM после завершения настройки SCIM.

* (Рекомендуется) Импортируйте существующие группы и пользователей dbt и управляйте ими с помощью функций Okta **Import Groups** и **Import Users**. Обновите группы в своем IdP, используя те же правила именования, что и для групп dbt. Новые пользователи, группы и изменения существующих профилей будут автоматически импортироваться в dbt.

  * Убедитесь, что на вкладке **Provisioning settings** в конфигурации SCIM в Okta установлены флажки **Import users and profile updates** и **Import Groups**.
  * Используйте **Import Users**, чтобы синхронизировать всех пользователей из dbt, включая ранее удаленных, если вам нужно повторно подготовить их учетные записи.
  * Подробнее об этой функции см. в [документации Okta](https://help.okta.com/en-us/content/topics/users-groups-profiles/usgp-import-groups-app-provisioning.htm).

Чтобы задавать тип лицензии для пользователей при подготовке их учетных записей, см. раздел [Управление лицензиями пользователей с помощью SCIM](https://docs.getdbt.tech/docs/platform/manage-access/scim-manage-user-licenses.md).

## Часто задаваемые вопросы и устранение неполадок

Ответы на распространенные вопросы о подготовке учетных записей через SCIM с Okta, включая процессы подключения пользователей, особенности сопоставления групп SSO и устранение неполадок, см. в разделе [Часто задаваемые вопросы о SCIM и устранение неполадок](https://docs.getdbt.tech/docs/platform/manage-access/scim-faq.md).
