Перечисление входов
Пространство имен: microsoft.graph
Получите Microsoft Entra входов пользователей для клиента. В настоящее время в журналы входа включаются интерактивные входы (когда имя пользователя или пароль передаются в рамках маркера проверки подлинности) и успешные федеративные входы.
Максимальный и стандартный размер страницы — 1000 объектов, и по умолчанию возвращаются последние входы. Доступны только события входа, произошедшие в течение Microsoft Entra ID периода хранения по умолчанию.
Примечание.
В этой статье описывается экспорт персональных данных с устройства или службы. Эти действия можно использовать для поддержки ваших обязательств в соответствии с Общим регламентом по защите данных (GDPR). Авторизованные администраторы клиентов могут использовать Microsoft Graph для исправления, обновления или удаления идентифицируемой информации о конечных пользователях, включая профили пользователей и сотрудников или персональные данные, такие как имя пользователя, должность, адрес или номер телефона, в вашей среде Microsoft Entra ID.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | AuditLog.Read.All и Directory.Read.All | Недоступно. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | AuditLog.Read.All и Directory.Read.All | Недоступно. |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие наименее привилегированные роли:
- Глобальный читатель
- Читатель отчетов
- Администратор безопасности
- Оператор безопасности
- Читатель сведений о безопасности
Примененные политики условного доступа (ЦС), перечисленные в свойстве appliedConditionalAccessPolicies , доступны только пользователям и приложениям с ролями, которые позволяют им читать данные условного доступа. Если у пользователя или приложения есть разрешения на чтение журналов входа, но не разрешение на чтение данных условного доступа, свойство appliedConditionalAccessPolicies в ответе будет опущено. Вошедшего пользователя должны быть назначены поддерживаемые роли Microsoft Entra, а приложению предоставлены поддерживаемые разрешения Microsoft Graph.
- Следующие роли с наименьшими привилегиями предоставляют пользователям разрешения на просмотр данных условного доступа:
- Глобальный читатель
- Администратор безопасности
- Читатель сведений о безопасности
- Администратор условного доступа
- Для просмотра объектов appliedConditionalAccessPolicy в журналах входа приложения должны иметь по крайней мере одно из следующих разрешений:
- Policy.Read.All
- Policy.Read.ConditionalAccess
- Policy.ReadWrite.ConditionalAccess
Пользователи, вошедшего в систему с любыми разрешениями, могут считывать собственные журналы входа. Эта функция помогает пользователям обнаружить непредвиденные действия в своих учетных записях. Однако пользователи не могут считывать данные ЦС из собственных журналов, если у них нет одного из вспомогательных разрешений, указанных выше.
HTTP-запрос
GET /auditLogs/signIns
Необязательные параметры запросов
Этот метод поддерживает $top
параметры запроса , $skiptoken
и $filter
OData для настройки ответа. Общие сведения см. в статье Параметры запроса OData.
Чтобы избежать истечения времени ожидания запроса, примените $filter
параметр с диапазоном времени для получения всех входов, как показано в примере 1.
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Отклик
В случае успеха этот метод возвращает код отклика 200 OK
и коллекцию объектов signIn в тексте отклика. Коллекция объектов перечисляется в порядке убывания на основе createdDateTime.
Примеры
Пример 1. Вывод списка всех входов за определенный период времени
Запрос
В следующем примере показан запрос на получение списка всех входов за определенный период времени.
GET https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=createdDateTime ge 2024-07-01T00:00:00Z and createdDateTime le 2024-07-14T23:59:59Z
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#auditLogs/signIns",
"@odata.nextLink": "https://graph.microsoft.com/v1.0/auditLogs/signIns?$top=1&$skiptoken=9177f2e3532fcd4c4d225f68f7b9bdf7_1",
"value": [
{
"id": "66ea54eb-6301-4ee5-be62-ff5a759b0100",
"createdDateTime": "2023-12-01T16:03:35Z",
"userDisplayName": "Test Contoso",
"userPrincipalName": "testaccount1@contoso.com",
"userId": "26be570a-ae82-4189-b4e2-a37c6808512d",
"appId": "de8bc8b5-d9f9-48b1-a8ad-b748da725064",
"appDisplayName": "Graph explorer",
"ipAddress": "131.107.159.37",
"clientAppUsed": "Browser",
"correlationId": "d79f5bee-5860-4832-928f-3133e22ae912",
"conditionalAccessStatus": "notApplied",
"isInteractive": true,
"riskDetail": "none",
"riskLevelAggregated": "none",
"riskLevelDuringSignIn": "none",
"riskState": "none",
"riskEventTypes": [],
"resourceDisplayName": "Microsoft Graph",
"resourceId": "00000003-0000-0000-c000-000000000000",
"status": {
"errorCode": 0,
"failureReason": null,
"additionalDetails": null
},
"deviceDetail": {
"deviceId": "",
"displayName": null,
"operatingSystem": "Windows 10",
"browser": "Edge 80.0.361",
"isCompliant": null,
"isManaged": null,
"trustType": null
},
"location": {
"city": "Redmond",
"state": "Washington",
"countryOrRegion": "US",
"geoCoordinates": {
"altitude": null,
"latitude": 47.68050003051758,
"longitude": -122.12094116210938
}
},
"appliedConditionalAccessPolicies": [
{
"id": "de7e60eb-ed89-4d73-8205-2227def6b7c9",
"displayName": "SharePoint limited access for guest workers",
"enforcedGrantControls": [],
"enforcedSessionControls": [],
"result": "notEnabled"
},
{
"id": "6701123a-b4c6-48af-8565-565c8bf7cabc",
"displayName": "Medium signin risk block",
"enforcedGrantControls": [],
"enforcedSessionControls": [],
"result": "notEnabled"
},
]
}
]
}
Пример 2. Получение первых 10 входов в приложения с appDisplayName, начинающимся с "Graph"
Запрос
Ниже показан пример запроса.
GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=startsWith(appDisplayName,'Graph')&$top=10
Отклик
Ниже показан пример отклика. Ответ содержит @odata.nextLink
свойство, содержащее URL-адрес, который можно использовать для получения следующих 10 результатов.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#auditLogs/signIns",
"@odata.nextLink": "https://graph.microsoft.com/v1.0/auditLogs/signins?$filter=startsWith(appDisplayName%2c%27Graph%27)&$top=10&$skiptoken=70f66c0893886b49370ffdb44cd8d137b1a12b9ba02f34a16f33c5e0f7c42fc7",
"value": [
{
"id": "66ea54eb-6301-4ee5-be62-ff5a759b0100",
"createdDateTime": "2023-12-01T16:03:32Z",
"userDisplayName": "Test Contoso",
"userPrincipalName": "testaccount1@contoso.com",
"userId": "26be570a-ae82-4189-b4e2-a37c6808512d",
"appId": "de8bc8b5-d9f9-48b1-a8ad-b748da725064",
"appDisplayName": "Graph explorer",
"ipAddress": "131.107.159.37",
"clientAppUsed": "Browser",
"correlationId": "d79f5bee-5860-4832-928f-3133e22ae912",
"conditionalAccessStatus": "notApplied",
"isInteractive": true,
"riskDetail": "none",
"riskLevelAggregated": "none",
"riskLevelDuringSignIn": "none",
"riskState": "none",
"riskEventTypes": [],
"resourceDisplayName": "Microsoft Graph",
"resourceId": "00000003-0000-0000-c000-000000000000",
"status": {
"errorCode": 0,
"failureReason": null,
"additionalDetails": null
},
"deviceDetail": {
"deviceId": "",
"displayName": null,
"operatingSystem": "Windows 10",
"browser": "Edge 80.0.361",
"isCompliant": null,
"isManaged": null,
"trustType": null
},
"location": {
"city": "Redmond",
"state": "Washington",
"countryOrRegion": "US",
"geoCoordinates": {
"altitude": null,
"latitude": 47.68050003051758,
"longitude": -122.12094116210938
}
},
"appliedConditionalAccessPolicies": [
{
"id": "de7e60eb-ed89-4d73-8205-2227def6b7c9",
"displayName": "SharePoint limited access for guest workers",
"enforcedGrantControls": [],
"enforcedSessionControls": [],
"result": "notEnabled"
},
{
"id": "6701123a-b4c6-48af-8565-565c8bf7cabc",
"displayName": "Medium signin risk block",
"enforcedGrantControls": [],
"enforcedSessionControls": [],
"result": "notEnabled"
},
]
}
]
}