Анализ журналов действий с помощью Microsoft Graph
API отчетов Microsoft Entra предоставляют программный доступ к данным с помощью набора REST API. Эти API можно вызывать на многих языках программирования и средствах. API Microsoft Graph не предназначен для извлечения больших объемов данных действий. Извлечение больших объемов данных действий с помощью API может привести к проблемам с разбивкой на страницы и производительностью.
В этой статье описывается, как анализировать журналы действий Microsoft Entra с помощью Microsoft Graph Explorer и Microsoft Graph PowerShell.
Необходимые компоненты
- Требования к лицензированию и роли см. в разделе "Мониторинг и лицензирование работоспособности Microsoft Entra".
- Чтобы предоставить необходимые разрешения, вам потребуется глобальный администратор.
Чтобы выполнить запросы к API Microsoft Graph, сначала необходимо:
Доступ к отчетам с помощью Обозревателя Microsoft Graph
При настройке всех необходимых компонентов можно выполнять запросы журнала действий в Microsoft Graph. Дополнительные сведения о запросах Microsoft Graph для журналов действий см. в обзоре API отчетов о действиях.
Запустите средство Microsoft Graph Explorer.
Выберите профиль и выберите пункт "Изменить разрешения".
Согласие на следующие необходимые разрешения:
AuditLog.Read.All
Directory.Read.All
Используйте один из следующих запросов, чтобы начать использовать Microsoft Graph для доступа к журналам действий:
- GET
https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
- GET
https://graph.microsoft.com/v1.0/auditLogs/signIns
- GET
https://graph.microsoft.com/v1.0/auditLogs/provisioning
- GET
Настройка запросов
Чтобы найти определенные записи журнала действий, используйте параметры запроса $filter и createdDateTime с одним из доступных свойств. Некоторые из следующих запросов используют конечную точку beta
. Бета-конечная точка подвержена изменению и не рекомендуется для использования в рабочей среде.
Попробуйте использовать следующие запросы:
Для попыток входа, в которых произошел сбой условного доступа:
- GET
https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=conditionalAccessStatus eq 'failure'
- GET
Чтобы найти входы в определенное приложение, выполните указанные действия.
- GET
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'
- GET
Для неинтерактивных входов:
- GET
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')
- GET
Для входа субъекта-службы:
- GET
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')
- GET
Для входа с управляемым удостоверением:
- GET
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')
- GET
Чтобы получить метод проверки подлинности пользователя, выполните следующие действия.
- GET
https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
- Требуется разрешение
UserAuthenticationMethod.Read.All
- GET
Чтобы просмотреть отчет о регистрации пользователя:
- GET
https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
- Требуется разрешение
UserAuthenticationMethod.Read.All
- GET
Сведения о регистрации конкретного пользователя:
- GET
https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
- Требуется разрешение
UserAuthenticationMethod.Read.All
- GET
Связанные API-интерфейсы
Когда вы знакомы со стандартными журналами входа и аудита, попробуйте ознакомиться с этими другими API:
Доступ к отчетам с помощью Microsoft Graph PowerShell
С помощью PowerShell можно получить доступ к API отчетов Microsoft Entra. Дополнительные сведения см. в обзоре Microsoft Graph PowerShell.
Командлеты Microsoft Graph PowerShell:
- Журналы аудита:
Get-MgAuditLogDirectoryAudit
- Журналы входа:
Get-MgAuditLogSignIn
- Журналы подготовки:
Get-MgAuditLogProvisioning
- Полный список командлетов Microsoft Graph PowerShell, связанных с отчетами.
Распространенные ошибки
Ошибка. Ни клиент B2C, ни клиент не имеет лицензии premium: для доступа к отчетам о входе требуется лицензия Microsoft Entra ID P1 или P2. Если вы видите это сообщение об ошибке при доступе к входам, убедитесь, что клиент лицензирован лицензирован лицензией Microsoft Entra ID P1.
Ошибка. Пользователь не входит в разрешенные роли: если при попытке получить доступ к журналам аудита или входу с помощью API, убедитесь, что ваша учетная запись входит в роль читателя безопасности или читателя отчетов в клиенте Microsoft Entra.
Ошибка: приложение с отсутствующим идентификатором Microsoft Entra ID "Чтение данных каталога" или разрешением "Чтение всех данных журнала аудита": приложение должно иметь Directory.Read.All
AuditLog.Read.All
либо разрешение на доступ к журналам действий с помощью Microsoft Graph.