列出 signIn
命名空间:microsoft.graph
检索租户的 Azure AD 用户登录信息。 以交互方式进行交互的登录 (其中,用户名/密码作为身份验证令牌) 的一部分传递,并且成功的联合登录当前包含在登录日志中。
最大和默认页面大小为 1,000 个对象,默认情况下,首先返回最新的登录。 只有 Azure Active Directory (Azure AD) 默认保留期 内发生的登录事件才可用。
备注
本文介绍如何从设备或服务导出个人数据。 这些步骤可用于支持根据《一般数据保护条例》 (GDPR) 的义务。 授权的租户管理员可以使用 Microsoft Graph 更正、更新或删除有关最终用户的可识别信息,包括客户和员工用户配置文件或个人数据(如用户的姓名、工作标题、地址或电话号码)在Azure Active Directory (Azure AD) 环境中。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 | 权限(从最低特权到最高特权) |
|---|---|
| 委派(工作或学校帐户) | AuditLog.Read.All 和 Directory.Read.All |
| 委派(个人 Microsoft 帐户) | 不支持 |
| Application | AuditLog.Read.All 和 Directory.Read.All |
重要
此 API 存在 已知问题 ,当前需要同意 AuditLog.Read.All 和 Directory.Read.All 权限。
应用必须 正确注册 到 Azure AD。
除了委派的权限外,已登录的用户还需要属于以下目录角色之一,这些角色允许他们读取登录报告。 若要详细了解目录角色,请参阅 Azure AD 内置角色:
- 全局管理员
- 全局读取者
- 报告读取者
- 安全管理员
- 安全操作员
- 安全读取者
在登录中查看应用的条件访问 (CA) 策略
appliedConditionalAccessPolicies 属性中列出的已应用 CA 策略仅适用于具有允许他们读取 条件访问数据的角色的用户和应用。 如果用户或应用有权读取登录日志,但无权读取条件访问数据,则将省略响应中的 appliedConditionalAccessPolicies 属性。 以下 Azure AD 角色授予用户查看条件访问数据的权限:
- 全局管理员
- 全局读取者
- 安全管理员
- 安全读取者
- 条件访问管理
应用程序必须至少具有以下权限之一才能在登录日志中查看 appliedConditionalAccessPolicy 对象:
- Policy.Read.All
- Policy.ReadWrite.ConditionalAccess
- Policy.Read.ConditionalAccess
注意: 具有任何权限的 Azure AD 用户可以读取登录日志,其中用户是登录的执行组件。 此功能可帮助用户发现其帐户中的意外活动。 用户无法从自己的日志中读取 CA 数据,除非他们具有上面标识的 CA 权限之一。
HTTP 请求
GET auditLogs/signIns
可选的查询参数
此方法支持 $top``$skiptokenOData 查询参数,$filter以帮助自定义响应。 关如何使用这些参数的详细信息,请参阅 OData 查询参数。
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和 signIn 对象集合。 对象集合根据 createdDateTime 按降序列出。
示例
示例 1:列出所有登录
请求
下面是一个请求示例。
GET https://graph.microsoft.com/v1.0/auditLogs/signIns
响应
下面是一个响应示例。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
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": "2020-03-13T19:15:41.6195833Z",
"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:使用以“Graph”开头的 appDisplayName 检索应用的前 10 个登录
请求
下面是一个请求示例。
GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=startsWith(appDisplayName,'Graph')&$top=10
响应
下面是一个响应示例。 响应包含一个 @odata.nextLink 属性,其中包含可用于检索接下来 10 个结果的 URL。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
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": "2020-03-13T19:15:41.6195833Z",
"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"
},
]
}
]
}
反馈
提交和查看相关反馈