Настройка SCIM в Okta
Настройте автоматический провижининг пользователей и групп из Okta в SecureCodingHub с использованием SCIM 2.0.
Предварительные условия
- Admin-учётная запись Okta
- Учётная запись администратора организации SecureCodingHub
- Настроенный SSO (рекомендуется, но не обязательно)
Шаг 1 — Сгенерируйте SCIM-токен
Войдите в SecureCodingHub как Администратор организации
Перейдите в Настройки → SCIM
Нажмите Generate Token
Скопируйте токен — он показывается только один раз
Шаг 2 — Настройте SCIM в Okta
Перейдите в Okta Admin → Applications → Ваше приложение SecureCodingHub
Перейдите на вкладку Provisioning → Configure API Integration
Отметьте Enable API integration
SCIM connector base URL: https://api.limeplate.com/api/sch/scim/v2
Unique identifier field: email
API Token: вставьте Ваш SCIM-токен
Нажмите Test API Credentials — должно показать «Verified»
Сохраните
Шаг 3 — Включите функции провижининга
Включите следующие функции провижининга в Okta для полного управления жизненным циклом:
| Функция | Рекомендуется |
|---|---|
| Create Users | Включить |
| Update User Attributes | Включить |
| Deactivate Users | Включить |
| Push Groups | Включить — синхронизирует команды |
Шаг 4 — Протестируйте провижининг
Назначьте тестового пользователя приложению в Okta
Проверьте страницу Пользователи в SecureCodingHub — пользователь должен появиться
Обновите имя пользователя в Okta → проверьте, что оно обновляется в SecureCodingHub
Удалите пользователя из приложения в Okta → проверьте, что пользователь деактивирован
Настройки SCIM в SecureCodingHub
Вот как выглядит панель конфигурации SCIM в админ-настройках:
Чек-лист перед развёртыванием для Okta SCIM
Прежде чем Вы нажмёте Save в панели провижининга Okta, пройдитесь по короткому чек-листу верификации. Во-первых, подтвердите, что SCIM connector base URL — точное значение, задокументированное на странице Обзор SCIM. Завершающий слэш, отсутствующий сегмент пути версии или указание на неправильный регион произведёт сбивающие с толку 404-ответы, которые Okta выводит как общие ошибки учётных данных. Во-вторых, убедитесь, что SCIM-токен, который Вы вставили, — это тот, который Вы только что сгенерировали, а не частично скопированная строка. SCIM-токены длинные и легко обрезаются при копировании из модального окна.
В-третьих, ограничьте токен правильной организацией SecureCodingHub. Если у Вашего тенанта несколько организаций, токен привязан к организации, которая его сгенерировала, и не будет провизионить пользователей в другую. В-четвёртых, спланируйте сопоставление атрибутов до включения провижининга. Решите, должно ли userName сопоставляться с userPrincipalName или с mail. В большинстве тенантов Okta это одинаково, но в организациях с прокси-адресами или мульти-доменными конфигурациями они расходятся. Выбирайте значение, соответствующее email, с которым пользователи входят, иначе SSO и SCIM создадут дубликаты учётных записей.
Наблюдение за первой синхронизацией
Успешная первая синхронизация проходит без событий. В Okta перейдите в Provisioning и наблюдайте за вкладкой Logs. Вы должны увидеть последовательность событий Create user, разрешающихся в статус Success, каждое с 201-ответом от эндпоинта SecureCodingHub. На стороне SecureCodingHub новые пользователи появляются на странице Пользователи с заполненными email и отображаемым именем. Общее время для первой синхронизации зависит от числа назначений и глубины очереди Okta, но обычно меньше двух минут для маленькой пилотной группы.
Неудачное сопоставление атрибутов выглядит иначе. Okta сообщит о Create user как Failed, запись лога будет включать SCIM-ответ об ошибке, и самое распространённое сообщение — это 400, указывающее на отсутствующий обязательный атрибут или неверный формат. Исправьте сопоставление на вкладке Provisioning, нажмите Retry Failed Operations и наблюдайте за завершением следующего цикла. Если ошибки сохраняются, сгенерируйте свежий токен, перепроверьте базовый URL и подтвердите, что у пользователя, которого Вы назначили, есть значения в атрибутах, на которые ссылается Ваше сопоставление.