Идентификация

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

  1. Перейдите в настройки проекта

    • Откройте проект Status200
    • Перейдите в Project Settings (Настройки проекта) > Team (Команда) > SCIM
  2. Настройте SCIM

    • Включите Auto Provision Users (Автоматическое создание пользователей), чтобы добавлять пользователей при назначении в IdP
    • Включите Auto Deprovision Users (Автоматическое удаление пользователей), чтобы убирать пользователей при снятии назначения в IdP
    • Выберите Default Teams (Команды по умолчанию), в которые будут добавляться новые пользователи
    • Скопируйте SCIM Base URL и Bearer Token для настройки IdP
  3. Настройте провайдера идентичности

    • Используйте SCIM Base URL: https://status200.ru/scim/v2/{scimId}
    • Настройте аутентификацию bearer token с выданным токеном
    • Сопоставьте атрибуты пользователей (email обязателен)

Эндпоинты 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

  1. Назначение пользователя в IdP: пользователь назначен Status200 в IdP
  2. SCIM provisioning: IdP вызывает SCIM API Status200 для создания пользователя
  3. Членство в команде: пользователь автоматически добавляется в настроенные команды по умолчанию
  4. Доступ предоставлен: пользователь получает доступ к проекту Status200
  5. Снятие назначения: пользователь снят с назначения в IdP
  6. SCIM deprovisioning: IdP вызывает SCIM API Status200 для удаления пользователя
  7. Доступ отозван: пользователь теряет доступ к проекту

SCIM для страниц статуса

Status Page SCIM позволяет провайдерам идентичности управлять подписчиками приватных страниц статуса.

Настройка Status Page SCIM

  1. Перейдите в настройки страницы статуса

    • Откройте страницу статуса Status200
    • Перейдите в Status Page Settings (Настройки страницы статуса) > Private Users (Приватные пользователи) > SCIM
  2. Настройте SCIM

    • Включите Auto Provision Users, чтобы автоматически добавлять подписчиков при назначении в IdP
    • Включите Auto Deprovision Users, чтобы автоматически удалять подписчиков при снятии назначения в IdP
    • Скопируйте SCIM Base URL и Bearer Token для настройки IdP
  3. Настройте провайдера идентичности

    • Используйте SCIM Base URL: https://status200.ru/status-page-scim/v2/{scimId}
    • Настройте аутентификацию bearer token с выданным токеном
    • Сопоставьте атрибуты пользователей (email обязателен)

Эндпоинты 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

  1. Назначение в IdP: пользователь назначен Status200 Status Page в IdP
  2. SCIM provisioning: IdP вызывает SCIM API Status200 для создания подписчика
  3. Доступ предоставлен: пользователь получает доступ к приватной странице статуса
  4. Снятие назначения: пользователь снят с назначения в IdP
  5. SCIM deprovisioning: IdP вызывает SCIM API Status200 для удаления подписчика
  6. Доступ отозван: пользователь теряет доступ к странице статуса

Настройка провайдера идентичности

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

  1. Войдите в панель Status200
  2. Перейдите в Project Settings > Team > SCIM
  3. Нажмите Create SCIM Configuration (Создать конфигурацию SCIM)
  4. Укажите понятное имя (например, «Microsoft Entra ID Provisioning»)
  5. Настройте параметры:
    • Auto Provision Users: включите для автоматического создания пользователей
    • Auto Deprovision Users: включите для автоматического удаления пользователей
    • Default Teams: выберите команды для новых пользователей
    • Enable Push Groups: включите, если членство в командах управляется группами Entra ID
  6. Сохраните конфигурацию
  7. Скопируйте SCIM Base URL и Bearer Token — они понадобятся в Entra ID

Шаг 2: создать корпоративное приложение в Microsoft Entra ID

  1. Войдите в центр администрирования Microsoft Entra
  2. Перейдите в Identity > Applications > Enterprise applications
  3. Нажмите + New application
  4. Нажмите + Create your own application
  5. Укажите имя (например, «Status200»)
  6. Выберите Integrate any other application you don't find in the gallery (Non-gallery)
  7. Нажмите Create

Шаг 3: настроить SCIM provisioning

  1. В корпоративном приложении Status200 откройте Provisioning
  2. Нажмите Get started
  3. Установите Provisioning Mode в Automatic
  4. В разделе Admin Credentials:
    • Tenant URL: введите SCIM Base URL из Status200 (например, https://status200.ru/api/identity/scim/v2/{your-scim-id})
    • Secret Token: введите Bearer Token из Status200
  5. Нажмите Test Connection, чтобы проверить конфигурацию
  6. Нажмите Save

Шаг 4: настроить сопоставление атрибутов

  1. В разделе Provisioning нажмите Mappings
  2. Нажмите Provision Azure Active Directory Users
  3. Настройте сопоставления:
Атрибут Azure ADАтрибут Status200 SCIMОбязательно
userPrincipalNameuserNameДа
mailemails[type eq "work"].valueРекомендуется
displayNamedisplayNameРекомендуется
givenNamename.givenNameНеобязательно
surnamename.familyNameНеобязательно
Switch([IsSoftDeleted], , "False", "True", "True", "False")activeРекомендуется
  1. Удалите ненужные сопоставления, чтобы упростить provisioning
  2. Нажмите Save

Шаг 5: настроить provisioning групп (необязательно)

Если в Status200 включён Push Groups:

  1. Вернитесь в Mappings
  2. Нажмите Provision Azure Active Directory Groups
  3. Включите provisioning групп, установив Enabled в Yes
  4. Настройте сопоставления:
Атрибут Azure ADАтрибут Status200 SCIM
displayNamedisplayName
membersmembers
  1. Нажмите Save

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

  1. В корпоративном приложении Status200 откройте Users and groups
  2. Нажмите + Add user/group
  3. Выберите пользователей и/или группы для provisioning в Status200
  4. Нажмите Assign

Шаг 7: запустить provisioning

  1. Перейдите в Provisioning > Overview
  2. Нажмите Start provisioning
  3. Начнётся первый цикл provisioning (первый sync может занять до 40 минут)
  4. Следите за 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

  1. Войдите в панель Status200
  2. Перейдите в Project Settings > Team > SCIM
  3. Нажмите Create SCIM Configuration
  4. Укажите понятное имя (например, «Okta Provisioning»)
  5. Настройте параметры:
    • Auto Provision Users: включите для автоматического создания пользователей
    • Auto Deprovision Users: включите для автоматического удаления пользователей
    • Default Teams: выберите команды для новых пользователей
    • Enable Push Groups: включите, если членство управляется группами Okta
  6. Сохраните конфигурацию
  7. Скопируйте SCIM Base URL и Bearer Token — они понадобятся в Okta

Шаг 2: создать или настроить приложение Okta

Если у вас уже есть приложение SSO:

  1. Войдите в Okta Admin Console
  2. Перейдите в Applications > Applications
  3. Найдите и откройте существующее приложение Status200

Если создаёте новое приложение:

  1. Войдите в Okta Admin Console
  2. Перейдите в Applications > Applications
  3. Нажмите Create App Integration
  4. Выберите SAML 2.0 и нажмите Next
  5. Укажите «Status200» как имя приложения
  6. Завершите настройку SAML (см. документацию по SSO)
  7. Нажмите Finish

Шаг 3: включить SCIM provisioning

  1. В приложении Status200 откройте вкладку General
  2. В разделе App Settings нажмите Edit
  3. В Provisioning выберите SCIM
  4. Нажмите Save
  5. Появится новая вкладка Provisioning

Шаг 4: настроить подключение SCIM

  1. Откройте вкладку Provisioning
  2. В левой панели нажмите Integration
  3. Нажмите Configure API Integration
  4. Включите Enable API integration
  5. Укажите:
    • 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} (подставьте реальный токен)
  6. Нажмите Test API Credentials для проверки
  7. Нажмите Save

Шаг 5: настроить provisioning в приложение

  1. На вкладке Provisioning выберите To App в левой панели
  2. Нажмите Edit
  3. Включите:
    • Create Users: создание новых пользователей
    • Update User Attributes: синхронизация изменений атрибутов
    • Deactivate Users: deprovisioning при снятии назначения
  4. Нажмите Save

Шаг 6: настроить сопоставление атрибутов

  1. Прокрутите до Attribute Mappings
  2. Проверьте или настройте сопоставления:
Атрибут OktaАтрибут Status200 SCIMНаправление
userNameuserNameOkta to App
user.emailemails[primary eq true].valueOkta to App
user.firstNamename.givenNameOkta to App
user.lastNamename.familyNameOkta to App
user.displayNamedisplayNameOkta to App
  1. Удалите лишние сопоставления
  2. При изменениях нажмите Save

Шаг 7: настроить Push Groups (необязательно)

Если в Status200 включён Push Groups:

  1. Откройте вкладку Push Groups
  2. Нажмите + Push Groups
  3. Выберите Find groups by name или Find groups by rule
  4. Найдите и выберите группы для push
  5. Нажмите Save

Шаг 8: назначить пользователей

  1. Откройте вкладку Assignments
  2. Нажмите Assign > Assign to People или Assign to Groups
  3. Выберите пользователей или группы для provisioning
  4. Для каждого выбора нажмите Assign
  5. Нажмите Done

Шаг 9: проверить provisioning

  1. В Okta Admin Console откройте Reports > System Log
  2. Отфильтруйте события по приложению Status200
  3. Убедитесь, что события provisioning успешны
  4. Проверьте в 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. Общие шаги настройки:

  1. SCIM Base URL: https://status200.ru/api/identity/scim/v2/{scim-id} (для проектов) или https://status200.ru/api/identity/status-page-scim/v2/{scim-id} (для страниц статуса)
  2. Аутентификация: HTTP Bearer Token
  3. Обязательный атрибут пользователя: userName (должен быть действительным адресом email)
  4. Поддерживаемые операции: GET, POST, PUT, PATCH, DELETE для Users и Groups

Поддерживаемые эндпоинты SCIM

ЭндпоинтМетодыОписание
/ServiceProviderConfigGETВозможности SCIM-сервера
/SchemasGETДоступные схемы ресурсов
/ResourceTypesGETДоступные типы ресурсов
/UsersGET, POSTСписок и создание пользователей
/Users/{id}GET, PUT, PATCH, DELETEУправление отдельным пользователем
/GroupsGET, 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