Enumerar signIns
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Obtenga una lista de objetos signIn . La lista contiene los inicios de sesión de usuario para el inquilino de Microsoft Entra. Los inicios de sesión donde se pasan un nombre de usuario y una contraseña como parte del token de autorización, y los inicios de sesión federados correctos se incluyen actualmente en los registros de inicio de sesión.
El tamaño de página máximo y predeterminado es de 1000 objetos y, de forma predeterminada, primero se devuelven los inicios de sesión más recientes. Solo están disponibles los eventos de inicio de sesión que se produjeron dentro del Microsoft Entra ID período de retención predeterminado.
Nota:
En este artículo se describe cómo exportar datos personales desde un dispositivo o servicio. Estos pasos se pueden usar para respaldar sus obligaciones en virtud del Reglamento general de protección de datos (RGPD). Los administradores de inquilinos autorizados pueden usar Microsoft Graph para corregir, actualizar o eliminar información de identificación sobre los usuarios finales, incluidos los perfiles de usuario de clientes y empleados o los datos personales, como el nombre de un usuario, el título del trabajo, la dirección o el número de teléfono, en su entorno de Microsoft Entra ID.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
Servicio global | Gobierno de EE. UU. L4 | Us Government L5 (DOD) | China operada por 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | AuditLog.Read.All y Directory.Read.All | No disponible. |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | AuditLog.Read.All y Directory.Read.All | No disponible. |
Importante
En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación:
- Lector global
- Lector de informes
- Administrador de seguridad
- Operador de seguridad
- Lector de seguridad
Las directivas de acceso condicional (CA) aplicadas enumeradas en la propiedad appliedConditionalAccessPolicies solo están disponibles para los usuarios y las aplicaciones con roles que les permiten leer datos de acceso condicional. Si un usuario o aplicación tiene permisos para leer registros de inicio de sesión, pero no permiso para leer datos de acceso condicional, se omitirá la propiedad appliedConditionalAccessPolicies de la respuesta. Al usuario que ha iniciado sesión se le deben asignar roles de Microsoft Entra compatibles y a la aplicación se le conceden permisos de Microsoft Graph admitidos.
- Los siguientes roles con privilegios mínimos conceden a los usuarios permisos para ver los datos de acceso condicional:
- Lector global
- Administrador de seguridad
- Lector de seguridad
- Administrador de acceso condicional
- Las aplicaciones deben tener al menos uno de los siguientes permisos para ver objetos appliedConditionalAccessPolicy en los registros de inicio de sesión:
- Policy.Read.All
- Policy.Read.ConditionalAccess
- Policy.ReadWrite.ConditionalAccess
Los usuarios que han iniciado sesión con cualquier permiso pueden leer sus propios registros de inicio de sesión. Esta característica ayuda a los usuarios a detectar actividad inesperada en sus cuentas. Sin embargo, los usuarios no pueden leer los datos de ca de sus propios registros a menos que tengan uno de los permisos auxiliares identificados anteriormente.
Solicitud HTTP
GET /auditLogs/signIns
Parámetros de consulta opcionales
Este método admite los $top
parámetros de consulta , $skiptoken
y $filter
OData para ayudar a personalizar la respuesta. Para obtener información general, vea Parámetros de consulta OData.
Para evitar que se agote el tiempo de espera de la solicitud, aplique el $filter
parámetro con un intervalo de tiempo para obtener todos los inicios de sesión, como se muestra en el ejemplo 1.
Encabezados de solicitud
Nombre | Descripción |
---|---|
Authorization | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Cuerpo de la solicitud
No proporcione un cuerpo de solicitud para este método.
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK
y la colección de objetos signIn en el cuerpo de la respuesta. La colección de objetos se muestra en orden descendente en función de createdDateTime.
Ejemplos
Ejemplo 1: Enumerar todos los inicios de sesión durante un período de tiempo específico
En este ejemplo, el objeto de respuesta muestra el usuario que inició sesión con MFA desencadenado por una directiva de acceso condicional y el método de autenticación principal es a través de FIDO.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/beta/auditLogs/signIns?$filter=createdDateTime ge 2024-07-01T00:00:00Z and createdDateTime le 2024-07-14T23:59:59Z
Respuesta
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#auditLogs/signIns",
"value": [
{
"id":"1691d37b-8579-43a7-966a-0f35583c1300",
"createdDateTime":"2021-06-30T16:34:32Z",
"userDisplayName":"Test contoso",
"userPrincipalName":"testaccount1@contoso.com",
"userId":"26be570a-1111-5555-b4e2-a37c6808512d",
"appId":"c44b4083-3bb0-49c1-b47d-974e53cbdf3c",
"appDisplayName":"Azure Portal",
"authenticationContextClassReferences": [
{
"id":"C1",
"details":"required"
}
],
"ipAddress":"131.107.159.37",
"clientAppUsed":"Browser",
"clientCredentialType": "certificate",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 Edg/91.0.864.54",
"correlationId":"5d295068-919b-4017-85d8-44be2f5f5483",
"conditionalAccessStatus":"notApplied",
"originalRequestId":"7dccb0d7-1041-4d82-b785-d865272e1400",
"authenticationProtocol": "oAuth2",
"incomingTokenType": "Primary Refresh Token",
"isInteractive":true,
"homeTenantId": "4f7a7bc2-28e2-46a3-b90e-5ade5bc90138",
"homeTenantName": "",
"isTenantRestricted": false,
"tokenIssuerName":"",
"tokenIssuerType":"AzureAD",
"processingTimeInMilliseconds":761,
"riskDetail":"none",
"riskLevelAggregated":"none",
"riskLevelDuringSignIn":"none",
"riskState":"none",
"riskEventTypes_v2":[],
"resourceDisplayName":"Windows Azure Service Management API",
"resourceId":"797f4846-ba00-4fd7-ba43-dac1f8f63013",
"resourceServicePrincipalId": "a6033f22-27f9-45cb-8f63-7dd8a0590e4e",
"resourceTenantId":"99081087-73c4-48d1-a112-f60ff75114f7",
"homeTenantId":"99081087-73c4-48d1-a112-f60ff75114f7",
"authenticationAppDeviceDetails": [],
"authenticationAppPolicyDetails": [],
"authenticationMethodsUsed":[],
"authenticationRequirement":"singleFactorAuthentication",
"azureResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
"federatedCredentialId": "729ab02a-edd5-4ef5-a285-2d91a3c772ab",
"uniqueTokenIdentifier": "ZTE0OTk3YTQtZjg5Mi00YjBiLWIwNTEtZmViZTA1YzJhNDli",
"signInIdentifier":"testaccount1@contoso.com",
"signInEventTypes":["interactiveUser"],
"servicePrincipalId":"",
"sessionLifetimePolicies": [
{
"expirationRequirement": "tenantTokenLifetimePolicy",
"detail": "The user was required to sign in again according to the tenant session lifetime policy"
}
],
"uniqueTokenIdentifier": "ZTE0OTk3YTQtZjg5Mi00YjBiLWIwNTEtZmViZTA1YzJhNDli",
"userType":"member",
"flaggedForReview":false,
"isTenantRestricted":false,
"autonomousSystemNumber":3598,
"crossTenantAccessType":"none",
"status":{
"errorCode":50126,
"failureReason":"Error validating credentials due to invalid username or password.",
"additionalDetails":"The user didn't enter the right credentials. \u00a0It's expected to see some number of these errors in your logs due to users making mistakes."
},
"deviceDetail":{
"deviceId":"",
"displayName":"",
"operatingSystem":"Windows 10",
"browser":"Edge 91.0.864",
"isCompliant":false,
"isManaged":false,
"trustType":""
},
"location":{
"city":"Redmond",
"state":"Washington",
"countryOrRegion":"US",
"geoCoordinates":{
}
},
"appliedConditionalAccessPolicies":[],
"authenticationProcessingDetails":[
{
"key":"Login Hint Present",
"value":"True"
}
],
"managedServiceIdentity":{
"msiType":"systemAssigned",
"associatedResourceId":"/subscriptions/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/resourcegroups/Scenario-TestRPToKeyVaultSAJob_USCentral/providers/Providers.Test/msiStateful/testrp30964",
"federatedTokenId" : "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"federatedTokenIssuer" : "https://aks_test.prod-aks.azure.com/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb/"
},
"networkLocationDetails":[
{
"networkType":"namedNetwork",
"networkNames":["North America"]
}
],
"authenticationDetails":[
{
"authenticationStepDateTime":"2021-06-30T16:34:32Z",
"authenticationMethod":"Password",
"authenticationMethodDetail":"Password in the cloud",
"succeeded":false,
"authenticationStepResultDetail":"Invalid username or password or Invalid on-premise username or password.",
"authenticationStepRequirement":"Primary authentication"
}
],
"authenticationRequirementPolicies":[],
"sessionLifetimePolicies":[]
}
]
}
Ejemplo 2: Recuperación de los primeros 10 inicios de sesión en aplicaciones con appDisplayName que comienza por "Azure"
En este ejemplo, el objeto de respuesta muestra al usuario que ha iniciado sesión con solo su método de autenticación principal: una contraseña en la nube. La respuesta incluye una @odata.nextLink
propiedad que contiene una dirección URL que se puede usar para recuperar los 10 resultados siguientes.
Solicitud
GET https://graph.microsoft.com/beta/auditLogs/signins?&$filter=startsWith(appDisplayName,'Azure')&$top=10
Respuesta
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#auditLogs/signIns",
"@odata.nextLink": "https://graph.microsoft.com/beta/auditLogs/signins?$filter=startsWith(appDisplayName%2c%27Azure%27)&$top=10&$skiptoken=3cff228c89605cc89b0dc753668deef4153e8644caa6d83ed1bb5f711b21cba4",
"value": [
{
"id":"1691d37b-8579-43a7-966a-0f35583c1300",
"createdDateTime":"2021-06-30T16:34:32Z",
"userDisplayName":"Test contoso",
"userPrincipalName":"testaccount1@contoso.com",
"userId":"26be570a-1111-5555-b4e2-a37c6808512d",
"appId":"c44b4083-3bb0-49c1-b47d-974e53cbdf3c",
"appDisplayName":"Azure Portal",
"ipAddress":"131.107.159.37",
"clientAppUsed":"Browser",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 Edg/91.0.864.54",
"correlationId":"5d295068-919b-4017-85d8-44be2f5f5483",
"conditionalAccessStatus":"notApplied",
"homeTenantId": "4f7a7bc2-28e2-46a3-b90e-5ade5bc90138",
"homeTenantName": "",
"isTenantRestricted": false,
"originalRequestId":"7dccb0d7-1041-4d82-b785-d865272e1400",
"isInteractive":true,
"tokenIssuerName":"",
"tokenIssuerType":"AzureAD",
"processingTimeInMilliseconds":761,
"riskDetail":"none",
"riskLevelAggregated":"none",
"riskLevelDuringSignIn":"none",
"riskState":"none",
"riskEventTypes_v2":[],
"resourceDisplayName":"Windows Azure Service Management API",
"resourceId":"797f4846-ba00-4fd7-ba43-dac1f8f63013",
"resourceTenantId":"99081087-73c4-48d1-a112-f60ff75114f7",
"homeTenantId":"99081087-73c4-48d1-a112-f60ff75114f7",
"authenticationAppDeviceDetails": [],
"authenticationAppPolicyDetails": [],
"authenticationMethodsUsed":[],
"authenticationRequirement":"singleFactorAuthentication",
"authenticationProtocol": "oAuth2",
"incomingTokenType": "Primary Refresh Token",
"signInIdentifier":"testaccount1@contoso.com",
"signInEventTypes":["interactiveUser"],
"servicePrincipalId":"",
"userType":"member",
"flaggedForReview":false,
"isTenantRestricted":false,
"autonomousSystemNumber":3598,
"crossTenantAccessType":"none",
"status":{
"errorCode":50126,
"failureReason":"Error validating credentials due to invalid username or password.",
"additionalDetails":"The user didn't enter the right credentials. \u00a0It's expected to see some number of these errors in your logs due to users making mistakes."
},
"uniqueTokenIdentifier": "ZTE0OTk3YTQtZjg5Mi00YjBiLWIwNTEtZmViZTA1YzJhNDli",
"deviceDetail":{
"deviceId":"",
"displayName":"",
"operatingSystem":"Windows 10",
"browser":"Edge 91.0.864",
"isCompliant":false,
"isManaged":false,
"trustType":""
},
"location":{
"city":"Redmond",
"state":"Washington",
"countryOrRegion":"US",
"geoCoordinates":{
}
},
"appliedConditionalAccessPolicies":[],
"authenticationProcessingDetails":[
{
"key":"Login Hint Present",
"value":"True"
}
],
"networkLocationDetails":[
{
"networkType":"namedNetwork",
"networkNames":["North America"]
}
],
"authenticationDetails":[
{
"authenticationStepDateTime":"2021-06-30T16:34:32Z",
"authenticationMethod":"Password",
"authenticationMethodDetail":"Password in the cloud",
"succeeded":false,
"authenticationStepResultDetail":"Invalid username or password or Invalid on-premise username or password.",
"authenticationStepRequirement":"Primary authentication"
}
],
"authenticationRequirementPolicies":[],
"sessionLifetimePolicies":[]
}
]
}
Ejemplo 3: Recuperar los primeros 10 inicios de sesión en los que signInEventType no es interactivoUsuario a partir del inicio de sesión más reciente
En este ejemplo, la respuesta incluye una @odata.nextLink
propiedad que contiene una dirección URL que se puede usar para recuperar los 10 resultados siguientes.
Solicitud
GET https://graph.microsoft.com/beta/auditLogs/signins?&$filter=(signInEventTypes/any(t: t ne 'interactiveUser'))&$orderby=createdDateTime DESC&$top=10
Respuesta
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#auditLogs/signIns",
"@odata.nextLink": "https://graph.microsoft.com/beta/auditLogs/signins?$filter=(signInEventTypes%2fany(t%3a+t+ne+%27interactiveUser%27))&$top=10&$orderby=createdDateTime+DESC&$skiptoken=186ac5626b89ae2a991ff26b674ac381be50b941a40542cb66f8136f2887275b",
"value": [
{
"id": "ef1e1fcc-80bd-489b-82c5-16ad80770e00",
"createdDateTime": "2022-03-18T18:13:37Z",
"userDisplayName": "MOD Administrator",
"userPrincipalName": "admin@contoso.com",
"userId": "4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
"appId": "de8bc8b5-d9f9-48b1-a8ad-b748da725064",
"appDisplayName": "Graph Explorer",
"ipAddress": "197.178.9.154",
"ipAddressFromResourceProvider": null,
"clientAppUsed": "Browser",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36",
"correlationId": "17b4f05d-3659-42b8-856d-99322911d398",
"conditionalAccessStatus": "notApplied",
"originalRequestId": "",
"isInteractive": false,
"tokenIssuerName": "",
"tokenIssuerType": "AzureAD",
"processingTimeInMilliseconds": 132,
"riskDetail": "none",
"riskLevelAggregated": "none",
"riskLevelDuringSignIn": "none",
"riskState": "none",
"riskEventTypes_v2": [],
"resourceDisplayName": "Microsoft Graph",
"resourceId": "00000003-0000-0000-c000-000000000000",
"resourceTenantId": "84841066-274d-4ec0-a5c1-276be684bdd3",
"homeTenantId": "84841066-274d-4ec0-a5c1-276be684bdd3",
"homeTenantName": "",
"authenticationAppDeviceDetails": [],
"authenticationAppPolicyDetails": [],
"authenticationMethodsUsed": [],
"authenticationRequirement": "singleFactorAuthentication",
"signInIdentifier": "",
"signInIdentifierType": null,
"servicePrincipalName": "",
"signInEventTypes": [
"nonInteractiveUser"
],
"servicePrincipalId": "",
"federatedCredentialId": "",
"userType": "member",
"flaggedForReview": false,
"isTenantRestricted": false,
"autonomousSystemNumber": 33771,
"crossTenantAccessType": "none",
"servicePrincipalCredentialKeyId": "",
"servicePrincipalCredentialThumbprint": "",
"uniqueTokenIdentifier": "ZWYxZTFmY2MtODBiZC00ODliLTgyYzUtMTZhZDgwNzcwZTAw",
"incomingTokenType": "none",
"authenticationProtocol": "none",
"resourceServicePrincipalId": "943603e4-e787-4fe9-93d1-e30f749aae39",
"mfaDetail": null,
"status": {
"errorCode": 0,
"failureReason": "Other.",
"additionalDetails": null
},
"deviceDetail": {
"deviceId": "eab73519-780d-4d43-be6d-a4a89af2a348",
"displayName": "DESKTOP-LK3PESR",
"operatingSystem": "Windows 10",
"browser": "Chrome 99.0.4844",
"isCompliant": false,
"isManaged": false,
"trustType": "Azure AD registered"
},
"location": {
"city": "Mombasa",
"state": "Coast",
"countryOrRegion": "KE",
"geoCoordinates": {}
},
"appliedConditionalAccessPolicies": [
{
"id": "80290cf6-04c8-4a25-8252-2b4d7d88228a",
"displayName": "Exchange Online Requires Compliant Device",
"enforcedGrantControls": [],
"enforcedSessionControls": [],
"result": "notEnabled",
"conditionsSatisfied": "none",
"conditionsNotSatisfied": "none",
"includeRulesSatisfied": [],
"excludeRulesSatisfied": []
},
{
"id": "a00746d4-8c33-47f7-b120-91936b367a54",
"displayName": "Office 365 App Control",
"enforcedGrantControls": [],
"enforcedSessionControls": [],
"result": "notEnabled",
"conditionsSatisfied": "none",
"conditionsNotSatisfied": "none",
"includeRulesSatisfied": [],
"excludeRulesSatisfied": []
}
],
"authenticationProcessingDetails": [
{
"key": "Root Key Type",
"value": "Unknown"
},
{
"key": "Oauth Scope Info",
"value": "[\"Application.ReadWrite.All\",\"AppRoleAssignment.ReadWrite.All\",\"DelegatedPermissionGrant.ReadWrite.All\",\"Directory.ReadWrite.All\",\"openid\",\"profile\",\"RoleManagement.Read.Directory\",\"User.Read\",\"email\",\"AuditLog.Read.All\"]"
}
],
"networkLocationDetails": [
{
"networkType": "namedNetwork",
"networkNames": [
"Suspicious countries"
]
}
],
"authenticationDetails": [],
"authenticationRequirementPolicies": [],
"sessionLifetimePolicies": [],
"privateLinkDetails": {
"policyId": "",
"policyName": "",
"resourceId": "",
"policyTenantId": ""
}
}
]
}