Журналы подготовки в Azure Active Directory

ИТ-администратору важно иметь представление о том, что происходит в его ИТ-среде. Сведения о работоспособности системы позволяют определить, когда и как нужно реагировать на потенциальные проблемы.

Для достижения этой цели портал Azure Active Directory предоставляет три журнала действий:

  • Операции входа сведения об операциях входа и использовании ресурсов пользователями.
  • Аудит сведения об изменениях, примененных к вашему арендатору, например об операциях управления пользователями и группами или обновлении ресурсов арендатора.
  • Подготовка действия, выполняемые службой подготовки к работе, например создание группы в ServiceNow или импорт пользователей из Workday.

В этой статье содержатся общие сведения о журналах подготовки.

Что можно делать с журналом?

Журналы подготовки можно использовать для поиска ответов на такие вопросы:

  • Какие группы были успешно созданы в ServiceNow?

  • Какие пользователи были успешно удалены из Adobe?

  • Какие пользователи из Workday были успешно созданы в Active Directory?

Кто может получить к ним доступ?

Эти пользователи могут получать доступ к данным в журналах подготовки:

  • Владельцы приложений (журналы для собственных приложений)

  • Пользователи в роли "администратор безопасности", "читатель отчетов", "агент безопасности", "администратор приложения" и "администратор облачных приложений"

  • Пользователи в пользовательской роли с разрешением provisioningLogs

  • Глобальные администраторы

Какая нужна лицензия Azure AD?

Чтобы получить доступ к отчету об активности событий подготовка, с клиентом должна быть связана лицензия Azure AD Premium. Сведения об обновлении выпуска Azure AD см. в статье Приступая к работе с Azure Active Directory Premium.

Как получить доступ?

Получить доступ к данным журнала можно с помощью следующих средств:

  • портал Azure;

  • Потоковая передача журналов подготовки в Azure Monitor. Этот метод обеспечивает расширенное хранение данных и создание пользовательских панелей мониторинга, предупреждений и запросов.

  • Запрос Microsoft Graph API для журналов подготовки.

  • Загрузка журналов подготовки в формате CSV или JSON.

Где можно найти журнал на портале Azure?

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

Open provisioning logs

Кроме того, вы можете перейти непосредственно к журналам входа, используя следующую ссылку: https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/SignIns.

Чтобы получить доступ к журналам подготовки, выберите журналы подготовки в разделе Мониторинг панели Azure Active Directory в портале Azure. Для отображения некоторых записей подготовки на портале может потребоваться до двух часов.

Screenshot that shows selections for accessing provisioning logs.

Что содержит представление по умолчанию?

Журнал событий подготовки содержит представление списка по умолчанию, в котором отображаются:

  • Идентификатор
  • Действие
  • Исходная система
  • Целевая система
  • Состояние
  • Дата

Screenshot that shows default columns in a provisioning log.

Представление списка можно настроить, щелкнув Столбцы на панели инструментов.

Screenshot that shows the button for customizing columns.

Здесь вы можете добавить или удалить отображаемые поля.

Screenshot that shows available columns with some selected.

Чтобы получить более подробную информацию, выберите элемент в списке.

Screenshot that shows detailed information.

Фильтрация действий по подготовке

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

В представлении по умолчанию можно выбрать следующие фильтры:

  • Удостоверение
  • Дата
  • Состояние
  • Действие

Screenshot that shows filter values.

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

Можно выполнить поиск по имени или идентификатору объекта. Идентификатор зависит от сценария. Например, при подготовке объекта из Azure AD в Salesforce идентификатор источника — это идентификатор объекта пользователя в Azure AD. Идентификатор целевого объекта — это идентификатор пользователя в Salesforce. При подготовке из Workday в Active Directory идентификатором источника является идентификатор работника рабочего дня Workday.

Примечание

Имя пользователя может не всегда присутствовать в столбце идентификаторов. Всегда будет один идентификатор.

Фильтр дат позволяет определить интервал времени для возвращаемых данных. Возможны следующие значения:

  • 1 месяц
  • 7 дней
  • 30 дней
  • 24 часа
  • Настраиваемый интервал

При выборе настраиваемого временного интервала можно настроить начальную и конечную даты.

В фильтре Состояние можете выбрать:

  • все
  • Успешно
  • Failure
  • Пропущено

Фильтр Действий позволяет отфильтровать следующие действия:

  • Создание
  • Обновление
  • Удалить
  • Отключить
  • Другое

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

Screenshot that shows fields that you can add as filters.

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

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

  • Идентификатор изменения: идентификатор изменения является уникальным идентификатором для события подготовки. Вы можете поделиться этим идентификатором с поддержкой продукта, чтобы найти событие подготовки.

  • Исходная система. Вы можете указать, откуда будет подготавливаться удостоверение. Например, при подготовке объекта из Azure AD в ServiceNow исходная система — это Azure AD.

  • Целевая система. Вы можете указать, куда будет подготавливаться удостоверение. Например, при подготовке объекта из Azure AD в ServiceNow используется целевая система ServiceNow.

  • Приложение. можно отобразить только записи приложений с отображаемым именем, содержащим определенную строку.

Сведения о подготовке

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

Screenshot that shows four tabs that contain provisioning details.

  • Шаги: описывает шаги, предпринимаемые для инициализации объекта. Подготовка объекта может состоять из четырех шагов:

    1. Импортируйте объект.
    2. Определите, находится ли объект в области.
    3. Сопоставьте объект между исходной и целевой системами.
    4. Подготовьте объект (создание, обновление, удаление или отключение).

    Screenshot shows the provisioning steps on the Steps tab.

  • Исправление ошибок и рекомендации: содержит код и причину ошибки. Сведения об ошибке доступны, только если происходит сбой.

  • Измененные свойства: показывает старое и новое значения. Если старое значение отсутствует, этот столбец пуст.

  • Краткий обзор: Содержит общие сведения о том, что случилось и идентификаторы для объекта в исходной и целевой системах.

Скачать журналы в формате CSV или JSON

Вы можете скачать журналы подготовки для последующего использования, перейдя к журналам в портал Azure и выбрав Загрузить. Файл будет отфильтрован на основе выбранных критериев фильтра. Сделайте фильтры как можно точными, чтобы уменьшить размер и время загрузки.

Загружаемый файл CSV содержит три файла:

  • ProvisioningLogs: скачивает все журналы, за исключением шагов подготовки и измененных свойств.
  • ProvisioningLogs_ProvisioningSteps: содержит шаги подготовки и идентификатор изменения. Идентификатор изменения можно использовать для объединения события с другими двумя файлами.
  • ProvisioningLogs_ModifiedProperties: содержит атрибуты, которые были изменены, и идентификатор изменения. Идентификатор изменения можно использовать для объединения события с другими двумя файлами.

Сохраните файл JSON

Чтобы открыть JSON-файл, используйте текстовый редактор, например код Microsoft Visual Studio. Visual Studio Code упрощает чтение файла, предоставляя синтаксис выделения. Файл JSON также можно открыть с помощью браузеров в нередактируемом формате, таком как Microsoft Edge.

Улучшите формат JSON файла

Файл JSON загружается в сокращенном формате, чтобы уменьшить размер загружаемого файла. Этот формат может усложнить чтение полезных данных. Ознакомьтесь с двумя вариантами переработки файла:

  • Для форматирования JSON используйте Visual Studio Code.

  • Используйте PowerShell для форматирования JSON. Этот скрипт выводит JSON в формате, содержащем символы табуляции и пробелы:

    $JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

    $JSONContent | ConvertTo-Json > <PATH TO OUTPUT THE JSON FILE>

Проанализируйте файл JSON

Ниже приведены примеры команд для работы с JSON с файлом с помощью PowerShell. Вы можете использовать любой язык программирования, с которым вам удобно работать.

Сначала прочтите файл JSON, выполнив следующую команду:

$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

Теперь данные можно проанализировать в соответствии с вашим сценарием. Вот несколько примеров.

  • Выводить все идентификаторы заданий в файл JSON:

    foreach ($provitem in $JSONContent) { $provitem.jobId }

  • Вывод всех идентификаторов изменений для событий, для которых было создано действие "создать":

    foreach ($provitem in $JSONContent) { if ($provItem.action -eq 'Create') { $provitem.changeId } }

Необходимая информация

Ниже приведены некоторые советы и рекомендации по подготовке отчетов:

  • Портал Azure сохраняет данные о подготовке в течение 30 дней, если у вас выпуск Premium, и 7 дней, если у вас есть бесплатный выпуск. Журналы подготовки можно опубликовать в Log Analytics для хранения дольше 30 дней.

  • Атрибут идентификатора изменения можно использовать в качестве уникального идентификатора. Это полезно, например, при взаимодействии с поддержкой продукта.

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

  • Журналы подготовки не отображают импорты ролей (применяется к AWS, Salesforce и Zendesk). Журналы для импорта ролей можно найти в журналах аудита.

Коды ошибок

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

Код ошибки Описание
Conflict, EntryConflict Исправьте конфликтующие значения атрибутов в Azure AD или в приложении. Или проверьте соответствующую конфигурацию атрибута, если конфликтующая учетная запись пользователя должна быть сопоставлена и передаваться. Дополнительные сведения о настройке соответствующих атрибутов см. в документации.
TooManyRequests Целевое приложение отклонило попытку обновления пользователя из-за перегрузки и получения слишком большого количества запросов. Сделать ничего нельзя. Попытка будет автоматически отклонена. Корпорация Майкрософт также уведомила об этой ошибке.
InternalServerError Целевое приложение вернуло непредвиденную ошибку. Проблема службы с целевым приложением может препятствовать работе. Эта попытка будет автоматически завершена через 40 минут.
InsufficientRights, MethodNotAllowed, NotPermitted, Unauthorized Azure AD аутентифицировано в целевом приложении, но не авторизовано для выполнения обновления. Ознакомьтесь со всеми инструкциями, предоставленными целевым приложением, а также с руководствомпо соответствующему приложению.
UnprocessableEntity Целевое приложение вернуло непредвиденный ответ. Конфигурация целевого приложения может быть неправильной, или проблема службы в целевом приложении может препятствовать работе.
WebExceptionProtocolError Произошла ошибка протокола HTTP при подключении к целевому приложению. Нет действий для выполнения. Эта попытка будет автоматически завершена через 40 минут.
InvalidAnchor Пользователь, который ранее был создан или сопоставлен с помощью службы подготовки, больше не существует. Убедитесь, что пользователь существует. Чтобы принудительно выполнить новое сопоставление всех пользователей, используйте API Microsoft Graph, чтобы перезапустить задание.

Перезапуск подготовки приведет к запуску начального цикла, выполнение которого может занять некоторое время. При перезапуске подготовки также удаляется кэш, используемый службой подготовки. Это означает, что все пользователи и группы в клиенте должны повторно оцениваться, а некоторые события подготовки могут быть удалены.
NotImplemented Целевое приложение вернуло непредвиденный ответ. Конфигурация приложения может быть неправильной, или проблема службы с целевым приложением может препятствовать работе. Ознакомьтесь со всеми инструкциями, предоставленными целевым приложением, а также с руководствомпо соответствующему приложению.
MandatoryFieldsMissing, MissingValues Не удалось создать пользователя, так как отсутствуют необходимые значения. Исправьте отсутствующие значения атрибутов в исходной записи или проверьте конфигурацию соответствующего атрибута, чтобы убедиться, что требуемые поля не пропущены. Дополнительные сведения о настройке соответствующих атрибутов.
SchemaAttributeNotFound Не удалось выполнить операцию, так как был указан атрибут, не существующий в целевом приложении. Ознакомьтесь с документацией по настройке атрибутов и убедитесь, что конфигурация правильная.
InternalError Произошла внутренняя ошибка службы в службе подготовки Azure AD. Нет действий для выполнения. Эта попытка будет автоматически повторена через 40 минут.
InvalidDomain Не удалось выполнить операцию, так как значение атрибута содержит недопустимое имя домена. Обновите доменное имя пользователя или добавьте его в список разрешенных в целевом приложении.
Время ожидания Не удалось выполнить операцию, так как целевое приложение заняло слишком много времени для ответа. Нет действий для выполнения. Эта попытка будет автоматически повторена через 40 минут.
LicenseLimitExceeded Не удалось создать пользователя в целевом приложении из-за отсутствия доступных лицензий для этого пользователя. Приобретение дополнительных лицензий для целевого приложения. Или проверьте назначения пользователей и конфигурацию сопоставления атрибутов, чтобы убедиться, что им назначены правильные атрибуты.
DuplicateTargetEntries Не удалось выполнить операцию, так как найдено более одного пользователя в целевом приложении с настроенными атрибутами сопоставления. Удалите дублирующего пользователя из целевого приложения или перенастройте сопоставления атрибутов.
DuplicateSourceEntries Не удалось выполнить операцию, так как обнаружено несколько пользователей с настроенными соответствующими атрибутами. Удалите повторяющегося пользователя или перенастройте сопоставления атрибутов.
ImportSkipped При оценке каждого пользователя система пытается импортировать пользователя из исходной системы. Эта ошибка обычно возникает, когда у импортируемого пользователя отсутствует совпадающее свойство, определенное в сопоставлении атрибутов. Если в объекте пользователя отсутствует значение для атрибута сопоставления, система не может оценить изменения области, сопоставления или экспорта. Обратите внимание, что эта ошибка не указывает на то, что пользователь находится в области, так как вы еще не оценили области для пользователя.
EntrySynchronizationSkipped Служба подготовки успешно запросила исходную систему и определила пользователя. Никаких дополнительных действий пользователя не было выполнено, и они были пропущены. Возможно, пользователь был вне области действия или пользователь уже существовал в целевой системе, но дальнейшие изменения не требуются.
SystemForCrossDomainIdentityManagementMultipleEntriesInResponse Запрос GET для получения пользователя или группы получил нескольких пользователей или группы в ответе. Система должна получить в ответе только одного пользователя или группу. Например, если вы выполняете запрос GET для получения группы и предоставляете фильтр для исключения членов, а система для конечных точек с междоменным управлением удостоверениями (scim) возвращает элементы, вы получаете эту ошибку.
SystemForCrossDomainIdentityManagementServiceIncompatible Службе подготовки Azure AD не удалось проанализировать ответ от стороннего приложения. Обратитесь к разработчику приложения и убедитесь, что сервер SCIM совместим с клиентом Azure AD SCIM.
SchemaPropertyCanOnlyAcceptValue Свойство в целевой системе может принимать только одно значение, но свойство в исходной системе имеет несколько значений. Вы можете изменить сопоставление для проблемного свойства, чтобы ему соответствовал атрибут с одним значением; или заменить все исходные значения в источнике одним значением; или удалить этот атрибут из списка сопоставлений.

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