Listar logons
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Obtenha uma lista de objetos signIn . A lista contém os inícios de sessão de utilizador do seu inquilino Microsoft Entra. Os inícios de sessão em que um nome de utilizador e palavra-passe são transmitidos como parte do token de autorização e os inícios de sessão federados com êxito estão atualmente incluídos nos registos de início de sessão.
O tamanho máximo e predefinido da página é de 1000 objetos e, por predefinição, os inícios de sessão mais recentes são devolvidos primeiro. Só estão disponíveis eventos de início de sessão que ocorreram dentro do Microsoft Entra ID período de retenção predefinido.
Observação
Este artigo descreve como exportar dados pessoais de um dispositivo ou serviço. Estes passos podem ser utilizados para apoiar as suas obrigações ao abrigo do Regulamento Geral sobre a Proteção de Dados (RGPD). Os administradores de inquilinos autorizados podem utilizar o Microsoft Graph para corrigir, atualizar ou eliminar informações identificáveis sobre utilizadores finais, incluindo perfis de utilizador de clientes e funcionários ou dados pessoais, como o nome de um utilizador, título do trabalho, endereço ou número de telefone, no seu ambiente de Microsoft Entra ID.
Esta API está disponível nas seguintes implementações de cloud nacionais.
Serviço global | US Government L4 | US Government L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
---|---|---|
Delegado (conta corporativa ou de estudante) | AuditLog.Read.All | Directory.Read.All |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Aplicativo | AuditLog.Read.All | Directory.Read.All |
Importante
Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação:
- Leitor Global
- Leitor de Relatórios
- Administrador de Segurança
- Operador de Segurança
- Leitor de Segurança
As políticas de Acesso Condicional (AC) aplicadas listadas na propriedade appliedConditionalAccessPolicies só estão disponíveis para utilizadores e aplicações com funções que lhes permitam ler dados de acesso condicional. Se um utilizador ou aplicação tiver permissões para ler registos de início de sessão, mas não tiver permissão para ler dados de acesso condicional, a propriedade appliedConditionalAccessPolicies na resposta será omitida. O utilizador com sessão iniciada tem de ter as funções de Microsoft Entra suportadas e a aplicação concedeu permissões suportadas ao Microsoft Graph.
- As seguintes funções com menos privilégios concedem permissões aos utilizadores para ver os dados de acesso condicional:
- Leitor Global
- Administrador de Segurança
- Leitor de Segurança
- Administrador de Acesso Condicional
- As aplicações têm de ter, pelo menos, uma das seguintes permissões para ver objetos appliedConditionalAccessPolicy nos registos de início de sessão:
- Policy.Read.All
- Policy.Read.ConditionalAccess
- Policy.ReadWrite.ConditionalAccess
Os utilizadores com sessão iniciada com permissões podem ler os seus próprios registos de início de sessão. Esta funcionalidade ajuda os utilizadores a detetar atividades inesperadas nas respetivas contas. No entanto, os utilizadores não podem ler os dados da AC a partir dos seus próprios registos, a menos que tenham uma das permissões de suporte identificadas acima.
Solicitação HTTP
GET /auditLogs/signIns
Parâmetros de consulta opcionais
Este método suporta os $top
parâmetros de consulta , $skiptoken
e $filter
OData para ajudar a personalizar a resposta. Para obter informações gerais, acesse Parâmetros de consulta OData.
Para evitar que o pedido exceda o tempo limite, aplique o $filter
parâmetro com um intervalo de tempo para obter todos os inícios de sessão, conforme mostrado no Exemplo 1.
Observação
Esta API devolve apenas inícios de sessão interativos, a menos que defina um filtro explícito. Por exemplo, o filtro para obter inícios de sessão não interativos é https://graph.microsoft.com/beta/auditLogs/signIns?&$filter=signInEventTypes/any(t: t eq 'nonInteractiveUser')
.
Cabeçalhos de solicitação
Nome | Descrição |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Corpo da solicitação
Não forneça um corpo de solicitação para esse método.
Resposta
Se bem-sucedido, esse método retornará um código de resposta 200 OK
e uma coleção de objetos de logon no corpo da resposta. A coleção de objetos é listada por ordem descendente com base em createdDateTime.
Exemplos
Exemplo 1: listar todos os inícios de sessão durante um período de tempo específico
Neste exemplo, o objeto de resposta mostra o utilizador com sessão iniciada com a MFA que foi acionada por uma política de acesso condicional e o método de autenticação principal é através de FIDO.
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/auditLogs/signIns?$filter=createdDateTime ge 2024-07-01T00:00:00Z and createdDateTime le 2024-07-14T23:59:59Z
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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":[]
}
]
}
Exemplo 2: Obter os primeiros 10 inícios de sessão em aplicações com appDisplayName que começa com "Azure"
Neste exemplo, o objeto de resposta mostra que o utilizador iniciou sessão apenas com o método de autenticação principal, uma palavra-passe na cloud. A resposta inclui uma @odata.nextLink
propriedade que contém um URL que pode ser utilizado para obter os próximos 10 resultados.
Solicitação
GET https://graph.microsoft.com/beta/auditLogs/signins?&$filter=startsWith(appDisplayName,'Azure')&$top=10
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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":[]
}
]
}
Exemplo 3: Obter os primeiros 10 inícios de sessão em que signInEventType não é interativoUtilizar a partir do início de sessão mais recente
Neste exemplo, a resposta inclui uma @odata.nextLink
propriedade que contém um URL que pode ser utilizado para obter os próximos 10 resultados.
Solicitação
GET https://graph.microsoft.com/beta/auditLogs/signins?&$filter=(signInEventTypes/any(t: t ne 'interactiveUser'))&$orderby=createdDateTime DESC&$top=10
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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": ""
}
}
]
}