Устранение неполадок проверки подготовки пользователей в коллекции приложений Microsoft Entra (предварительная версия)

Если тест в шаблоне проверки Azure Logic Apps завершается сбоем, результаты сообщают о том, какой этап и действие сломались, а базовый HTTP-ответ сообщает вам, почему. В этой статье показано, как определить первопричину сбоя и устранить наиболее распространённые проблемы с конечной точкой SCIM.

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

Отследить сбойный тест

Отталкивайтесь от JSON с результатами. Поле provisioningErrorDetails обычно называет первопричину самостоятельно.

  1. Откройте действие Orchestrator_Workflow в Final_TestResults запуске, а затем выберите Показать необработанные выходные данные.

  2. Найдите неудачный тест. Значение testResult называет этап и действие, которое завершилось сбоем, как в этом примере.

    {
      "testName": "Delete_Group_Test",
      "testResult": "FAILED - [Delete Phase] Failed Action: Delete_Step5_Delete_Group_By_Id",
      "provisioningErrorDetails": {
        "provisioningLogs": {
          "statusCode": 403,
          "body": {
            "error": {
              "code": "Authorization_RequestDenied",
              "message": "Insufficient privileges to complete the operation."
            }
          }
        }
      }
    }
    

    Этот результат завершился сбоем на этапе удаления в Delete_Step5_Delete_Group_By_Id, а ответ 403 показывает, что у управляемого удостоверения Logic App отсутствует необходимое разрешение.

  3. Прочитайте provisioningErrorDetails, чтобы узнать код состояния HTTP и сообщение об ошибке.

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

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

  6. Выберите действие и сравните входные данные с выходными данными. Текст ответа содержит точную ошибку, возвращаемую Microsoft Graph или конечной точкой SCIM.

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

Устранение распространенных сбоев

Большинство сбоев связано с одной из следующих причин. Исправьте основную проблему, а затем повторно запустите тесты.

Запросы завершаются сбоем, если URL-адрес конечной точки содержит флаг компонента

Флаги функций, такие как aadOptscim062020, относятся к конфигурации подготовки, а не к параметрам Logic App. Когда флаг появляется в параметре scimEndpoint, запросы завершаются ошибкой.

Удалите флаг из конфигурации приложения логики. Задайте его только в Корпоративные приложения> вашем приложении Подготовка>>.

Запуски прерываются на полпути из-за ошибок аутентификации

Полный цикл проверки занимает 60–90 минут, что дольше, чем срок действия многих токенов доступа. Когда срок действия маркера истекает в середине выполнения, оставшиеся тесты не проходят проверку подлинности.

Используйте маркер носителя, который остается действительным по крайней мере в течение 24 часов.

Действие Get_Templates возвращает несанкционированную ошибку

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

Повторно запустите скрипт разрешений и разрешите несколько минут распространения назначений. Если ошибка сохраняется, повторно создайте Logic App, а затем перенастройте управляемое удостоверение и разрешения.

Сбой отфильтрованных запросов SCIM

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

Поддержка отфильтрованных GET запросов для каждого атрибута, настроенного как свойство сопоставления в Подготовка>. Например, если emails[type eq "work"].value это соответствующее свойство, конечная точка должна обрабатывать этот запрос:

GET /scim/v2/Users?filter=emails[type eq "work"].value eq "user@contoso.com"

Тест завершается с ошибкой SCIM 409 Conflict

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

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

Сбой запроса для несуществующего пользователя

Спецификация SCIM допускает ответ 404 Not Found для несуществующего пользователя, но служба подготовки учетных записей Microsoft Entra не поддерживает такое поведение.

Возвращать 200 OK с нулевым количеством результатов для запросов на основе фильтров, которые не находят ни одного пользователя, например totalResults: 0 с пустым массивом Resources. Такое поведение является обязательным требованием для онбординга. Полный список см. в разделе "Требования к API SCIM".

Сбой теста обнаружения схемы

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

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

Тест завершается с ошибкой проверки схемы

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

Добавьте допустимые значения в defaultUserProperties параметр. Если ваш /Schemas конечный узел публикует canonicalValues, агент автоматически обнаруживает это ограничение.

Сбой групповых тестов

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

Реализуйте конечную точку SCIM 2.0 для групп, включая поддержку обновления нескольких членств в группах с помощью одного запроса PATCH.

Запросы завершаются с ошибкой HTTP 429

Ваша конечная точка ограничивает частоту запросов службы подготовки ресурсов.

Поддержка как минимум 25 запросов в секунду для каждого арендатора.