Настройка идентификатора Microsoft Entra для подготовки пользователей в каталоги LDAP

В следующей документации содержатся сведения о конфигурации и руководстве по подготовке пользователей из идентификатора Microsoft Entra в каталог LDAP.

В этом документе описаны шаги, которые необходимо выполнить для автоматической подготовки и отмены подготовки пользователей из идентификатора Microsoft Entra в каталог LDAP. В этом документе показано, как подготовить пользователей в AD LDS в качестве примера каталога LDAP, но можно подготовить к любому из поддерживаемых серверов каталогов LDAP, упоминание в следующих разделах. Подготовка пользователей в службах домен Active Directory через это решение не поддерживается.

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

Необходимые условия для подготовки пользователей в каталоге LDAP

Предварительные требования для локальной среды

  • Приложение, использующее сервер каталогов для запроса пользователей.
  • Целевой каталог, отличный от служб домен Active Directory, в котором пользователи могут создаваться, обновляться и удаляться. Например, упрощенные службы Active Directory (AD LDS). Этот экземпляр каталога не должен быть каталогом, который также используется для подготовки пользователей в идентификатор Microsoft Entra ID, так как наличие обоих сценариев может создать цикл с помощью Microsoft Entra Подключение.
  • Компьютер с как минимум 3 ГБ ОЗУ для размещения агента подготовки. На компьютере должна быть установлена Windows Server 2016 или более поздняя версия Windows Server с подключением к целевому каталогу и исходящим подключением к login.microsoftonline.com, другим доменам Microsoft Online Services и Azure. Примером может служить компьютер виртуальной машины под управлением ОС Windows Server 2016, размещенный в Azure IaaS или за прокси-сервером.
  • Необходимо установить .NET Framework 4.7.2.
  • Необязательно. Хотя это не обязательно, рекомендуется скачать Microsoft Edge для Windows Server и использовать его на месте Интернета Обозреватель.

Поддерживаемые серверы каталогов LDAP

Соединитель использует различные методы для обнаружения и идентификации сервера LDAP. Соединитель использует корневую dsE, имя поставщика и версию, и проверяет схему для поиска уникальных объектов и атрибутов, известных как существующие на определенных серверах LDAP.

  • Openldap
  • Службы Microsoft Active Directory облегченного доступа к каталогам (AD LDS)
  • 389 Directory Server
  • Apache Directory Server.
  • IBM Tivoli DS.
  • Isode Directory.
  • NetIQ eDirectory.
  • Novell eDirectory.
  • Open DJ.
  • Open DS.
  • Oracle (предыдущее название — Sun ONE) Directory Server Enterprise Edition.
  • RadiantOne Virtual Directory Server (VDS).

Дополнительные сведения см. в справочнике по универсальному соединителю LDAP.

Требования к облаку

  • Клиент Microsoft Entra с идентификатором Microsoft Entra ID P1 или Premium P2 (или EMS E3 или E5).

    Для использования этой функции требуются лицензии Microsoft Entra ID P1. Чтобы правильно выбрать лицензию с учетом своих требований, ознакомьтесь с разделом Сравнение общедоступных возможностей идентификатора Microsoft Entra.

  • Роль Администратора гибридных удостоверений для настройки агента подготовки и роль Администратора приложения или Администратора облачного приложения для настройки подготовки на портале Azure.

  • Пользователи Microsoft Entra, которые должны быть подготовлены к каталогу LDAP, должны быть заполнены атрибутами, которые будут необходимы схеме сервера каталогов и относятся к каждому пользователю. Например, если серверу каталогов требуется, чтобы каждый пользователь мог иметь уникальное число от 10000 до 30000 в качестве идентификатора пользователя для поддержки рабочей нагрузки POSIX, необходимо либо создать это число из существующего атрибута пользователя, либо расширить схему Microsoft Entra и заполнить этот атрибут для пользователей в область приложения на основе LDAP. Сведения о создании дополнительных расширений каталогов см. в статье о расширяемости Graph.

Дополнительные рекомендации и ограничения

Следующие пункты списка являются дополнительными рекомендациями и ограничениями.

  • Не рекомендуется использовать тот же агент для облачной синхронизации и подготовки локальных приложений. Корпорация Майкрософт рекомендует использовать отдельный агент для синхронизации в облаке, а другой — для подготовки локальных приложений.
  • Для AD LDS сейчас пользователи не могут быть подготовлены с использованием паролей. Поэтому необходимо отключить политику паролей для AD LDS или подготовить пользователей в отключенном состоянии.
  • Для других серверов каталогов можно задать начальный случайный пароль, но невозможно подготовить пароль пользователя Microsoft Entra на сервере каталогов.
  • Подготовка пользователей из идентификатора Microsoft Entra в службы домен Active Directory s не поддерживается.
  • Подготовка пользователей из LDAP в идентификатор Microsoft Entra ID не поддерживается.
  • Группы подготовки и членство пользователей на сервере каталогов не поддерживаются.

Выбор профилей выполнения

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

  • После настройки запущенная служба подготовки автоматически выполняет взаимодействия, настроенные в профиле запуска Полный импорт. В этом профиле выполнения соединитель будет считывать все записи пользователей из каталога с помощью операции поиска LDAP. Этот профиль выполнения необходим, чтобы позже, если идентификатор Microsoft Entra ID должен внести изменения для пользователя, идентификатор Microsoft Entra обновит существующий объект для этого пользователя в каталоге, а не создать новый объект для этого пользователя.

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

  • Если каталог поддерживает его, можно также настроить профиль выполнения разностного импорта . В этом профиле выполнения идентификатор Microsoft Entra будет считывать изменения, внесенные в каталог, кроме идентификатора Microsoft Entra, с момента последнего полного или разностного импорта. Этот профиль запуска необязателен, так как каталог может не быть настроен для поддержки разностного импорта. Например, если ваша организация использует OpenLDAP, OpenLDAP должна быть развернута с включенной функцией наложения журнала доступа.

Определите, как средство Подключение LDAP Microsoft Entra LDAP будет взаимодействовать с сервером каталогов

Перед развертыванием соединителя на существующем сервере каталогов необходимо обсудить с оператором сервера каталогов в организации, как интегрироваться с сервером каталогов. Собранные сведения содержат сведения о том, как подключиться к серверу каталогов, как соединитель должен пройти проверку подлинности на сервере каталогов, какая схема выбрана для моделирования пользователей, базовых правил иерархии контекста именования и иерархии каталогов, как связать пользователей на сервере каталогов с пользователями в Идентификаторе Microsoft Entra, и что должно происходить, когда пользователь выходит из область в идентификаторе Microsoft Entra. При развертывании этого соединителя могут потребоваться изменения конфигурации сервера каталогов, а также изменения конфигурации идентификатора Microsoft Entra. Для развертываний, связанных с интеграцией идентификатора Microsoft Entra с сторонним сервером каталогов в рабочей среде, мы рекомендуем клиентам работать с поставщиком сервера каталогов или партнером по развертыванию для справки, рекомендаций и поддержки этой интеграции. В этой статье используются следующие примеры значений для двух каталогов для AD LDS и OpenLDAP.

Параметр конфигурации Где задано значение Пример значения
имя узла сервера каталогов Страница "Мастер настройки Подключение" APP3
номер порта сервера каталогов Страница "Мастер настройки Подключение" 636. Для LDAP через SSL или TLS (LDAPS) используйте порт 636. Для Start TLS используйте порт 389.
учетная запись соединителя для идентификации себя на сервере каталогов Страница "Мастер настройки Подключение" Для AD LDS CN=svcAccountLDAP,CN=ServiceAccounts,CN=App,DC=contoso,DC=lab и OpenLDAP cn=admin,dc=contoso,dc=lab
пароль для соединителя для проверки подлинности на сервере каталогов Страница "Мастер настройки Подключение"
Класс структурных объектов для пользователя на сервере каталогов Страница "Типы объектов мастера настройки" Для AD LDS User и OpenLDAP inetOrgPerson
вспомогательные классы объектов для пользователя на сервере каталогов сопоставления атрибутов страницы подготовки портал Azure Для OpenLDAP со схемой posixAccount POSIX иshadowAccount
атрибуты для заполнения нового пользователя Мастер настройки выбора атрибутов и сопоставления атрибутов страницы подготовки портал Azure Для AD LDS, а также для OpenLDAPcnhomeDirectorygidNumber, , mail, , objectClass, snuidNumberuiddisplayNamemsDS-UserAccountDisableduserPrincipalNameuserPassword
Иерархия именования, требуемая сервером каталогов сопоставления атрибутов страницы подготовки портал Azure Задайте для ad LDS и DC=Contoso,DC=lab OpenLDAP DN только что созданного пользователя непосредственно нижеCN=CloudUsers,CN=App,DC=Contoso,DC=lab.
атрибуты для сопоставления пользователей между идентификатором Microsoft Entra и сервером каталогов сопоставления атрибутов страницы подготовки портал Azure Для AD LDS не настроен, так как этот пример предназначен для первоначально пустого каталога и для OpenLDAP, mail
отмена поведения при выходе пользователя из область в идентификаторе Microsoft Entra Страница отмены подготовки мастера настройки Удаление пользователя с сервера каталогов

Сетевой адрес сервера каталогов — это имя узла и номер TCP-порта, обычно порт 389 или 636. За исключением того, где сервер каталогов находится совместно с соединителем на том же сервере Windows Server или используется безопасность на уровне сети, сетевые подключения от соединителя к серверу каталогов должны быть защищены с помощью SSL или TLS. Соединитель поддерживает подключение к серверу каталогов через порт 389 и запуск TLS для включения TLS в сеансе. Соединитель также поддерживает подключение к серверу каталогов через TLS через порт 636 для LDAPS.

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

Схема каталога указывает классы объектов и атрибуты, представляющие сущность реального мира в каталоге. Соединитель поддерживает представление пользователя со структурным классом объектов, например inetOrgPersonдополнительными вспомогательными классами объектов. Чтобы соединитель мог подготовить пользователей к серверу каталогов, во время настройки в портал Azure вы определите сопоставления из схемы Microsoft Entra ко всем обязательным атрибутам. Сюда входят обязательные атрибуты класса структурных объектов, все суперклассы этого класса структурных объектов и обязательные атрибуты любых вспомогательных классов объектов. Кроме того, скорее всего, вы также настроите сопоставления с некоторыми из необязательных атрибутов этих классов. Например, серверу каталогов OpenLDAP может потребоваться объект для нового пользователя, который должен иметь атрибуты, как показано в следующем примере.

dn: cn=bsimon,dc=Contoso,dc=lab
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: bsimon
gidNumber: 10000
homeDirectory: /home/bsimon
sn: simon
uid: bsimon
uidNumber: 10011
mail: bsimon@contoso.com
userPassword: initial-password

Правила иерархии каталогов, реализованные сервером каталогов, описывают, как объекты для каждого пользователя связаны друг с другом и существующими объектами в каталоге. В большинстве развертываний организация решила иметь плоскую иерархию на сервере каталогов, в которой каждый объект для каждого пользователя находится непосредственно под общим базовым объектом. Например, если базовое различающееся имя контекста именования на сервере каталогов будет dc=contoso,dc=com иметь новое имя, например cn=alice,dc=contoso,dc=com. Однако некоторые организации могут иметь более сложную иерархию каталогов, в этом случае необходимо реализовать правила при указании сопоставления различаемых имен для соединителя. Например, сервер каталогов может ожидать, что пользователи будут находиться в подразделениях по отделу, поэтому новый пользователь будет иметь различающееся имя, например cn=alice,ou=London,dc=contoso,dc=com. Так как соединитель не создает промежуточные объекты для подразделений, все промежуточные объекты иерархии правил сервера каталогов уже должны существовать на сервере каталогов.

Затем необходимо определить правила для определения того, должен ли соединитель уже находиться на сервере каталогов, соответствующему пользователю Microsoft Entra. Каждый каталог LDAP имеет различающееся имя, уникальное для каждого объекта на сервере каталогов, однако различающееся имя часто не присутствует для пользователей в идентификаторе Microsoft Entra ID. Вместо этого организация может иметь другой атрибут, например mail или employeeIdв схеме сервера каталогов, которая также присутствует у пользователей в идентификаторе Microsoft Entra ID. Затем, когда соединитель подготавливает нового пользователя к серверу каталогов, соединитель может искать, есть ли пользователь в этом каталоге, имеющий определенное значение этого атрибута, и создать нового пользователя на сервере каталогов, если он отсутствует.

Если сценарий включает создание новых пользователей в каталоге LDAP, а не только обновление или удаление существующих пользователей, то также необходимо определить, как приложения, использующие этот сервер каталогов, будут обрабатывать проверку подлинности. Рекомендуемый подход заключается в том, чтобы приложения использовали протокол федерации или единого входа, например SAML, OAuth или OpenID Подключение для проверки подлинности в идентификаторе Microsoft Entra, и используется только сервер каталогов для атрибутов. Традиционно каталоги LDAP могут использоваться приложениями для проверки подлинности пользователей, проверка паролем, но этот вариант использования невозможен для многофакторной проверки подлинности или когда пользователь уже прошел проверку подлинности. Некоторые приложения могут запрашивать открытый ключ SSH пользователя или сертификат из каталога, который может быть подходящим для пользователей, которые уже содержат учетные данные этих форм. Однако если приложение, использующее сервер каталогов, не поддерживает современные протоколы проверки подлинности или более надежные учетные данные, необходимо задать пароль для конкретного приложения при создании нового пользователя в каталоге, так как идентификатор Microsoft Entra не поддерживает подготовку пароля Microsoft Entra.

Наконец, необходимо согласиться с поведением отмены подготовки. Когда соединитель настроен, и идентификатор Microsoft Entra установил связь между пользователем в идентификаторе Microsoft Entra и пользователем в каталоге, либо для пользователя, уже в каталоге, либо нового пользователя, то идентификатор Microsoft Entra может подготавливать изменения атрибутов пользователя Microsoft Entra в каталог. Если пользователь, назначенный приложению, удаляется в идентификаторе Microsoft Entra, идентификатор Microsoft Entra отправит операцию удаления на сервер каталогов. Кроме того, может потребоваться обновить идентификатор Microsoft Entra на сервере каталогов, когда пользователь выходит из область возможности использовать приложение. Это поведение зависит от приложения, которое будет использовать сервер каталогов, так как многие каталоги, такие как OpenLDAP, могут не иметь способа активации учетной записи пользователя по умолчанию.

Подготовка каталога LDAP

Если у вас еще нет сервера каталогов и вы хотите попробовать эту функцию, подготовьте службы упрощенного каталога Active Directory для подготовки из идентификатора Microsoft Entra ID , как создать тестовую среду AD LDS. Если у вас уже развернут другой сервер каталогов, можно пропустить эту статью и продолжить установку и настройку узла соединителя ECMA.

Установка и настройка агента подготовки Microsoft Entra Подключение

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

  1. Войдите на портал Azure.
  2. Перейдите в корпоративные приложения и выберите "Создать приложение".
  3. Найдите локальное приложение ECMA , присвойте приложению имя и нажмите кнопку "Создать ", чтобы добавить его в клиент.
  4. В меню перейдите на страницу подготовки приложения.
  5. Выберите Приступая к работе.
  6. На странице Подготовка измените режим на автоматический.

Снимок экрана: выбор автоматического.

  1. В разделе "Локальная Подключение тивность" выберите "Скачать и установить" и выберите "Принять условия" и "Скачать".

Снимок экрана: расположение скачивания для агента.

  1. Оставьте портал и откройте установщик агента подготовки, примите условия обслуживания и нажмите кнопку "Установить".
  2. Дождитесь мастера настройки агента подготовки Microsoft Entra, а затем нажмите кнопку "Далее".
  3. На шаге выбора расширения выберите " Подготовка локальных приложений" и нажмите кнопку "Далее".
  4. Агент подготовки будет использовать веб-браузер операционной системы для отображения всплывающего окна для проверки подлинности в идентификаторе Microsoft Entra, а также поставщика удостоверений вашей организации. Если вы используете Интернет Обозреватель в качестве браузера в Windows Server, может потребоваться добавить веб-сайты Майкрософт в список надежных сайтов браузера, чтобы разрешить JavaScript работать правильно.
  5. Укажите учетные данные администратора Microsoft Entra при появлении запроса на авторизацию. Пользователю требуется роль гибридного удостоверения Администратор istrator или глобального Администратор istrator.
  6. Нажмите кнопку "Подтвердить" , чтобы подтвердить этот параметр. После успешной установки можно выбрать " Выйти", а также закрыть установщик пакета агента подготовки.

Настройка локального приложения ECMA

  1. На портале в разделе "Локальная Подключение тивность" выберите развернутый агент и выберите "Назначить агенты".

    Снимок экрана: выбор и назначение и агент.

  2. Не закрывайте это окно браузера по мере выполнения следующего шага настройки с помощью мастера настройки.

Настройка сертификата узла Подключение узла Microsoft Entra ECMA

  1. На сервере Windows Server, где установлен агент подготовки, щелкните правой кнопкой мыши мастер настройки Microsoft ECMA2Host в меню "Пуск" и запустите от имени администратора. Запуск от имени администратора Windows необходим для создания необходимых журналов событий Windows.
  2. После запуска конфигурации узла соединителя ECMA вам потребуется создать сертификат, если это первый запуск мастера. Оставьте порт 8585 по умолчанию и выберите "Создать сертификат ", чтобы создать сертификат. Автоматически созданный сертификат будет самозаверяющим как часть доверенного корневого сертификата. Сеть SAN соответствует имени узла. Снимок экрана: настройка параметров.
  3. Выберите Сохранить.

Примечание.

Если вы решили создать новый сертификат, запишите дату окончания срока действия сертификата, чтобы убедиться, что вы планируете вернуться в мастер конфигурации и повторно создать сертификат до истечения срока его действия.

Настройка универсального соединителя LDAP

В зависимости от выбранных параметров некоторые экраны мастера могут быть недоступны, а сведения могут немного отличаться. В этом примере конфигурации пользователи подготовки с классом объектов User отображаются для AD LDS и класса объектов inetOrgPerson для OpenLDAP. Ниже приведены сведения, которые помогут вам в настройке.

  1. Создайте секретный маркер, который будет использоваться для проверки подлинности идентификатора Microsoft Entra в соединителе. Для каждого приложения должно быть 12 символов и уникальных. Если у вас еще нет генератора секретов, можно использовать команду PowerShell, например следующую, чтобы создать пример случайной строки.

    -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_})
    
  2. Запустите мастер настройки Microsoft ECMA2Host из меню "Пуск", если этого еще не сделали.

  3. Выберите Новый соединитель. Снимок экрана: выбор нового соединителя.

  4. На странице Свойства заполните поля значениями, указанными в таблице под снимком экрана, и нажмите кнопку Далее. Снимок экрана: ввод значений свойств.

    Свойство Значение
    Имя. Имя, выбранное для соединителя, которое должно быть уникальным для всех соединителей в вашей среде. Например, LDAP.
    Таймер автосинхронизации (в минутах) 120
    Секретный токен Введите секретный маркер здесь. Он должен содержать не менее 12 знаков.
    Библиотека DLL расширения Для универсального соединителя LDAP выберите Microsoft.IAM.Connector.GenericLdap.dll.
  5. На странице Подключение тивности вы настроите способ взаимодействия узла ecMA Подключение or с сервером каталогов и задайте некоторые параметры конфигурации. Заполните поля значениями, указанными в таблице под снимком экрана, и нажмите кнопку Далее. При нажатии кнопки "Далее" соединитель запрашивает сервер каталогов для его конфигурации. Снимок экрана: страница

    Свойство Описание
    Host Имя узла, на котором расположен LDAP-сервер. В этом примере APP3 используется в качестве имени узла.
    Порт Номер порта TCP. Если сервер каталогов настроен для ПРОТОКОЛА SSL, используйте порт 636. Если Start TLSвы используете безопасность на уровне сети, используйте порт 389.
    Connection Timeout 180
    Привязка Это свойство указывает, как соединитель будет проходить проверку подлинности на сервере каталогов. Basic При использовании параметра или с SSL параметром или TLS без сертификата клиента соединитель отправляет простую привязку LDAP для проверки подлинности с различающимся именем и паролем. SSL С указанным или TLS заданным сертификатом клиента соединитель отправит привязку LDAP SASL EXTERNAL для проверки подлинности с помощью сертификата клиента.
    Имя пользователя Как Подключение or ECMA будет проходить проверку подлинности на сервере каталогов. В этом примере для AD LDS используется CN=svcAccount,CN=ServiceAccounts,CN=App,DC=contoso,DC=lab имя пользователя и для OpenLDAP. cn=admin,dc=contoso,dc=lab
    Пароль Пароль пользователя, который Подключение or ECMA будет проходить проверку подлинности на сервере каталогов.
    Область или домен Этот параметр требуется только в том случае, если выбран Kerberos параметр привязки, чтобы предоставить область или домен пользователя.
    Сертификат Параметры в этом разделе используются только при выборе SSL или TLS в качестве параметра привязки.
    Псевдонимы атрибутов Текстовое поле Псевдонимы атрибутов предназначено для атрибутов, определенных в схеме с помощью синтаксиса RFC 4522. Эти атрибуты не могут быть обнаружены во время обнаружения схемы, и соединителю требуется помощь в определении этих атрибутов. Например, если сервер каталогов не публикует userCertificate;binary и вы хотите подготовить этот атрибут, в поле псевдонимов атрибутов необходимо ввести следующую строку, чтобы правильно определить атрибут userCertificate как двоичный атрибут. userCertificate;binary Если в схеме не требуются специальные атрибуты, можно оставить это пустым.
    Включение операционных атрибутов Include operational attributes in schema Выберите поле проверка box, чтобы также включать атрибуты, созданные сервером каталогов. К ним относятся такие атрибуты, как время создания объекта и время последнего обновления.
    Включение расширяемых атрибутов Include extensible attributes in schema Выберите поле проверка, если в сервере каталогов используются расширяемые объекты (RFC4512/4.3). Включение этого параметра позволяет использовать каждый атрибут для всех объектов. Кроме того, активация этого параметра приведет к значительному увеличению размера схемы, поэтому рекомендуется не устанавливать этот флажок, если эта функция не используется в подключенном каталоге.
    Разрешить выбор привязки вручную не устанавливайте флажок.

    Примечание.

    Если возникла проблема с попыткой подключиться и не удается перейти на глобальную страницу, убедитесь, что учетная запись службы в AD LDS или другой сервер каталогов включена.

  6. На глобальной странице вы настроите различающееся имя журнала разностных изменений, при необходимости и дополнительные функции LDAP. Эта страница автоматически заполняется данными, полученными с сервера LDAP. Просмотрите отображаемые значения и нажмите кнопку "Далее".

    Свойство Description
    Поддерживаемые механизмы SASL В верхнем разделе показаны сведения, предоставляемые самим сервером, включая список механизмов SASL.
    Сведения о сертификате сервера Если SSL или TLS было указано, мастер отобразит сертификат, возвращенный сервером каталогов. Убедитесь, что издатель, тема и отпечаток предназначены для правильного сервера каталогов.
    Найденные обязательные функции Соединитель также проверяет наличие обязательных элементов управления в корневом DSE. Если эти элементы управления не указаны, появится предупреждение. Некоторые каталоги LDAP не перечисляют все функции в корневой DSE, и возможно, что соединитель работает без проблем, даже если предупреждение присутствует.
    Поддерживаемые элементы управления Поддерживаемые элементы управления проверка boxes управляют поведением для определенных операций
    импорт изменений; Различающееся имя журнала изменений — это контекст именования, используемый разностным журналом изменений, например cn=changelog. Чтобы импортировать изменения, вам потребуется указать это значение.
    Атрибут пароля Если сервер каталогов поддерживает другой атрибут пароля или хэширование паролей, можно указать назначение для изменений паролей.
    Имена секций В списке дополнительных разделов можно добавить дополнительные пространства имен, которые не обнаружены автоматически. Например, этот параметр можно использовать, если несколько серверов образуют логический кластер, из которого одновременно нужно импортировать все объекты. Это аналогично тому, что один лес Active Directory может включать несколько доменов, которые совместно используют одну схему. Добавление пространств имен в это поле позволяет имитировать такую структуру. Каждое пространство имен может импортироваться с разных серверов и дополнительно настроено на странице "Настройка секций и иерархий ".
  7. На странице Секции щелкните Далее.

  8. На странице "Профили запуска" убедитесь, что выбрано поле "Экспорт проверка" и поле "Полный импорт проверка". Затем выберите Далее. Снимок экрана: страница

    Свойство Description
    Экспорт (Export) Запустите профиль, который будет экспортировать данные на сервер каталогов LDAP. Этот профиль запуска является обязательным.
    Полный импорт Профиль запуска, который будет импортировать все данные из источников LDAP, указанных ранее. Этот профиль запуска является обязательным.
    Импорт изменений Профиль запуска, который будет импортировать только изменения в LDAP с момента последнего полного или разностного импорта. Включите этот профиль выполнения только в том случае, если вы подтвердили, что сервер каталогов соответствует необходимым требованиям. Дополнительные сведения см. в справочнике по универсальному соединителю LDAP.
  9. На странице "Экспорт" оставьте значения по умолчанию неизменными и нажмите кнопку "Далее".

  10. На странице полного импорта оставьте значения по умолчанию без изменений и нажмите кнопку "Далее".

  11. На странице DeltaImport оставьте значения по умолчанию неизменными и нажмите кнопку "Далее".

  12. Заполните поля на странице Типы объектов и нажмите кнопку Далее.

    Свойство Description
    Целевой объект Это значение является структурным классом объектов пользователя на сервере каталогов LDAP. Например, inetOrgPerson для OpenLDAP или User AD LDS. Не указывайте вспомогательный класс объектов в этом поле. Если для сервера каталогов требуются вспомогательные классы объектов, они будут настроены с помощью сопоставлений атрибутов в портал Azure.
    Привязка Значения этого атрибута должны быть уникальными для каждого объекта в целевом каталоге. Служба подготовки Microsoft Entra запрашивает узел соединителя ECMA с помощью этого атрибута после начального цикла. Сведения о AD LDS, использовании ObjectGUIDи других серверах каталогов см. в следующей таблице. Обратите внимание, что различающееся имя может быть выбрано как -dn-. Многозначные атрибуты, такие как uid атрибут в схеме OpenLDAP, нельзя использовать в качестве привязок.
    Атрибут запроса Этот атрибут должен совпадать с привязкой, например objectGUID , если AD LDS является сервером каталогов или _distinguishedName если OpenLDAP.
    DN Различающееся имя целевого объекта. Сохраняйте -dn-.
    Созданный автоматически не включен

    В следующей таблице перечислены серверы LDAP и используемые привязки:

    Directory Привязка
    Microsoft AD LDS и AD GC Objectguid. Для использования в качестве привязки необходимо использовать агент версии 1.1.846.0 или более поздней ObjectGUID .
    389 Directory Server Различающееся имя
    Apache Directory Различающееся имя
    IBM Tivoli DS. Различающееся имя
    Isode Directory. Различающееся имя
    Novell/NetIQ eDirectory GUID
    Open DJ/DS Различающееся имя
    Open LDAP Различающееся имя
    Oracle ODSEE Различающееся имя
    RadiantOne VDS Различающееся имя
    Sun One Directory Server. Различающееся имя
  13. Узел ECMA обнаруживает атрибуты, поддерживаемые целевым каталогом. Вы можете выбрать, какие из этих атрибутов вы хотите предоставить идентификатору Microsoft Entra. Затем эти атрибуты можно настроить на портале Azure для подготовки. На странице выбора атрибутов добавьте все атрибуты в раскрывающемся списке( по одному за раз), которые требуются в качестве обязательных атрибутов или которые требуется подготовить из идентификатора Microsoft Entra. Снимок экрана: страница выбора атрибутов
    В раскрывающемся списке атрибутов отображается любой атрибут, обнаруженный в целевом каталоге, и он не был выбран на странице выбора атрибутов мастера настройки.

    Убедитесь, что Treat as single value поле проверка box не проверка для objectClass атрибута, а если userPassword задано, является неизбираемым или проверка для атрибутаuserPassword.

    Если вы используете OpenLDAP с схемой inetOrgPerson, настройте видимость для следующих атрибутов.

    Атрибут Рассматривать как одно значение
    cn Y
    mail Y
    objectClass
    sn Y
    userPassword Y

    Если вы используете OpenLDAP со схемой POSIX, настройте видимость для следующих атрибутов.

    Атрибут Рассматривать как одно значение
    _distinguishedName
    -dn-
    export_password
    cn Y
    gidNumber
    homeDirectory
    mail Y
    objectClass
    sn Y
    uid Y
    uidNumber
    userPassword Y

    После добавления всех соответствующих атрибутов нажмите кнопку Далее.

  14. На странице отмены подготовки можно указать, нужно ли удалить пользователей из каталога при выходе из область приложения. В этом случае в разделе "Отключить поток" выберите "Удалить" и в разделе "Удалить" выберите "Удалить". Если Set attribute value выбрано, атрибуты, выбранные на предыдущей странице, не будут доступны для выбора на странице отмены подготовки.

Примечание.

Если вы используете значение атрибута Set, следует учитывать, что разрешены только логические значения.

  1. Выберите Готово.

Убедитесь, что служба ECMA2Host запущена и может читаться с сервера каталогов

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

  1. На сервере, на котором запущен узел Подключение or Host microsoft Entra ECMA, нажмите кнопку "Пуск".
  2. Выберите запуск при необходимости, а затем введите services.msc в поле.
  3. Убедитесь, что Microsoft ECMA2Host отображается в списке служб и она запущена. Если он не запущен, нажмите кнопку "Пуск". Снимок экрана c запущенной службой.
  4. Если вы недавно запустили службу и имеете много объектов пользователей на сервере каталогов, подождите несколько минут, пока соединитель установит соединение с сервером каталогов.
  5. На сервере под управлением узла Подключение or host Microsoft Entra ECMA запустите PowerShell.
  6. Перейдите в папку, в которой был установлен узел ECMA, например C:\Program Files\Microsoft ECMA2Host.
  7. Перейдите в подкаталог Troubleshooting.
  8. Запустите скрипт TestECMA2HostConnection.ps1 в этом каталоге, как показано в следующем примере, и укажите в качестве аргументов имя соединителя и ObjectTypePath значение cache. Если узел соединителя не прослушивает TCP-порт 8585, возможно, также потребуется указать -Port аргумент. При появлении запроса введите секретный маркер, настроенный для этого соединителя.
    PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> $cout = .\TestECMA2HostConnection.ps1 -ConnectorName LDAP -ObjectTypePath cache; $cout.length -gt 9
    Supply values for the following parameters:
    SecretToken: ************
    
  9. Если скрипт отображает сообщение об ошибке или предупреждении, проверка, что служба запущена, а имя соединителя и секретный маркер соответствуют этим значениям, настроенным в мастере настройки.
  10. Если скрипт отображает выходные данные False, соединитель не видел никаких записей на исходном сервере каталогов для существующих пользователей. Если это новая установка сервера каталогов, то это поведение должно быть ожидаемым, и вы можете продолжить работу в следующем разделе.
  11. Однако если сервер каталогов уже содержит одного или нескольких пользователей, но отображаемый Falseскрипт, то это состояние указывает, что соединитель не может прочитать с сервера каталогов. При попытке подготовить идентификатор Microsoft Entra может неправильно соответствовать пользователям в этом исходном каталоге с пользователями в идентификаторе Microsoft Entra. Подождите несколько минут, пока узел соединителя завершит чтение объектов с существующего сервера каталогов, а затем повторно запустите скрипт. Если выходные данные продолжаютсяFalse, проверка конфигурацию соединителя и разрешения на сервере каталогов позволяют соединителю читать существующих пользователей.

Проверка подключения из идентификатора Microsoft Entra к узлу соединителя

  1. Вернитесь в окно веб-браузера, в котором вы настроили подготовку приложений на портале.

    Примечание.

    Если время ожидания окна истекло, необходимо повторно выбрать агент.

    1. Войдите на портал Azure.
    2. Перейдите в раздел Корпоративные приложения и выберите локальное приложение ECMA.
    3. Щелкните элемент Подготовка.
    4. Если появится окно Начало работы, в разделе Локальное подключение измените режим на Автоматический, выберите только что развернутый агент, щелкните команду Назначить агенты и подождите 10 минут. Если окно не появится, перейдите к разделу Изменение подготовки.
  2. Введите указанный ниже URL-адрес в разделе Учетные данные администратора. Замените connectorName часть именем соединителя на узле ECMA, например LDAP. Если вы предоставили сертификат из центра сертификации для узла ECMA, замените localhost его именем сервера, на котором установлен узел ECMA.

    Свойство Значение
    URL-адрес клиента https://localhost:8585/ecma2host_connectorName/scim
  3. Введите значение секретного токена, которое вы определили при создании соединителя.

    Примечание.

    Если вы назначили агент для приложения только что, подождите 10 минут, пока не завершится регистрация. Проверку подключения можно произвести только после завершения регистрации. Ускорить процесс регистрации можно, принудительно завершив регистрацию агента путем перезапуска агента подготовки на сервере. Перейдите на сервер, найдите службы в строке поиска Windows, определите службу агента подготовки Microsoft Entra Подключение, щелкните правой кнопкой мыши службу и перезапустите ее.

  4. Нажмите Проверить соединение и подождите одну минуту.

  5. После успешного тестирования подключения и указывает, что предоставленные учетные данные разрешены для включения подготовки, нажмите кнопку "Сохранить".
    Снимок экрана, тестирование агента

Расширение схемы Microsoft Entra (необязательно)

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

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

Если пользователи берутся в службах домен Active Directory и имеют атрибут в этом каталоге, вы можете использовать Microsoft Entra Подключение или Microsoft Entra Подключение облачную синхронизацию, чтобы настроить синхронизацию атрибута из домен Active Directory Службы идентификатора Microsoft Entra, чтобы он был доступен для подготовки к другим системам.

Если пользователи берутся в идентификаторе Microsoft Entra, то для каждого нового атрибута необходимо сохранить на пользователя, необходимо определить расширение каталога. Затем обновите пользователей Microsoft Entra, которые планируется подготовить, чтобы предоставить каждому пользователю значение этих атрибутов.

Настройка сопоставления атрибутов

В этом разделе описано, как настроить сопоставление атрибутов пользователя Microsoft Entra и атрибутов, выбранных ранее в мастере настройки узла ECMA. Позже, когда соединитель создает объект на сервере каталогов, атрибуты пользователя Microsoft Entra затем будут отправлены через соединитель на сервер каталогов, чтобы быть частью этого нового объекта.

  1. В Центре администрирования Microsoft Entra в разделе "Корпоративные приложения" выберите локальное приложение приложения ECMA, а затем выберите страницу подготовки .

  2. Выберите Изменить параметры подготовки.

  3. Разверните сопоставления и выберите "Подготовка пользователей Microsoft Entra". Если это первый раз, когда вы настроили сопоставления атрибутов для этого приложения, для заполнителя будет только одно сопоставление.

  4. Чтобы убедиться, что схема сервера каталогов доступна в идентификаторе Microsoft Entra, выберите пункт "Показать расширенные параметры" проверка box и выберите "Изменить список атрибутов" для ScimOnPremises. Убедитесь, что перечислены все атрибуты, выбранные в мастере настройки. Если нет, подождите несколько минут, пока схема будет обновлена, а затем выберите "Сопоставление атрибутов" в строке навигации, а затем снова выберите "Изменить список атрибутов" для ScimOnPremises , чтобы перезагрузить страницу. Когда вы увидите перечисленные атрибуты, а затем отмените с этой страницы, чтобы вернуться в список сопоставлений.

  5. Каждый пользователь в каталоге должен иметь уникальное различающееся имя. Можно указать, как соединитель должен создавать различающееся имя с помощью сопоставления атрибутов. Выберите Добавить сопоставление. Используйте значения, приведенные в следующем примере, чтобы создать сопоставление, изменив различающиеся имена в выражении, чтобы соответствовать значению подразделения или другого контейнера в целевом каталоге.

    • Тип сопоставления: выражение
    • Выражение, если подготовка в AD LDS: Join("", "CN=", Word([userPrincipalName], 1, "@"), ",CN=CloudUsers,CN=App,DC=Contoso,DC=lab")
    • Выражение, если подготовка в OpenLDAP: Join("", "CN=", Word([userPrincipalName], 1, "@"), ",DC=Contoso,DC=lab")
    • Целевой атрибут: urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:-dn-
    • Применение этого сопоставления: только во время создания объекта
  6. Если серверу каталогов требуется несколько значений класса структурных объектов или вспомогательных значений класса объектов, которые должны быть предоставлены в objectClass атрибуте, добавьте сопоставление с этим атрибутом. В этом примере подготовки в AD LDS сопоставление objectClass не требуется, но может потребоваться для других серверов каталогов или других схем. Чтобы добавить сопоставление, objectClassнажмите кнопку "Добавить новое сопоставление". Используйте значения, приведенные в следующем примере, чтобы создать сопоставление, изменив имена классов объектов в выражении, чтобы они соответствовали схеме целевого каталога.

    • Тип сопоставления: выражение
    • Выражение, если подготовка схемы inetOrgPerson: Split("inetOrgPerson",",")
    • Выражение, если подготовка схемы POSIX: Split("inetOrgPerson,posixAccount,shadowAccount",",")
    • Целевой атрибут: urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:objectClass
    • Применение этого сопоставления: только во время создания объекта
  7. Если вы подготавливаете в AD LDS и есть сопоставление от userPrincipalName с PLACEHOLDER, а затем щелкните это сопоставление и измените его. Чтобы обновить сопоставление, используйте приведенные ниже значения.

    • Тип сопоставления: прямой
    • Исходный атрибут: userPrincipalName
    • Целевой атрибут: urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:userPrincipalName
    • Соответствие приоритета: 1
    • Применение этого сопоставления: только во время создания объекта
  8. Если вы подготавливаете в AD LDS, добавьте сопоставление для isSoftDeleted. Выберите Добавить сопоставление. Используйте приведенные ниже значения, чтобы создать сопоставление.

    • Тип сопоставления: прямой
    • Исходный атрибут: isSoftDeleted
    • Целевой атрибут: urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:msDS-UserAccountDisabled
  9. Для каждого сопоставления в следующей таблице для сервера каталогов выберите " Добавить новое сопоставление" и укажите исходные и целевые атрибуты. Если вы подготавливаете существующий каталог с существующими пользователями, необходимо изменить сопоставление атрибута, который обычно задает объекты Match с помощью этого атрибута . Дополнительные сведения о сопоставлении атрибутов см. здесь.

    Для AD LDS:

    Тип сопоставления Атрибут источника Целевой атрибут
    Напрямую displayName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:displayName

    Для OpenLDAP:

    Тип сопоставления Атрибут источника Целевой атрибут
    Напрямую displayName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:cn
    Напрямую surname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:sn
    Напрямую userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:mail

    Для OpenLDAP со схемой POSIX вам также потребуется указать gidNumberhomeDirectoryuid атрибуты и uidNumber атрибуты. Каждому пользователю требуется уникальный uid и уникальный uidNumber. Как правило, homeDirectory он устанавливается выражением, производным от пользовательского идентификатора пользователя. Например, если uid пользователь создается выражением, производным от имени субъекта-пользователя, то значение домашнего каталога этого пользователя может быть создано аналогичным выражением, также производным от имени участника-пользователя. И в зависимости от вашего варианта использования, возможно, вам потребуется, чтобы все пользователи были в одной группе, поэтому назначьте их gidNumber из константы.

    Тип сопоставления Атрибут источника Целевой атрибут
    Expression ToLower(Word([userPrincipalName], 1, "@"), ) urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:uid
    Напрямую (атрибут, характерный для каталога) urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:uidNumber
    Expression Join("/", "/home", ToLower(Word([userPrincipalName], 1, "@"), )) urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:homeDirectory
    Константа 10000 urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:gidNumber
  10. Если подготовка в каталог, отличный от AD LDS, добавьте сопоставление, которое urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:userPassword задает начальный случайный пароль для пользователя. Для AD LDS нет сопоставления для userPassword.

  11. Выберите Сохранить.

Обеспечение подготовки пользователей к приложению необходимых атрибутов в идентификаторе Microsoft Entra

Если в каталоге LDAP есть пользователи, у которых есть учетные записи пользователей, необходимо убедиться, что в представлении пользователя Microsoft Entra есть атрибуты, необходимые для сопоставления.

Если вы планируете создавать новых пользователей в каталоге LDAP, необходимо убедиться, что представления Microsoft Entra этих пользователей имеют исходные атрибуты, необходимые для пользовательской схемы целевого каталога.

Командлеты Microsoft Graph PowerShell можно использовать для автоматизации проверка пользователей для необходимых атрибутов.

Например, предположим, что подготовка требует от пользователей трех атрибутов DisplayNamesurname и extension_656b1c479a814b1789844e76b2f459c3_MyNewProperty. Можно использовать Get-MgUser командлет для получения каждого пользователя и проверка, если присутствуют необходимые атрибуты. Обратите внимание, что командлет Graph версии 1.0 Get-MgUser по умолчанию не возвращает ни один из атрибутов расширения каталога пользователя, если только атрибуты не указаны в запросе в качестве одного из возвращаемых свойств.

$userPrincipalNames = (
 "alice@contoso.com",
 "bob@contoso.com",
 "carol@contoso.com" )

$requiredBaseAttributes = ("DisplayName","surname")
$requiredExtensionAttributes = ("extension_656b1c479a814b1789844e76b2f459c3_MyNewProperty")

$select = "id"
foreach ($a in $requiredExtensionAttributes) { $select += ","; $select += $a;}
foreach ($a in $requiredBaseAttributes) { $select += ","; $select += $a;}

foreach ($un in $userPrincipalNames) {
   $nu = Get-MgUser -UserId $un -Property $select -ErrorAction Stop
   foreach ($a in $requiredBaseAttributes) { if ($nu.$a -eq $null) { write-output "$un missing $a"} }
   foreach ($a in $requiredExtensionAttributes) { if ($nu.AdditionalProperties.ContainsKey($a) -eq $false) { write-output "$un missing $a" } }
}

Сбор существующих пользователей из каталога LDAP

Многие каталоги LDAP, в том числе Active Directory, предоставляют команду для вывода списка пользователей.

  1. Определите, какие пользователи в этом каталоге должны быть включены в число пользователей приложения. Этот выбор зависит от конфигурации приложения. Для некоторых приложений допустимым считается любой пользователь, который существует в каталоге LDAP. Другие приложения требуют, чтобы пользователь имел определенный атрибут или входил в некоторую группу в этом каталоге.

  2. Выполните команду, извлекающую подмножество пользователей из каталога LDAP. Убедитесь, что выходные данные содержат атрибуты пользователей, которые будут использоваться для сопоставления с идентификатором Microsoft Entra. Примерами этих атрибутов являются идентификатор сотрудника, имя учетной записи и адрес электронной почты.

    Например, эта команда в Windows с помощью программы AD LDS csvde создаст CSV-файл в текущем каталоге файловой системы с userPrincipalName атрибутом каждого человека в каталоге:

    $out_filename = ".\users.csv"
    csvde -f $out_filename -l userPrincipalName,cn -r "(objectclass=person)"
    
  3. При необходимости перенесите CSV-файл со списком пользователей в систему, где установлены командлеты Microsoft Graph PowerShell.

  4. Теперь, когда у вас есть список всех пользователей, полученных из приложения, вы будете соответствовать этим пользователям из хранилища данных приложения с пользователями в идентификаторе Microsoft Entra. Прежде чем продолжить, просмотрите сведения о сопоставлении пользователей в исходных и целевых системах.

Получение идентификаторов пользователей в идентификаторе Microsoft Entra

В этом разделе показано, как взаимодействовать с идентификатором Microsoft Entra с помощью командлетов Microsoft Graph PowerShell .

Когда ваша организация впервые применит эти командлеты для данного сценария, вам потребуется роль глобального администратора, чтобы предоставить согласие на использование Microsoft Graph PowerShell в арендаторе. Последующие взаимодействия могут использовать роль с более низким уровнем привилегий, например, такую как:

  • администратор пользователей, если вы планируете создавать новых пользователей;
  • администратор приложений или администратор управления удостоверениями, если вы просто управляете назначениями ролей приложения.
  1. Откройте средство PowerShell.

  2. Если у вас еще нет установленных модулей Microsoft Graph PowerShell, установите модуль Microsoft.Graph.Users и другие модули с помощью следующей команды:

    Install-Module Microsoft.Graph
    

    Если у вас уже установлены модули, убедитесь, что используете последнюю версию:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Подключение идентификатор Microsoft Entra:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Если вы впервые использовали эту команду, может потребоваться согласие на предоставление этим разрешениям инструментам командной строки Microsoft Graph.

  5. Считайте список пользователей, полученный из хранилища данных приложения, в сеанс PowerShell. Если список пользователей ранее хранился в CSV-файле, вы можете использовать этот командлет PowerShell Import-Csv, предоставив в качестве аргумента имя файла из предыдущего раздела.

    Например, если файл, полученный из облачных служб удостоверений SAP, называется Users-exported-from-sap.csv и находится в текущем каталоге, введите следующую команду.

    $filename = ".\Users-exported-from-sap.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    

    Для другого примера, если вы используете базу данных или каталог, если файл называется users.csv и расположен в текущем каталоге, введите следующую команду:

    $filename = ".\users.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    
  6. Выберите столбец файла users.csv , который будет соответствовать атрибуту пользователя в идентификаторе Microsoft Entra.

    Если вы используете службы SAP Cloud Identity Services, то сопоставление по умолчанию — это атрибут userName SAP SCIM с атрибутом userPrincipalNameидентификатора Microsoft Entra ID:

    $db_match_column_name = "userName"
    $azuread_match_attr_name = "userPrincipalName"
    

    В другом примере, если вы используете базу данных или каталог, у вас могут быть пользователи в базе данных, где значение в столбце с именем EMail совпадает со значением атрибута userPrincipalNameMicrosoft Entra:

    $db_match_column_name = "EMail"
    $azuread_match_attr_name = "userPrincipalName"
    
  7. Получите идентификаторы этих пользователей в идентификаторе Microsoft Entra ID.

    В следующем скрипте PowerShell используются значения $dbusers, $db_match_column_name и $azuread_match_attr_name, указанные ранее. Он запрашивает идентификатор Microsoft Entra, чтобы найти пользователя с атрибутом с соответствующим значением для каждой записи в исходном файле. Если в файле есть много пользователей, полученных из исходной облачной службы идентификации SAP, базы данных или каталога, этот сценарий может занять несколько минут. Если у вас нет атрибута в идентификаторе Microsoft Entra, который имеет значение, и необходимо использовать contains или другое выражение фильтра, вам потребуется настроить этот скрипт и в шаге 11 ниже, чтобы использовать другое выражение фильтра.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    
  8. Просмотрите результаты предыдущих запросов. Узнайте, не удалось ли находиться в идентификаторе Microsoft Entra в любом из пользователей в облачных службах удостоверений SAP, базе данных или каталоге из-за ошибок или отсутствующих совпадений.

    Следующий скрипт PowerShell отображает количество записей, которые не удалось найти:

    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    
  9. По завершении скрипта будет указано сообщение об ошибке, если какие-либо записи из источника данных не были расположены в идентификаторе Microsoft Entra. Если не все записи для пользователей из хранилища данных приложения могут находиться как пользователи в идентификаторе Microsoft Entra, вам потребуется исследовать, какие записи не совпадают и почему.

    Например, адрес электронной почты пользователя и userPrincipalName могут быть изменены в идентификаторе Microsoft Entra без mail соответствующего свойства, обновляемого в источнике данных приложения. Также есть вариант, что пользователь уже покинул организацию, но сведения о нем сохранились в источнике данных приложения. Или может быть учетная запись поставщика или суперадминистратор в источнике данных приложения, который не соответствует любому конкретному лицу в идентификаторе Microsoft Entra.

  10. Если пользователи не могли находиться в идентификаторе Microsoft Entra ID или не были активными и не смогли войти, но вы хотите проверить доступ или обновить их атрибуты в SAP Cloud Identity Services, базе данных или каталоге, вам потребуется обновить приложение, соответствующее правило или обновить или создать пользователей Microsoft Entra для них. Дополнительные сведения об изменениях см. в статье об управлении сопоставлениями и учетными записями пользователей в приложениях, которые не совпадают с пользователями в идентификаторе Microsoft Entra.

    Если выбрать вариант создания пользователей в идентификаторе Microsoft Entra, вы можете создать пользователей в массовом режиме с помощью одного из следующих вариантов:

    Убедитесь, что эти новые пользователи заполняются атрибутами, необходимыми для идентификатора Microsoft Entra, чтобы позже сопоставить их с существующими пользователями в приложении, а также атрибуты, необходимые идентификатору Microsoft Entra, включая userPrincipalNamemailNickname и displayName. Он userPrincipalName должен быть уникальным среди всех пользователей в каталоге.

    Например, у вас могут быть пользователи в базе данных, где значение в столбце с именем EMail является значением, которое вы хотите использовать в качестве имени участника-пользователя Microsoft Entra, значение в столбце Alias содержит псевдоним электронной почты Microsoft Entra ID, а значение в столбце Full name содержит отображаемое имя пользователя:

    $db_display_name_column_name = "Full name"
    $db_user_principal_name_column_name = "Email"
    $db_mail_nickname_column_name = "Alias"
    

    Затем этот скрипт можно использовать для создания пользователей Microsoft Entra для пользователей в sap Cloud Identity Services, в базе данных или каталоге, который не совпадает с пользователями в идентификаторе Microsoft Entra. Обратите внимание, что может потребоваться изменить этот скрипт, чтобы добавить дополнительные атрибуты Microsoft Entra, необходимые в вашей организации, или если это $azuread_match_attr_name не mailNicknameuserPrincipalNameтак, чтобы предоставить этот атрибут Microsoft Entra.

    $dbu_missing_columns_list = @()
    $dbu_creation_failed_list = @()
    foreach ($dbu in $dbu_not_matched_list) {
       if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) {
          $params = @{
             accountEnabled = $false
             displayName = $dbu.$db_display_name_column_name
             mailNickname = $dbu.$db_mail_nickname_column_name
             userPrincipalName = $dbu.$db_user_principal_name_column_name
             passwordProfile = @{
               Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_})
             }
          }
          try {
            New-MgUser -BodyParameter $params
          } catch { $dbu_creation_failed_list += $dbu; throw }
       } else {
          $dbu_missing_columns_list += $dbu
       }
    }
    
  11. После добавления отсутствующих пользователей в идентификатор Microsoft Entra запустите сценарий из шага 7 еще раз. Затем запустите скрипт из шага 8. Убедитесь, что сообщения об ошибках отсутствуют.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    

Назначение пользователя или группы корпоративному приложению в предварительной версии Azure Active Directory

Теперь, когда у вас есть узел microsoft Entra ECMA Подключение or, говорящий с идентификатором Microsoft Entra ID, и сопоставление атрибутов, можно перейти к настройке, которая находится в область для подготовки.

Внимание

Если вы вошли в систему, используя роль Администратора гибридных удостоверений, для выполнения задач из этого раздела необходимо выйти из системы и войти с другой учетной записью, которая имеет роль Администратора приложений, Администратора облачных приложений или Глобального администратора. Роль гибридного удостоверения Администратор istrator не имеет разрешений на назначение пользователей приложениям.

Если в каталоге LDAP есть существующие пользователи, необходимо создать назначения ролей приложения для существующих пользователей в идентификаторе Microsoft Entra. Дополнительные сведения о том, как создавать назначения ролей приложения в массовом режиме с помощьюNew-MgServicePrincipalAppRoleAssignedTo, см. в руководстве по управлению существующими пользователями в идентификаторе Microsoft Entra.

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

  1. Убедитесь, что пользователь выберет все свойства, которые будут сопоставлены с необходимыми атрибутами схемы сервера каталогов.
  2. На портале Azure выберите элемент Корпоративные приложения.
  3. Выберите вариант Локальное приложение ECMA.
  4. В левой части экрана последовательно выберите Управление и Пользователи и группы.
  5. Выберите Добавить пользователя или группу. Снимок экрана: добавление пользователя.
  6. В меню Пользователи нажмите Не выбрано. Снимок экрана: пункт
  7. Выберите пользователя справа и нажмите кнопку "Выбрать ".
    Снимок экрана: выбор пользователей
  8. Теперь нажмите Назначить. Снимок экрана: назначение пользователей.

Тестирование подготовки

Теперь, когда атрибуты сопоставлены и назначены начальным пользователем, можно протестировать подготовку по запросу с одним из пользователей.

  1. На сервере, на котором выполняется узел Подключение or host microsoft Entra ECMA, нажмите кнопку "Пуск".

  2. Введите run, а потом введите в поле services.msc.

  3. В списке служб убедитесь, что запущена служба агента подготовки Microsoft Entra Подключение и службы Microsoft ECMA2Host. В противном случае нажмите Start (Запустить).

  4. На портале Azure выберите элемент Корпоративные приложения.

  5. Выберите вариант Локальное приложение ECMA.

  6. В левой части экрана выберите элемент Подготовка.

  7. Выберите Подготовка по требованию.

  8. Найдите одного из тестовых пользователей и выберите Подготовить. Снимок экрана: тестирование подготовки по запросу.

  9. Через несколько секунд появится сообщение Пользователь в целевой системе создан со списком атрибутов пользователя. Если вместо этого появится ошибка, ознакомьтесь с ошибками подготовки.

Начало подготовки пользователей

После успешного тестирования подготовки по запросу добавьте остальных пользователей.

  1. В портал Azure выберите приложение.
  2. В левой части экрана последовательно выберите Управление и Пользователи и группы.
  3. Убедитесь, что всем пользователям назначена роль приложения.
  4. Вернитесь на страницу конфигурации подготовки.
  5. Убедитесь, что для область заданы только назначенные пользователи и группы, включите состояние подготовки и нажмите кнопку "Сохранить".
  6. Подождите несколько минут, пока начнется подготовка. Она может занять до 40 минут. После завершения задания подготовки, как описано в следующем разделе,

Устранение ошибок подготовки

Если отображается сообщение об ошибке, выберите команду Просмотреть журналы подготовки. Найдите в журнале строку, в которой для состояния отображается значение Сбой, и щелкните ее.

Если появляется сообщение об ошибке Не удалось создать пользователя, проверьте атрибуты, отображаемые в требованиях схемы базы данных.

Дополнительные сведения см. на вкладке "Устранение неполадок и Рекомендации".

Если сообщение об ошибке устранения неполадок включает значение objectClass invalid per syntax, убедитесь, что сопоставление атрибута подготовки с objectClass атрибутом содержит только имена классов объектов, распознаваемых сервером каталогов.

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

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

Проверка подготовки пользователей

После ожидания проверка сервер каталогов, чтобы убедиться, что пользователи подготавливаются. Запрос, выполняемый на сервере каталогов, будет зависеть от того, какие команды предоставляет сервер каталогов.

В следующих инструкциях показано, как проверить AD LDS.

  1. Откройте диспетчер сервера и выберите слева AD LDS.
  2. Щелкните правой кнопкой мыши экземпляр AD LDS и выберите ldp.exe во всплывающем окне. Снимок экрана: расположение инструмента Ldp.
  3. В верхней части окна ldp.exe выберите Connection (Подключение) и Connect (Подключить).
  4. Введите следующие сведения и щелкните ОК.
    • Сервер: APP3
    • Порт: 636
    • Поместите проверка в поле SSLСнимок экрана: подключение Ldp для проверка пользователей.
  5. В верхней части окна Connection (Подключение) выберите Bind (Привязать).
  6. Оставьте значения по умолчанию и щелкните ОК.
  7. В верхней части страницы выберите View(Представление) и Tree (Дерево).
  8. Для BaseDN укажите значение CN=App,DC=contoso,DC=lab и щелкните ОК.
  9. Слева разверните DN и выберите CN=CloudUsers,CN=App,DC=contoso,DC=lab. Вы должны увидеть пользователей, которые были подготовлены из идентификатора Microsoft Entra. Снимок экрана: привязка Ldp для пользователей.

В следующих инструкциях показано, как проверка OpenLDAP.

  1. Откройте окно терминала с командной оболочкой в системе с помощью OpenLDAP.
  2. Введите команду ldapsearch -D "cn=admin,dc=contoso,dc=lab" -W -s sub -b dc=contoso,dc=lab -LLL (objectclass=inetOrgPerson)
  3. Убедитесь, что результирующий LDIF содержит пользователей, подготовленных из идентификатора Microsoft Entra.

Следующие шаги