Настройка приложения логики проверки на портале Azure (предварительная версия)

Шаблон проверки Azure Logic Apps тестирует вашу интеграцию подготовки по стандарту System for Cross-Domain Identity Management (SCIM) на совместимость со службой подготовки Microsoft Entra. В этой статье показано, как создавать ресурсы и развертывать шаблон самостоятельно, поэтому вы сохраняете полный контроль над каждым шагом.

В качестве независимого поставщика программного обеспечения (ISV) сначала создайте приложение адаптации ISV в центре администрирования Microsoft Entra и запустите задание подготовки для вашей конечной точки SCIM. Затем вы развернете приложение логики, предоставьте ему необходимые разрешения, задайте параметры выполнения и выполните тесты.

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

Необходимые условия

Создайте приложение адаптации ISV

Приложение Logic App запускает тесты через задание подготовки ресурсов, поэтому перед развертыванием шаблона необходимо иметь работающее приложение ISV Onboarding.

  1. Войдите в Центр администрирования Microsoft Entra.

  2. Перейдите к Корпоративные приложения>Новое приложение, а затем выполните поиск Тестовое приложение подготовки к работе из коллекции Entra.

    Снимок экрана с результатами поиска в коллекции приложений Microsoft Entra, на котором показано тестовое приложение Entra Gallery Provisioning.

  3. Введите имя приложения и нажмите кнопку "Создать".

  4. Скопируйте идентификатор объекта на странице обзора приложения. Это значение является параметром servicePrincipalId для приложения логики.

    Снимок экрана: страница обзора корпоративного приложения с выделенным идентификатором объекта.

  5. Выберите " Подготовка", задайте для режима подготовки значение "Автоматически", выберите "Создать конфигурацию", введите учетные данные клиента OAuth и выберите "Проверить подключение".

  6. Перейдите в Provisioning>Сопоставления>, чтобы создать задание подготовки и настроить схему.

    Снимок экрана: панель

  7. Обрезайте схему, чтобы она содержала только атрибуты, поддерживаемые конечной точкой SCIM. Выберите "Показать дополнительные параметры", выберите "Изменить список атрибутов", а затем обновить или удалить атрибуты для сопоставления конечной точки.

    Снимок экрана: редактор списка атрибутов, показывающий атрибуты SCIM, поддерживаемые приложением.

    Атрибуты, которые не поддерживает ваша конечная точка, приводят к сбою Schema_Discoverability_Test, поэтому список должен быть как можно короче. Чтобы экспортировать схему, выберите " Проверить схему" и нажмите кнопку "Скачать " в редакторе схем. Дополнительные сведения о сопоставлениях см. в разделе "Настройка сопоставлений атрибутов".

  8. На странице "Обзор" выберите "Начать подготовку". Когда задание начинается без ошибок, вы готовы развернуть приложение логики.

    Снимок экрана: страница обзора подготовки с выделенной командой

Создание приложения логики

Создайте Logic App в том же тенанте, что и ваше приложение ISV Onboarding.

  1. Войдите на портал Azure.

  2. Найдите подписки, выберите нужную подписку и создайте группу ресурсов для приложения логики.

  3. Найдите приложения логики и выберите "Добавить>план службы рабочих процессов" (стандартный).

    Снимок экрана: область создания приложений логики с выбранным параметром

  4. Введите имя и выберите созданную группу ресурсов.

  5. На вкладке Хранилище для параметра Параметры диагностики службы BLOB-объектов выберите значение «Настроить сейчас», а затем выберите рабочую область по умолчанию.

  6. Оставьте оставшиеся параметры по умолчанию и нажмите кнопку "Проверить и создать".

  7. Когда развертывание завершится, откройте приложение логики.

Развертывание рабочих процессов проверки

Шаблон поставляется в виде набора определений рабочих процессов в репозитории SCIMReferenceCode. Вы отправляете их в приложение логики и развертываете их с помощью предоставленного скрипта.

  1. Скачайте каждый файл из папки StandardLogicApp и сохраните их вместе в одной папке.

  2. В приложении Logic App выберите Средства разработки>, вставьте содержимое logicAppTemplate.json, а затем выберите Сохранить.

    Снимок экрана области просмотра кода приложения логики, показывающий JSON определения рабочего процесса.

  3. Откройте Azure Cloud Shell или локальный терминал, а затем отправьте скачанные файлы.

  4. На странице приложения логики Обзор скопируйте идентификатор подписки, группу ресурсов и имя приложения логики.

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

  5. Запустите скрипт развертывания.

    .\Deploy-LogicAppWorkflows.ps1 `
      -SubscriptionId $subscriptionId `
      -ResourceGroup $resourceGroupName `
      -LogicAppName $LogicAppName
    
  6. Убедитесь, что развернуты все пять рабочих процессов.

    Снимок экрана области «Рабочие процессы приложения логики», в которой перечислены развернутые рабочие процессы проверки.

Шаблон использует вложенную архитектуру рабочего процесса. Orchestrator_Workflow — точка входа и вызывает другие рабочие процессы в качестве дочерних рабочих процессов. Initialization_Workflowподготавливает тестовый запуск, а UserTests_WorkflowGroupTests_WorkflowSCIMTests_Workflow затем проводит тесты. Последний раздел Orchestrator_Workflow оценивает результаты.

Предоставьте разрешения приложению логики

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

  1. В приложении логики выберите Параметры>Идентичность.

  2. На вкладке "Назначаемая системой " установите значение "Состояниевключено", нажмите кнопку "Да " в диалоговом окне подтверждения и нажмите кнопку "Сохранить".

    Снимок экрана панели «Идентификация» со статусом управляемого удостоверения, назначаемого системой: «Вкл.»

  3. Скопируйте идентификатор объекта управляемого удостоверения. Скрипт разрешений должен иметь это значение.

    Снимок экрана управляемого идентификатора, назначенного системой, с отображением его идентификатора объекта.

  4. Выберите Назначения ролей Azure>Добавить назначение роли, а затем назначьте роль Владелец.

    Снимок экрана: панель добавления назначения ролей с выбранной ролью владельца.

  5. Скачайте AssignRolesTOManagedIdentity-LogicApps 1.ps1, задайте $miObjId переменную идентификатору объекта, скопированного, а затем запустите скрипт.

    В Azure Cloud Shell сначала отправьте файл, а затем запустите его из оболочки.

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

Задайте параметры запуска

Откройте Orchestrator_Workflow в конструкторе и выберите "Параметры". Сохраните приложение логики после обновления значений.

Снимок экрана: конструктор рабочих процессов Orchestrator с выделенной командой

Parameter Ценность
servicePrincipalId Идентификатор объекта созданного вами приложения ISV Onboarding.
scimEndpoint URL-адрес конечной точки SCIM. Не включайте флаги функций, такие как aadOptscim062020, даже если ваше приложение ISV Onboarding использует их. Настраивайте флаги только в поле URL-адрес арендатора в конфигурации подготовки к работе.
scimBearerToken Маркер носителя, который остается действительным по крайней мере в течение 24 часов.
testUserDomain Проверенный домен в вашем арендаторе. Тесты создают пользователей в этом домене.
defaultUserProperties Один или несколько наборов значений свойств пользователя. Шаблон выбирает один набор случайным образом, чтобы создать пользователя и другого, чтобы обновить его, поэтому предоставьте по крайней мере два набора.
EnabledTests Одно значение, которое управляет выполнением тестов. Используйте All, чтобы запустить всё, или UserTests, GroupTests или SCIMTests, чтобы запустить один рабочий процесс. Вы также можете назвать отдельный тест, например Create_User_Test.
scimClientId Идентификатор клиента OAuth.
scimClientSecret Секрет клиента OAuth.
scimTokenEndpoint Ваша конечная точка токена OAuth.

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

Выполнение тестов

  1. Перейдите в Workflows>Orchestrator_Workflow.

  2. В конструкторе нажмите кнопку "Выполнить".

    Снимок экрана: конструктор рабочих процессов Orchestrator с выделенной командой Run.

  3. Отслеживайте ход выполнения в истории запусков. Полный запуск занимает 60–90 минут.

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

  4. Выберите запуск, выберите действие Final_TestResults, а затем выберите Показать необработанные выходные данные, чтобы увидеть, какие тесты прошли.

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

Вы также можете проверить выполнение из командной строки с помощью ValidateLogicAppRun-Standard.ps1.

Очистите ресурсы

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

Сохраните ресурсы, пока Microsoft не завершит рассмотрение вашей отправки. Кроме того, удалите всех тестовых пользователей, оставшихся после незавершённого выполнения, и остановите задание подготовки учётных записей в приложении ISV Onboarding после завершения тестирования.

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