Поделиться через


Анализ журналов действий с помощью Microsoft Graph

API отчетов Microsoft Entra предоставляют программный доступ к данным с помощью набора REST API. Эти API можно вызывать на многих языках программирования и средствах.

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

Предварительные условия

  • Рабочий клиент Microsoft Entra с лицензией Microsoft Entra ID P1 или P2, связанной с ней.
  • Чтобы предоставить необходимые разрешения, вам потребуется администратор привилегированных ролей.

Доступ к отчетам с помощью Обозревателя Microsoft Graph

При настройке всех необходимых компонентов можно выполнять запросы журнала действий в Microsoft Graph. API Microsoft Graph не предназначен для извлечения больших объемов данных действий. Извлечение больших объемов данных действий с помощью API может привести к проблемам с разбивкой на страницы и производительностью. Дополнительные сведения о запросах Microsoft Graph для журналов действий см. в обзоре API отчетов о действиях.

  1. Запустите Microsoft Graph Explorer.

  2. Выберите профиль и выберите пункт "Изменить разрешения".

  3. Согласие на следующие необходимые разрешения:

    • AuditLog.Read.All
    • Directory.Read.All
  4. Используйте один из следующих запросов, чтобы начать использовать Microsoft Graph для доступа к журналам действий:

    • ПОЛУЧИТЬ https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
    • ПОЛУЧИТЬ https://graph.microsoft.com/v1.0/auditLogs/signIns
    • ПОЛУЧИТЬ https://graph.microsoft.com/v1.0/auditLogs/provisioning
    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps

    Снимок экрана: GET-запрос журнала активности в Microsoft Graph.

Настройка запросов

Чтобы найти определенные записи журнала действий, используйте параметры запроса $filter и createdDateTime с одним из доступных свойств. Некоторые из следующих запросов используют конечную точку beta . Бета-конечная точка подвержена изменению и не рекомендуется для использования в рабочей среде.

Примеры запросов для входа

Попробуйте использовать следующие запросы для действий входа:

  • Для попыток входа, в которых произошел сбой условного доступа:

    • ПОЛУЧИТЬ https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=conditionalAccessStatus eq 'failure'
    • Рекомендуется использовать фильтр дат, чтобы запрос не истек.
  • Чтобы найти вход в определенное приложение во время определенного интервала времени, выполните указанные действия.

    • ПОЛУЧИТЬ https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and appId eq 'APP ID'
  • Для неинтерактивных входов:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'nonInteractiveUser')
  • Для входа субъекта-службы:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'servicePrincipal')
  • Для входа с помощью управляемой идентификации:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signIns?$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'managedIdentity')
  • Чтобы получить метод проверки подлинности пользователя, выполните следующие действия.

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
    • Требуется разрешение UserAuthenticationMethod.Read.All
  • Чтобы просмотреть отчет о регистрации пользователя:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • Требуется разрешение UserAuthenticationMethod.Read.All
  • Сведения о регистрации конкретного пользователя:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
    • Требуется разрешение UserAuthenticationMethod.Read.All

Примеры запросов регистрации (предварительная версия)

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

  • Чтобы найти попытки регистрации, которые завершились сбоем или были прерваны во время определенного шага, например создание объекта пользователя:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode ne 0 and signUpStage eq 'userCreation'
  • Чтобы найти попытки регистрации, неудачные во время проверки электронной почты:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode eq 1002013 and signUpStage eq 'credentialValidation'

    Замечание

    Код ошибки 1002013 указывает на ожидаемое (и успешное) прерывание потока регистрации. Подробнее

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

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z)
  • Для регистрации для конкретного приложения:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=appId eq 'AppId'
  • Для регистрации локальной учетной записи:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq 'Email OTP' or signUpIdentityProvider eq 'Email Password'
  • Для регистрации социальных учетных записей (Google в этом примере):

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq ‘Google'
  • Чтобы просмотреть записи для конкретного пользователя, например [email protected]:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentity/signUpIdentifier eq '[email protected]'
  • Чтобы найти записи, соответствующие определенному идентификатору корреляции:

    • ПОЛУЧИТЬ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=correlationId eq 'CorrelationId'
  • Чтобы найти записи журнала входа, соответствующие определенной регистрации, с помощью идентификатора корреляции:

    • ПОЛУЧИТЬ https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=correlationId eq 'CorrelationId'

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

Доступ к отчетам с помощью Microsoft Graph PowerShell

С помощью PowerShell можно получить доступ к API отчетов Microsoft Entra. Дополнительные сведения см. в обзоре Microsoft Graph PowerShell.

Командлеты Microsoft Graph PowerShell:

Распространенные ошибки

Ошибка: ни один арендатор не является B2C или арендатор не имеет премиум-лицензии: для доступа к отчетам о входе требуется лицензия Microsoft Entra ID P1 или P2. Если вы видите это сообщение об ошибке при доступе к входам, убедитесь, что ваш арендатор имеет лицензию Microsoft Entra ID P1.

Ошибка: Пользователь не входит в разрешенные роли: Если вы видите это сообщение об ошибке при попытке получить доступ к журналам аудита или к данным входа с помощью API, убедитесь, что ваша учетная запись является частью роли Читатель безопасности или Читатель отчетов в клиенте Microsoft Entra.

Ошибка: приложению не хватает разрешения Microsoft Entra ID на "Чтение данных каталога" или "Чтение всех данных журнала аудита": приложение должно иметь разрешение или AuditLog.Read.All для доступа к журналам действий с помощью Microsoft Graph.