Соединитель Microsoft Identity Manager для Microsoft Graph

Сводка

Соединитель Microsoft Identity Manager для Microsoft Graph обеспечивает дополнительные сценарии интеграции для клиентов Microsoft Entra ID P1 или P2. Он предоставляет доступ к дополнительным объектам в метавселенной синхронизации MIM, которые создаются через API Microsoft Graph версии 1 или бета-версии.

Рассматриваемые сценарии

Управление жизненным циклом учетной записи B2B

Основной сценарий использования соединителя Microsoft Identity Manager для Microsoft Graph — это управление жизненным циклом учетных записей Active Directory для внешних пользователей. В этом сценарии организация синхронизирует сотрудников с Microsoft Entra ID из AD DS с помощью Microsoft Entra Connect, а также пригласила гостей в каталог Microsoft Entra. Приглашение гостя приводит к тому, что объект внешнего пользователя находится в каталоге Microsoft Entra этой организации, который не находится в доменных службах Active Directory этой организации. Затем организация хочет предоставить этим гостям доступ к локальной встроенной проверке подлинности Windows или приложениям на основе Kerberos через прокси приложения Microsoft Entra или другие механизмы шлюза. Прокси приложения Microsoft Entra требует, чтобы у каждого пользователя была собственная учетная запись AD DS для идентификации и делегирования.

Чтобы узнать, как настроить синхронизацию MIM для автоматического создания и обслуживания учетных записей AD DS для гостей, ознакомившись с инструкциями в этой статье, перейдите к статье Microsoft Entra совместной работы B2B с MIM 2016 и прокси приложения Microsoft Entra. В этой статье представлены правила синхронизации, необходимые для соединителя.

Другие сценарии управления удостоверениями

Соединитель можно использовать для других конкретных сценариев управления удостоверениями, включая создание, чтение, обновление и удаление объектов пользователей, групп и контактов в Microsoft Entra ID, помимо синхронизации пользователей и групп с Microsoft Entra ID. При оценке потенциальных сценариев имейте в виду: этот соединитель не может работать в сценарии, что приведет к перекрытию потока данных, фактическому или потенциальному конфликту синхронизации с развертыванием Microsoft Entra Connect. Microsoft Entra Connect — рекомендуемый подход к интеграции локальных каталогов с Microsoft Entra ID путем синхронизации пользователей и групп из локальных каталогов в Microsoft Entra ID. Microsoft Entra Connect имеет множество дополнительных функций синхронизации и включает такие сценарии, как обратная запись паролей и устройств, которые недоступны для объектов, созданных MIM. Например, если данные переносятся в AD DS, убедитесь, что они исключены из Microsoft Entra Connect, пытаясь сопоставить эти объекты с каталогом Microsoft Entra. Этот соединитель также не может использоваться для внесения изменений в объекты Microsoft Entra, созданные Microsoft Entra Connect.

Подготовка к использованию соединителя для Microsoft Graph

Авторизация соединителя для получения объектов в каталоге Microsoft Entra или управления ими

  1. Соединителю требуется создать веб-приложение или приложение API в Microsoft Entra ID, чтобы он был авторизован с соответствующими разрешениями для работы с Microsoft Entra объектами через Microsoft Graph.

    Изображение кнопки регистрации нового приложенияИзображение регистрации приложения

    Изображение 1. Регистрация нового приложения

  2. На портале Azure откройте созданное приложение и на странице подключения агента управления сохраните идентификатор приложения как идентификатор клиента для дальнейшего использования.

    Изображение сведений о регистрации приложения

    Изображение 2. Идентификатор приложения

  3. Создайте секрет клиента, открыв сертификаты & секреты. Задайте описание ключа и выберите максимальную длительность. Сохраните изменения и получите секрет клиента. Значение секрета клиента будет недоступно для просмотра после выхода со страницы.

    Изображение кнопки добавления нового секрета

    Изображение 3. Новый секрет клиента

  4. Предоставьте приложению соответствующие разрешения Microsoft Graph, открыв "Разрешения API"

    Изображение кнопки добавления разрешений Рисунок 4. Добавление нового API

    Выберите Разрешения приложения Microsoft Graph. Изображение разрешений приложений

    Отмена всех ненужных разрешений.

    Изображение не предоставленных приложений разрешений

    Чтобы приложение могло использовать API Microsoft Graph, в зависимости от сценария ему необходимо предоставить следующее разрешение.

    Операции с объектом Требования к разрешениям Тип разрешения
    Обнаружение схемы Application.Read.All Приложение
    Импорт группы Group.Read.All или Group.ReadWrite.All Приложение
    Импорт пользователя User.Read.All, User.ReadWrite.All, Directory.Read.All или Directory.ReadWrite.All Приложение

    Дополнительные сведения о необходимых разрешениях можно найти в справочнике по разрешениям.

Примечание

Разрешение Application.Read.All является обязательным для обнаружения схемы и должно быть предоставлено независимо от типа объекта, с которым будет работать соединитель типа объекта.

  1. Предоставьте согласие администратора для выбранных разрешений. Изображение предоставленного согласия администратора

Установка соединителя

  1. Перед установкой соединителя убедитесь в том, что на сервере синхронизации имеются следующие компоненты.
  • Microsoft .NET 4.6.2 Framework или более поздней версии
  • Microsoft Identity Manager 2016 с пакетом обновления 2 (SP2) и должно использовать исправление 4.4.1642.0 KB4021562 или более поздней версии.
  1. Соединитель для Microsoft Graph в дополнение к другим соединителям для Microsoft Identity Manager 2016 с пакетом обновления 2 (SP2) доступен для скачивания в Центре загрузки Майкрософт.

  2. Перезапустите службу синхронизации MIM.

Конфигурация соединителя

  1. В пользовательском интерфейсе Synchronization Service Manager выберите Соединители и Создать. Выберите Graph (Майкрософт), создайте соединитель и присвойте ему описательное имя.

Новый образ соединителя

  1. В пользовательском интерфейсе службы синхронизации MIM укажите идентификатор приложения и созданный секрет клиента. Каждый агент управления, настроенный в службе синхронизации MIM, должен иметь собственное приложение в Microsoft Entra ID, чтобы избежать параллельного выполнения импорта для одного и того же приложения.

Изображение параметров соединителя со сведениями о подключении

Изображение 5. Страница "Подключение"

Страница подключения (рис. 5) содержит используемую версию API Graph и имя клиента. Идентификатор клиента и секрет клиента представляют идентификатор приложения и значение ключа приложения, созданного ранее в Microsoft Entra ID.

Соединитель по умолчанию использует версию 1.0, а также конечные точки входа и графа глобальной службы Microsoft Graph. Если клиент находится в национальном облаке, необходимо изменить конфигурацию, чтобы использовать конечные точки для национального облака. Обратите внимание, что некоторые функции Graph, которые находятся в глобальной службе, могут быть недоступны во всех национальных облаках.

  1. Внесите необходимые изменения на странице глобальных параметров.

Изображение страницы глобальных параметров

Изображение 6. Страница "Глобальные параметры"

Страница глобальных параметров содержит следующие настройки.

  • Формат даты и времени, который используется для любого атрибута с типом Edm.DateTimeOffset. Во время импорта все даты преобразуются в строки на основе этого формата. Настроенный формат применяется для любого атрибута, который сохраняет дату.

  • Время ожидания HTTP (в секундах) — время ожидания в секундах, которое будет использоваться во время каждого HTTP-вызова Graph.

  • Force change password for created user at next sign (Принудительное изменение пароля для созданного пользователя при следующем входе) — этот параметр применяется к тем пользователям, которые создаются в процессе экспорта. Если этот параметр включен, свойство forceChangePasswordNextSignIn получает значение true, в противном случае — false.

Настройка схемы и операций соединителя

  1. Настройте схему. Соединитель поддерживает следующий список типов объектов при использовании с конечной точкой Graph версии 1.0:
  • Пользователь

    • Полный или разностный импорт

    • Экспорт (добавление, обновление и удаление)

  • Группа

    • Полный или разностный импорт

    • Экспорт (добавление, обновление и удаление)

Дополнительные типы объектов могут отображаться при настройке соединителя для использования бета-версии конечной точки Graph.

Список поддерживаемых типов атрибутов:

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (строка в пространстве соединителя)

  • microsoft.graph.directoryObject (ссылка из пространства соединителя на объект любого поддерживаемого типа)

  • microsoft.graph.contact

Атрибуты с множественными значениями (коллекции) также поддерживаются для любого типа, указанного в списке выше.

Соединитель использует атрибут id для привязки и различающееся имя для всех объектов. Поэтому переименование не требуется, так как API Graph не позволяет объекту изменять свой id атрибут.

Время существования маркера доступа

Приложению Graph требуется маркер доступа, чтобы получить доступ к API Graph. Соединитель запрашивает новый маркер доступа для каждой новой итерации импорта (их количество зависит от размера страниц). Пример:

  • Microsoft Entra ID содержит 10 000 объектов

  • В соединителе настроен размер страницы 5000.

В этом случае во время импорта будет две итерации, каждая из которых вернет 5000 объектов в sync. Таким образом, новый маркер доступа будет запрашиваться дважды.

В процессе экспорта новый маркер доступа запрашивается для каждого добавляемого, обновляемого или удаляемого объекта.

Фильтры запросов

API Graph конечные точки позволяют ограничить количество объектов, возвращаемых запросами GET, введя параметр $filter.

Чтобы включить использование фильтров запросов для улучшения полного цикла производительности импорта, на странице "Схема 1 " свойств соединителя установите флажок Добавить фильтр объектов .

Изображение параметров соединителя на странице 1 с флажком

После этого на странице Схема 2 введите выражение, которое будет использоваться для фильтрации пользователей, групп, контактов или субъектов-служб.

Два изображения страницы параметров соединителя с примером фильтра startsWith(displayName,'J')

На приведенном выше снимке экрана для фильтра startsWith(displayName,'J') задано значение только для чтения пользователей, у которых значение атрибута displayName начинается с "J".

Убедитесь, что в свойствах соединителя выбран атрибут, используемый в выражении фильтра.

Изображение страницы параметров соединителя с выбранным атрибутом displayName

Дополнительные сведения об использовании $filter параметра запроса см. в этой статье : Настройка ответов с помощью параметров запроса.

Примечание

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

Устранение неполадок

Включение журналов

Если в Graph возникнут любые проблемы, журналы помогут определить их. Это позволяет включать трассировки так же, как для универсальных соединителей. Также вы можете просто добавить следующий текст в файл miiserver.exe.config (в раздел system.diagnostics/sources).

<source name="ConnectorsLog" switchValue="Verbose">
<listeners>
<add initializeData="ConnectorsLog"
type="System.Diagnostics.EventLogTraceListener, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ConnectorsLogListener" traceOutputOptions="LogicalOperationStack,
DateTime, Timestamp, Callstack" />
<remove name="Default" />
</listeners>
</source>

Примечание

Если включен параметр "Запустить этот агент управления в отдельном процессе", следует использовать файл dllhost.exe.config вместо miiserver.exe.config.

Ошибка из-за истечения срока действия маркера доступа

Соединитель может вернуть ошибку HTTP 401 (доступ запрещен) с сообщением "Access token has expired" (Истек срок действия маркера доступа).

Изображение сведений об ошибке

Изображение 7. Ошибка "Access token has expired" (Истек срок действия маркера доступа) Ошибка

Эта проблема может быть вызвана настройками срока действия для маркера доступа на стороне Azure. По умолчанию срок действия маркера доступа истекает через 1 час. Чтобы увеличить срок действия, см. эту статью.

Пример для общедоступной предварительной версии модуля PowerShell для Azure AD.

Изображение времени существования маркера доступа

New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1, "AccessTokenLifetime":"5:00:00"}}") -DisplayName "OrganizationDefaultPolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"

Дальнейшие действия