共用方式為


如何使用 Microsoft Graph 分析活動記錄

Microsoft Entra 報告 API 可讓您透過一組 REST API 以程式設計方式存取資料。 您可以從各種程式設計語言和工具呼叫這些 API。

本文說明如何使用 Microsoft Graph Explorer 和 Microsoft Graph PowerShell 來分析 Microsoft Entra 活動記錄。

必要條件

使用 Microsoft Graph 總管來存取報告

設定所有必要條件後,您可以在 Microsoft Graph 中執行活動記錄查詢。 Microsoft Graph API 並非專為提取大量活動資料而設計。 使用 API 提取大量的活動資料會導致分頁和效能的問題。 如需活動記錄 Microsoft Graph 查詢的詳細資訊,請參閱活動報告 API 概觀

  1. 啟動 Microsoft Graph 總管工具

  2. 選取設定檔,然後選取 [修改權限]

  3. 同意下列必要權限:

    • AuditLog.Read.All
    • Directory.Read.All
  4. 使用下列其中一個查詢來開始使用 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

    Microsoft Graph 中活動記錄 GET 查詢的螢幕擷取畫面。

微調查詢

若要搜尋特定的活動記錄項目,請搭配其中一個可用的屬性,使用 $filter 和 createdDateTime 查詢參數。 下列某些查詢會使用 beta 端點。 Beta 端點可能會變更,不建議用於實際執行環境。

請嘗試使用下列查詢:

  • 對於發生 [條件式存取] 失敗的登入嘗試:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=conditionalAccessStatus eq 'failure'
  • 若要尋找特定應用程式的登入:

    • 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 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 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 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 https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
    • 需要 UserAuthenticationMethod.Read.All 權限
  • 若要檢視使用者註冊詳細資料報告:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • 需要 UserAuthenticationMethod.Read.All 權限
  • 對於特定使用者的註冊詳細資料:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
    • 需要 UserAuthenticationMethod.Read.All 權限

一旦您熟悉標準登入和稽核記錄,請嘗試探索下列其他 API:

使用 Microsoft Graph PowerShell 來存取報告

您可以使用 PowerShell 來存取 Microsoft Entra 報告 API。 如需詳細資訊,請參閱 Microsoft Graph PowerShell 概觀

Microsoft Graph PowerShell cmdlets:

常見錯誤

錯誤:租用戶都不是 B2C 或租用戶沒有進階授權:存取登入報告需要 Microsoft Entra ID P1 或 P2 授權。 若在存取登入時看到這個錯誤訊息,請確定您的租用戶已獲得 Microsoft Entra ID P1 授權。

錯誤:使用者不在允許的角色中:若在嘗試使用 API 存取稽核記錄或登入時,看到這個錯誤訊息,請確定您的帳戶屬於 Microsoft Entra 租用戶中的安全性讀取者報告讀取者角色。

錯誤:應用程式遺漏 Microsoft Entra ID 'Read directory data' 或 'Read all audit log data' 權限:應用程式必須具有 AuditLog.Read.AllDirectory.Read.All 權限,才能使用 Microsoft Graph 來存取活動記錄。

下一步