# Как настроить SCIM с Okta

В этом руководстве объясняется, как настроить провижининг пользователей и групп SCIM между Okta и вашей организацией Hugging Face с помощью SCIM.

> [!WARNING]
> Эта функция входит в планы Enterprise и Enterprise Plus.

> [!NOTE]
> Для использования SCIM необходимо сначала настроить SSO в вашей организации. [Базовый SSO](./security-sso-basic) настраивается самостоятельно, [Управляемый SSO](./enterprise-advanced-sso) — командой Hugging Face.

## Шаг 1: Получите конфигурацию SCIM от Hugging Face

1.  Войдите в аккаунт Hugging Face, являющийся владельцем организации.
2.  Перейдите на страницу настроек вашей организации на Hugging Face.
3.  Перейдите на вкладку **SSO**, затем щёлкните по подвкладке **SCIM**.
4.  Скопируйте **SCIM Tenant URL**. Он понадобится для конфигурации Okta.
5.  Нажмите **Generate an access token**. Будет создан новый SCIM-токен. Скопируйте этот токен сразу и сохраните его в безопасном месте, так как повторно отобразить его будет невозможно.

    
    

## Шаг 2: Введите учетные данные администратора

1. В Okta перейдите в раздел **Applications** и выберите ваше приложение Hugging Face.
2. Перейдите на вкладку **General** и нажмите **Edit** в настройках приложения
3. Для параметра Provisioning выберите **SCIM**, затем нажмите **Save**
4. Перейдите на вкладку **Provisioning**, а в разделе **Settings** нажмите **Integration**.
5. Введите **SCIM Tenant URL** в качестве базового URL для SCIM-коннектора.
6. Введите **userName** в поле Уникальный идентификатор для пользователей.
7. Выберите все необходимые действия для Supported provisioning actions.
8. Выберите **HTTP Header** в качестве режима аутентификации.
9. Введите **Access Token**, который вы создали, в качестве Authorization Bearer Token.
10. Нажмите **Test Connector Configuration**, чтобы проверить подключение.
11. Сохраните изменения.

## Шаг 3: Проверьте настройки SAML

На вкладке **General**, в разделе **SAML Settings**, убедитесь, что:

- Формат идентификатора имени — `Unspecified`
- Имя пользователя приложения — `Custom`, с выражением `user.getInternalProperty("id")`
- В разделе **Attribute Statements** значение `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` установлено в `user.email`

Если вы изменили какие-либо из этих параметров, отключите, а затем снова включите SSO в настройках SSO вашей организации на Hugging Face.

## Шаг 4: Настройка Provisioning

1. На вкладке **Provisioning** нажмите **To App** в боковой навигации.
2. Нажмите **Изменить** и включите все необходимые функции, например, создание, обновление и удаление пользователей.
3. Нажмите **Save** внизу.

## Шаг 5: Настройка соответствий атрибутов

1.  По-прежнему находясь на вкладке **Provisioning**, прокрутите страницу вниз до раздела Attribute Mappings
2.  Сопоставление атрибутов по умолчанию часто требует корректировок для надёжного развёртывания. Мы рекомендуем использовать следующую конфигурацию. Атрибуты, которых здесь нет, можно удалить:

    
    

## Шаг 6: Назначение пользователей или групп

1. Перейдите на вкладку **Назначения** и нажмите **Назначить**
2. Нажмите **Назначить людям** или **Назначить группам**
3. После того как вы найдёте пользователя или группу, которой нужно назначить доступ, нажмите **Assign** рядом с их именем. Оставьте имя пользователя без изменений.
4. Прокрутите вниз и нажмите **Сохранить и вернуться**
5. Нажмите **Готово**
6. Убедитесь, что пользователи или группы в вашей организации Hugging Face создаются, обновляются или деактивируются ожидаемым образом.

## Шаг 7: Отправка групп Okta в Hugging Face через SCIM

Прежде чем вы сможете связать группы с Hugging Face Resource Groups, вам необходимо отправить ваши группы Okta в Hugging Face с помощью вкладки **Push Groups**. Это отдельный шаг от назначения пользователей в приложении на шаге 6.

> [!WARNING]
> Okta не поддерживает использование одной и той же группы для назначения приложения (шаг 6) и Group Push. Используйте отдельную группу для push — держите группы для push отдельно от групп назначения.

1.  В консоли администратора Okta перейдите в раздел **Applications** и выберите ваше приложение Hugging Face.
2.  Нажмите на вкладку **Push Groups**.
3.  Нажмите **+ Push Groups** и выберите **Поиск групп по имени**.
4.  Найдите группу Okta, которую вы хотите отправить, и выберите её из результатов.
5.  Выберите способ обработки группы в Hugging Face:
    - **Создать группу**: создаёт новую группу SCIM в вашей организации Hugging Face.
    - **Группа ссылок**: Ссылки на существующую группу в вашей организации Hugging Face.
6.  Нажмите **Save**. Чтобы добавить ещё одну группу, нажмите **Save & Add Another** и повторите действие.

После отправки группа появится в разделе **SCIM Groups** в настройках вашей организации Hugging Face (SSO → вкладка SCIM). Любые изменения состава группы, которые вы внесёте в Okta, будут автоматически синхронизированы с Hugging Face.

## Шаг 8: Связывание групп SCIM с группами ресурсов Hugging Face

После того как ваши группы будут созданы из Okta, вы можете связать их с Hugging Face Resource Groups для управления правами доступа в масштабе. Это позволяет всем членам SCIM-группы автоматически получать определённые роли (например, read или write) для набора ресурсов.

> [!NOTE]
> Перед привязкой убедитесь, что группа ресурсов, которую вы хотите привязать, **пустая** (не содержит существующих участников) и для неё **не** включено автоматическое присоединение. Оба условия обязательны — в противном случае привязка завершится ошибкой.

1.  В настройках вашей организации Hugging Face перейдите на вкладку **SSO** -> **SCIM**. В разделе **SCIM Groups** вы увидите список созданных групп.
2.  Найдите группу, которую вы хотите настроить, и нажмите **Link resource groups** в её строке.
3.  Появится диалоговое окно. Нажмите **Link a Resource Group**.
4.  В выпадающих списках выберите **группу ресурсов**, которую вы хотите связать, и **назначение роли**, которое вы хотите предоставить членам группы SCIM.
5.  Нажмите **Ссылка на группу SCIM** и сохраните сопоставление.

После привязки группа ресурсов становится **управляемой через SCIM**: все участники, уже входящие в группу SCIM, немедленно добавляются в группу ресурсов (backfill), а все будущие изменения состава в Okta автоматически отражаются. Ручное редактирование состава группы ресурсов через интерфейс Hub или API будет заблокировано.

