Поделиться через


Использование SCIM совместно с Microsoft Graph для подготовки пользователей и расширения возможностей приложения с помощью необходимых данных

Целевая аудитория: эта статья ориентирована на разработчиков, создающих приложения для интеграции с идентификатором Microsoft Entra. Если вы хотите использовать приложения, уже интегрированные с идентификатором Microsoft Entra, например Zoom, ServiceNow и DropBox, вы можете пропустить эту статью и просмотреть конкретные руководства по приложению или проверить , как работает служба подготовки.

Распространенные сценарии

Идентификатор Microsoft Entra предоставляет нестандартную службу для подготовки и расширяемой платформы для создания приложений. Дерево принятия решений описывает, как разработчику следует использовать SCIM и Microsoft Graph для автоматизации подготовки.

  • Автоматическое создание пользователей в приложении
  • Автоматическое удаление пользователей из приложения, когда доступ им больше не предоставляется
  • Интеграция приложения с несколькими поставщиками удостоверений для выполнения подготовки
  • Предоставление приложению дополнительных данных от таких служб Майкрософт, как Teams, Outlook и Office.
  • Автоматическое создание, обновление и удаление пользователей и групп в идентификаторе Microsoft Entra и Active Directory

Дерево принятия решений для SCIM Graph

Сценарий 1. Автоматическое создание пользователей в приложении

В настоящее время ИТ-администраторы подготавливают пользователей, вручную создавая пользовательские учетные записи или периодически отправляя CSV-файлы в приложение. Этот процесс занимает много времени для клиентов и замедляет внедрение приложения. Для создания пользователя нужны только основные сведения о пользователе, такие как имя, электронная почта и параметр userPrincipalName.

Рекомендация.

  • Если клиенты используют разных поставщиков удостоверений и вы не хотите поддерживать модуль синхронизации для интеграции с каждым из них, необходимо реализовать поддержку конечной точки /Users, совместимой с SCIM. Клиенты смогут легко использовать эту конечную точку для интеграции со службой подготовки Microsoft Entra и автоматически создавать учетные записи пользователей при необходимости доступа. Эту конечную точку можно создать один раз, и она будет совместима со всеми поставщиками удостоверений. Ознакомьтесь ниже с примером запроса, предназначенным для создания пользователя с помощью SCIM.
  • Если вам нужны пользовательские данные, найденные в объекте пользователя в идентификаторе Microsoft Entra ID и других данных от корпорации Майкрософт, рассмотрите возможность создания конечной точки SCIM для подготовки пользователей и вызова в Microsoft Graph, чтобы получить остальные данные.
POST /Users
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
    "externalId": "0a21f0f2-8d2a-4f8e-bf98-7363c4aed4ef",
    "userName": "BillG",
    "active": true,
    "meta": {
        "resourceType": "User"
    },
    "name": {
        "formatted": "Bill Gates",
        "familyName": "Gates",
        "givenName": "Bill"
    },
    "roles": []
}

Сценарий 2. Автоматическое удаление пользователей из приложения

Клиенты, использующие приложение, ориентированы на безопасность, и у них имеются обязательные требования по удалению учетных записей, когда они больше не нужны сотрудникам. Как можно автоматизировать отмену подготовки из приложения?

Рекомендация: необходимо обеспечить поддержку конечной точки /Users, совместимой с SCIM. Служба подготовки Microsoft Entra отправляет запросы на отключение и удаление, когда у пользователя больше нет доступа. Рекомендуется реализовать как отключение, так и удаление пользователей. Ниже приводятся примеры того, какими могут быть запросы на отключение и удаление.

Отключение пользователя

PATCH /Users/5171a35d82074e068ce2 HTTP/1.1
{
    "Operations": [
        {
            "op": "Replace",
            "path": "active",
            "value": false
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ]
}

Удаление пользователя

DELETE /Users/5171a35d82074e068ce2 HTTP/1.1

Сценарий 3. Автоматизация управления членством в группах в приложении

Мое приложение использует группы для доступа к различным ресурсам, и клиенты хотят повторно использовать группы, которые они имеют в идентификаторе Microsoft Entra. Как импортировать группы из идентификатора Microsoft Entra и сохранить их обновленными по мере изменения членства?

Рекомендация: необходимо обеспечить поддержку конечной точки /Groups, совместимой с SCIM. Служба подготовки Microsoft Entra позаботится о создании групп и управлении обновлениями членства в приложении.

Сценарий 4. Предоставление приложению дополнительных данных от таких служб Майкрософт, как Teams, Outlook и OneDrive

Приложение встроено в Microsoft Teams и основано на данных из сообщений. Кроме того, файлы для пользователей сохраняются в OneDrive. Как можно передать приложению дополнительные данные от этих служб и других ресурсов Майкрософт?

Рекомендация:Microsoft Graph является точкой входа для доступа к данным ресурсов Майкрософт. Каждая рабочая нагрузка предоставляет соответствующим API-интерфейсам необходимые данные. Для вышеперечисленных сценариев можно использовать Microsoft Graph совместно с подготовкой SCIM. Чтобы получать любые другие нужные данные, SCIM можно использовать для подготовки базовых атрибутов пользователей в приложении при вызове Graph.

Сценарий 5. Отслеживание изменений в службы Майкрософт, таких как Teams, Outlook и идентификатор Microsoft Entra

Необходима возможность по отслеживанию изменений в сообщениях Teams и Outlook и реагированию на них в реальном времени. Как можно осуществить передачу этих изменений в приложение?

Рекомендация: Microsoft Graph предоставляет уведомления об изменениях и отслеживание изменений для различных ресурсов. Обратите внимание на следующие ограничения, действующие в отношении уведомлений об изменениях.

  • Если получатель событий подтверждает событие, но по какой-то причине не может действовать надлежащим образом, это событие может быть потеряно.
  • Не гарантируется получение изменений в хронологическом порядке.
  • Уведомления об изменениях не всегда содержат данные ресурсов. По указанным выше причинам разработчики часто используют уведомления об изменениях вместе с отслеживанием изменений для сценариев синхронизации.

Сценарий 6. Подготовка пользователей и групп в идентификаторе Microsoft Entra

Мое приложение создает сведения о пользователе, которому нужны клиенты в идентификаторе Microsoft Entra. Это может быть приложение отдела кадров, чем управление наймом, приложение связи, которое создает номера телефонов для пользователей или другое приложение, которое создает данные, которые будут ценными в идентификаторе Microsoft Entra. Разделы справки заполнять запись пользователя в идентификаторе Microsoft Entra идентификатором?

Рекомендация Microsoft Graph предоставляет конечные точки /Users и /Groups, которые можно интегрировать с сегодня для подготовки пользователей к идентификатору Microsoft Entra. Обратите внимание, что идентификатор Microsoft Entra не поддерживает запись этих пользователей обратно в Active Directory.

Примечание.

У Майкрософт имеется служба подготовки, которая получает данные из приложений отдела кадров, таких как Workday и SuccessFactors. Эти варианты интеграции создаются и управляются средствами Майкрософт. Для внедрения нового приложения отдела кадров в нашу службу можно разместить соответствующий запрос на UserVoice.