SCIM (System for Cross-domain Identity Management)
Status200 поддерживает протокол SCIM v2.0 для автоматического provisioning и deprovisioning пользователей. SCIM позволяет провайдерам идентичности (IdP), таким как Azure AD, Okta и другим корпоративным системам, автоматически управлять доступом пользователей к проектам и страницам статуса Status200.
Обзор
Интеграция SCIM даёт следующие преимущества:
- Автоматический provisioning пользователей: пользователи создаются в Status200 при назначении в IdP
- Автоматический deprovisioning пользователей: пользователи удаляются из Status200 при снятии назначения в IdP
- Синхронизация атрибутов пользователей: данные пользователей остаются согласованными между IdP и Status200
- Централизованное управление доступом: доступ к Status200 управляется из вашей существующей системы управления идентичностью
SCIM для проектов
Project SCIM позволяет провайдерам идентичности управлять участниками команды в проектах Status200.
Настройка Project SCIM
Перейдите в настройки проекта
- Откройте проект Status200
- Перейдите в Project Settings (Настройки проекта) > Team (Команда) > SCIM
Настройте SCIM
- Включите Auto Provision Users (Автоматическое создание пользователей), чтобы добавлять пользователей при назначении в IdP
- Включите Auto Deprovision Users (Автоматическое удаление пользователей), чтобы убирать пользователей при снятии назначения в IdP
- Выберите Default Teams (Команды по умолчанию), в которые будут добавляться новые пользователи
- Скопируйте SCIM Base URL и Bearer Token для настройки IdP
Настройте провайдера идентичности
- Используйте SCIM Base URL:
https://status200.ru/scim/v2/{scimId} - Настройте аутентификацию bearer token с выданным токеном
- Сопоставьте атрибуты пользователей (email обязателен)
- Используйте SCIM Base URL:
Эндпоинты Project SCIM
- Service Provider Config:
GET /scim/v2/{scimId}/ServiceProviderConfig - Schemas:
GET /scim/v2/{scimId}/Schemas - Resource Types:
GET /scim/v2/{scimId}/ResourceTypes - List Users:
GET /scim/v2/{scimId}/Users - Get User:
GET /scim/v2/{scimId}/Users/{userId} - Create User:
POST /scim/v2/{scimId}/Users - Update User:
PUT /scim/v2/{scimId}/Users/{userId}илиPATCH /scim/v2/{scimId}/Users/{userId} - Delete User:
DELETE /scim/v2/{scimId}/Users/{userId} - List Groups:
GET /scim/v2/{scimId}/Groups - Get Group:
GET /scim/v2/{scimId}/Groups/{groupId} - Create Group:
POST /scim/v2/{scimId}/Groups - Update Group:
PUT /scim/v2/{scimId}/Groups/{groupId}илиPATCH /scim/v2/{scimId}/Groups/{groupId} - Delete Group:
DELETE /scim/v2/{scimId}/Groups/{groupId}
Жизненный цикл пользователя Project SCIM
- Назначение пользователя в IdP: пользователь назначен Status200 в IdP
- SCIM provisioning: IdP вызывает SCIM API Status200 для создания пользователя
- Членство в команде: пользователь автоматически добавляется в настроенные команды по умолчанию
- Доступ предоставлен: пользователь получает доступ к проекту Status200
- Снятие назначения: пользователь снят с назначения в IdP
- SCIM deprovisioning: IdP вызывает SCIM API Status200 для удаления пользователя
- Доступ отозван: пользователь теряет доступ к проекту
SCIM для страниц статуса
Status Page SCIM позволяет провайдерам идентичности управлять подписчиками приватных страниц статуса.
Настройка Status Page SCIM
Перейдите в настройки страницы статуса
- Откройте страницу статуса Status200
- Перейдите в Status Page Settings (Настройки страницы статуса) > Private Users (Приватные пользователи) > SCIM
Настройте SCIM
- Включите Auto Provision Users, чтобы автоматически добавлять подписчиков при назначении в IdP
- Включите Auto Deprovision Users, чтобы автоматически удалять подписчиков при снятии назначения в IdP
- Скопируйте SCIM Base URL и Bearer Token для настройки IdP
Настройте провайдера идентичности
- Используйте SCIM Base URL:
https://status200.ru/status-page-scim/v2/{scimId} - Настройте аутентификацию bearer token с выданным токеном
- Сопоставьте атрибуты пользователей (email обязателен)
- Используйте SCIM Base URL:
Эндпоинты Status Page SCIM
- Service Provider Config:
GET /status-page-scim/v2/{scimId}/ServiceProviderConfig - Schemas:
GET /status-page-scim/v2/{scimId}/Schemas - Resource Types:
GET /status-page-scim/v2/{scimId}/ResourceTypes - List Users:
GET /status-page-scim/v2/{scimId}/Users - Get User:
GET /status-page-scim/v2/{scimId}/Users/{userId} - Create User:
POST /status-page-scim/v2/{scimId}/Users - Update User:
PUT /status-page-scim/v2/{scimId}/Users/{userId}илиPATCH /status-page-scim/v2/{scimId}/Users/{userId} - Delete User:
DELETE /status-page-scim/v2/{scimId}/Users/{userId}
Жизненный цикл пользователя Status Page SCIM
- Назначение в IdP: пользователь назначен Status200 Status Page в IdP
- SCIM provisioning: IdP вызывает SCIM API Status200 для создания подписчика
- Доступ предоставлен: пользователь получает доступ к приватной странице статуса
- Снятие назначения: пользователь снят с назначения в IdP
- SCIM deprovisioning: IdP вызывает SCIM API Status200 для удаления подписчика
- Доступ отозван: пользователь теряет доступ к странице статуса
Настройка провайдера идентичности
Microsoft Entra ID (ранее Azure AD)
Microsoft Entra ID обеспечивает корпоративное управление идентичностью с надёжными возможностями SCIM provisioning. Ниже пошаговая настройка SCIM provisioning со Status200.
Предварительные требования
- Тенант Microsoft Entra ID с лицензией Premium P1 или P2 (нужна для автоматического provisioning)
- Учётная запись Status200 с тарифом Scale или выше
- Права администратора в Microsoft Entra ID и Status200
Шаг 1: получить конфигурацию SCIM в Status200
- Войдите в панель Status200
- Перейдите в Project Settings > Team > SCIM
- Нажмите Create SCIM Configuration (Создать конфигурацию SCIM)
- Укажите понятное имя (например, «Microsoft Entra ID Provisioning»)
- Настройте параметры:
- Auto Provision Users: включите для автоматического создания пользователей
- Auto Deprovision Users: включите для автоматического удаления пользователей
- Default Teams: выберите команды для новых пользователей
- Enable Push Groups: включите, если членство в командах управляется группами Entra ID
- Сохраните конфигурацию
- Скопируйте SCIM Base URL и Bearer Token — они понадобятся в Entra ID
Шаг 2: создать корпоративное приложение в Microsoft Entra ID
- Войдите в центр администрирования Microsoft Entra
- Перейдите в Identity > Applications > Enterprise applications
- Нажмите + New application
- Нажмите + Create your own application
- Укажите имя (например, «Status200»)
- Выберите Integrate any other application you don't find in the gallery (Non-gallery)
- Нажмите Create
Шаг 3: настроить SCIM provisioning
- В корпоративном приложении Status200 откройте Provisioning
- Нажмите Get started
- Установите Provisioning Mode в Automatic
- В разделе Admin Credentials:
- Tenant URL: введите SCIM Base URL из Status200 (например,
https://status200.ru/api/identity/scim/v2/{your-scim-id}) - Secret Token: введите Bearer Token из Status200
- Tenant URL: введите SCIM Base URL из Status200 (например,
- Нажмите Test Connection, чтобы проверить конфигурацию
- Нажмите Save
Шаг 4: настроить сопоставление атрибутов
- В разделе Provisioning нажмите Mappings
- Нажмите Provision Azure Active Directory Users
- Настройте сопоставления:
| Атрибут Azure AD | Атрибут Status200 SCIM | Обязательно |
|---|---|---|
userPrincipalName | userName | Да |
mail | emails[type eq "work"].value | Рекомендуется |
displayName | displayName | Рекомендуется |
givenName | name.givenName | Необязательно |
surname | name.familyName | Необязательно |
Switch([IsSoftDeleted], , "False", "True", "True", "False") | active | Рекомендуется |
- Удалите ненужные сопоставления, чтобы упростить provisioning
- Нажмите Save
Шаг 5: настроить provisioning групп (необязательно)
Если в Status200 включён Push Groups:
- Вернитесь в Mappings
- Нажмите Provision Azure Active Directory Groups
- Включите provisioning групп, установив Enabled в Yes
- Настройте сопоставления:
| Атрибут Azure AD | Атрибут Status200 SCIM |
|---|---|
displayName | displayName |
members | members |
- Нажмите Save
Шаг 6: назначить пользователей и группы
- В корпоративном приложении Status200 откройте Users and groups
- Нажмите + Add user/group
- Выберите пользователей и/или группы для provisioning в Status200
- Нажмите Assign
Шаг 7: запустить provisioning
- Перейдите в Provisioning > Overview
- Нажмите Start provisioning
- Начнётся первый цикл provisioning (первый sync может занять до 40 минут)
- Следите за Provisioning logs на предмет ошибок
Устранение неполадок Microsoft Entra ID
- Test Connection не проходит: убедитесь, что SCIM Base URL содержит префикс
/api/identity, а Bearer Token верен - Пользователи не создаются: проверьте назначение на приложение и корректность сопоставления атрибутов
- Ошибки provisioning: изучите Provisioning logs в Entra ID
- Задержки sync: первый цикл может занять до 40 минут; далее sync обычно каждые 40 минут
Okta
Okta обеспечивает гибкое управление идентичностью с хорошей поддержкой SCIM. Ниже пошаговая настройка SCIM provisioning со Status200.
Предварительные требования
- Тенант Okta с возможностями provisioning (функция Lifecycle Management)
- Учётная запись Status200 с тарифом Scale или выше
- Права администратора в Okta и Status200
Шаг 1: получить конфигурацию SCIM в Status200
- Войдите в панель Status200
- Перейдите в Project Settings > Team > SCIM
- Нажмите Create SCIM Configuration
- Укажите понятное имя (например, «Okta Provisioning»)
- Настройте параметры:
- Auto Provision Users: включите для автоматического создания пользователей
- Auto Deprovision Users: включите для автоматического удаления пользователей
- Default Teams: выберите команды для новых пользователей
- Enable Push Groups: включите, если членство управляется группами Okta
- Сохраните конфигурацию
- Скопируйте SCIM Base URL и Bearer Token — они понадобятся в Okta
Шаг 2: создать или настроить приложение Okta
Если у вас уже есть приложение SSO:
- Войдите в Okta Admin Console
- Перейдите в Applications > Applications
- Найдите и откройте существующее приложение Status200
Если создаёте новое приложение:
- Войдите в Okta Admin Console
- Перейдите в Applications > Applications
- Нажмите Create App Integration
- Выберите SAML 2.0 и нажмите Next
- Укажите «Status200» как имя приложения
- Завершите настройку SAML (см. документацию по SSO)
- Нажмите Finish
Шаг 3: включить SCIM provisioning
- В приложении Status200 откройте вкладку General
- В разделе App Settings нажмите Edit
- В Provisioning выберите SCIM
- Нажмите Save
- Появится новая вкладка Provisioning
Шаг 4: настроить подключение SCIM
- Откройте вкладку Provisioning
- В левой панели нажмите Integration
- Нажмите Configure API Integration
- Включите Enable API integration
- Укажите:
- SCIM connector base URL: SCIM Base URL из Status200 (например,
https://status200.ru/api/identity/scim/v2/{your-scim-id}) - Unique identifier field for users:
userName - Supported provisioning actions: выберите нужные действия:
- Import New Users and Profile Updates
- Push New Users
- Push Profile Updates
- Push Groups (при групповом provisioning)
- Authentication Mode: HTTP Header
- Authorization:
Bearer {your-bearer-token}(подставьте реальный токен)
- SCIM connector base URL: SCIM Base URL из Status200 (например,
- Нажмите Test API Credentials для проверки
- Нажмите Save
Шаг 5: настроить provisioning в приложение
- На вкладке Provisioning выберите To App в левой панели
- Нажмите Edit
- Включите:
- Create Users: создание новых пользователей
- Update User Attributes: синхронизация изменений атрибутов
- Deactivate Users: deprovisioning при снятии назначения
- Нажмите Save
Шаг 6: настроить сопоставление атрибутов
- Прокрутите до Attribute Mappings
- Проверьте или настройте сопоставления:
| Атрибут Okta | Атрибут Status200 SCIM | Направление |
|---|---|---|
userName | userName | Okta to App |
user.email | emails[primary eq true].value | Okta to App |
user.firstName | name.givenName | Okta to App |
user.lastName | name.familyName | Okta to App |
user.displayName | displayName | Okta to App |
- Удалите лишние сопоставления
- При изменениях нажмите Save
Шаг 7: настроить Push Groups (необязательно)
Если в Status200 включён Push Groups:
- Откройте вкладку Push Groups
- Нажмите + Push Groups
- Выберите Find groups by name или Find groups by rule
- Найдите и выберите группы для push
- Нажмите Save
Шаг 8: назначить пользователей
- Откройте вкладку Assignments
- Нажмите Assign > Assign to People или Assign to Groups
- Выберите пользователей или группы для provisioning
- Для каждого выбора нажмите Assign
- Нажмите Done
Шаг 9: проверить provisioning
- В Okta Admin Console откройте Reports > System Log
- Отфильтруйте события по приложению Status200
- Убедитесь, что события provisioning успешны
- Проверьте в Status200, что пользователи созданы
Устранение неполадок Okta
- Test API Credentials не проходит: проверьте SCIM Base URL и Bearer Token
- Пользователи не создаются: убедитесь, что пользователи назначены на приложение и provisioning включён
- Дубликаты пользователей: атрибут
userNameдолжен быть уникальным и корректно сопоставляться с email - Сбои Push Groups: проверьте существование групп и состав участников
- Ошибка 401 Unauthorized: перевыпустите Bearer Token в Status200 и обновите настройки в Okta
Другие провайдеры идентичности
Реализация SCIM в Status200 соответствует спецификации SCIM v2.0 и должна работать с любым совместимым IdP. Общие шаги настройки:
- SCIM Base URL:
https://status200.ru/api/identity/scim/v2/{scim-id}(для проектов) илиhttps://status200.ru/api/identity/status-page-scim/v2/{scim-id}(для страниц статуса) - Аутентификация: HTTP Bearer Token
- Обязательный атрибут пользователя:
userName(должен быть действительным адресом email) - Поддерживаемые операции: GET, POST, PUT, PATCH, DELETE для Users и Groups
Поддерживаемые эндпоинты SCIM
| Эндпоинт | Методы | Описание |
|---|---|---|
/ServiceProviderConfig | GET | Возможности SCIM-сервера |
/Schemas | GET | Доступные схемы ресурсов |
/ResourceTypes | GET | Доступные типы ресурсов |
/Users | GET, POST | Список и создание пользователей |
/Users/{id} | GET, PUT, PATCH, DELETE | Управление отдельным пользователем |
/Groups | GET, POST | Список и создание групп/команд (только Project SCIM) |
/Groups/{id} | GET, PUT, PATCH, DELETE | Управление отдельной группой (только Project SCIM) |
Схема пользователя SCIM
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "user@example.com",
"name": {
"givenName": "John",
"familyName": "Doe",
"formatted": "John Doe"
},
"displayName": "John Doe",
"emails": [
{
"value": "user@example.com",
"type": "work",
"primary": true
}
],
"active": true
}Схема группы SCIM
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Engineering Team",
"members": [
{
"value": "user-id-here",
"display": "user@example.com"
}
]
}Часто задаваемые вопросы
Что происходит при deprovisioning пользователя?
При deprovisioning (запрос DELETE или active: false) пользователь удаляется из команд, заданных в настройках SCIM. Сама учётная запись в Status200 сохраняется, но доступ к проекту теряется.
Можно ли использовать SCIM без SSO?
Да, SCIM и SSO независимы. Можно использовать SCIM для provisioning, а вход — по паролю Status200 или другому методу аутентификации.
Как обрабатываются пользователи, уже существующие в Status200?
Если SCIM пытается создать пользователя, который уже есть (совпадение по email), Status200 добавит его в настроенные команды по умолчанию вместо создания дубликата.
В чём разница между default teams и push groups?
- Default Teams: все пользователи, созданные через SCIM, попадают в одни и те же заранее заданные команды
- Push Groups: членство в командах управляется IdP, разные пользователи могут быть в разных командах в зависимости от групп в IdP
Как часто выполняется sync provisioning?
Зависит от провайдера идентичности:
- Microsoft Entra ID: первый sync до 40 минут, далее обычно каждые 40 минут
- Okta: почти в реальном времени для большинства операций, периодические полные sync