如何偵測和調查非使用中的用戶帳戶

在大型環境中,員工離開組織時,不一定會刪除用戶帳戶。 身為IT系統管理員,您想要偵測並解決這些過時的使用者帳戶,因為它們代表安全性風險。

本文說明在 Microsoft Entra ID 中處理過時用戶帳戶的方法。

注意

本文僅適用於在 Microsoft Entra ID 中尋找非使用中的用戶帳戶。 它不適用於在 Azure AD B2C 中尋找非作用中的帳戶。

必要條件

若要使用 Microsoft Graph 存取 lastSignInDateTime 屬性:

  • 您需要 Microsoft Entra ID P1 或 P2 版本授權。

  • 您必須授與應用程式下列 Microsoft Graph 權限:

    • AuditLog.Read.All
    • User.Read.All

什麼是非使用中的用戶帳戶?

非使用中的帳戶是組織成員不再需要的用戶帳戶,可存取您的資源。 非使用中帳戶的其中一個密鑰標識碼是,他們尚未使用 一段時間 來登入您的環境。 由於非作用中的帳戶會系結至登入活動,因此您可以使用上次嘗試登入帳戶以偵測非使用中帳戶的時間戳。

此方法的挑戰是定義 一段時間 對環境的意義。 例如,使用者可能無法登入環境 一段時間,因為它們正在休假。 定義非使用中用戶帳戶的差異時,您必須考慮所有合法原因,才能不登入您的環境。 在許多組織中,非使用中用戶帳戶的差異介於90到180天之間。

最後一次登入提供用戶持續需要存取資源的潛在見解。 它可協助您判斷是否需要群組成員資格或應用程式存取權,或是否可以移除。 針對外部使用者管理,您可以瞭解外部使用者是否仍在租使用者內或應該清除。

使用 Microsoft Graph 偵測非使用中的用戶帳戶

您可以藉由評估數個屬性來偵測非使用中的帳戶,其中有些屬性可在 Microsoft Graph API 的端點上使用 beta 。 我們不建議在生產環境中使用 Beta 端點,但請您試用。

lastSignInDateTimesignInActivity Microsoft Graph API 資源類型公開的屬性。 lastSignInDateTime 屬性會顯示使用者上次嘗試在 Microsoft Entra ID 中嘗試進行互動式登入嘗試的時間。 使用這個屬性,您可以針對下列案例實作解決方案:

  • 所有使用者上次登入日期和時間:在此案例中,您必須產生所有使用者上次登入日期的報告。 您要求所有使用者的清單,以及每個個別使用者的最後一個 lastSignInDateTime:

    • https://graph.microsoft.com/v1.0/users?$select=displayName,signInActivity
  • 依名稱的使用者:在此案例中,您會依名稱搜尋特定使用者,這可讓您評估 lastSignInDateTime:

    • https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'Isabella Simonsen')&$select=displayName,signInActivity
  • 依日期排序的使用者:在此案例中,您會在指定的日期之前要求lastSignInDateTime的使用者清單:

    • https://graph.microsoft.com/v1.0/users?$filter=signInActivity/lastSignInDateTime le 2019-06-01T00:00:00Z
  • 上次成功登入日期和時間 (beta):此案例僅適用於 beta Microsoft Graph API 的端點。 您可以在指定日期之前要求具有 lastSuccessfulSignInDateTime 的使用者清單:

    • https://graph.microsoft.com/beta/users?$filter=signInActivity/lastSuccessfulSignInDateTime le 2019-06-01T00:00:00Z

注意

屬性支援 (、 、 、 negenotle) , 但不支援任何其他可篩選的屬性。eq$filtersignInActivity 您必須在列出使用者指定 $select=signInActivity$filter=signInActivity ,因為根據預設不會傳回 signInActivity 屬性。

lastSignInDateTime 屬性的考慮

下列詳細數據與 lastSignInDateTime 屬性相關。

  • lastSignInDateTime 屬性是由 Microsoft Graph APIsignInActivity 資源類型公開。

  • 屬性 無法 透過 Get-MgAuditLogDirectoryAudit Cmdlet 取得。

  • 每個互動式登入嘗試都會更新基礎數據存放區。 登入通常會在 6 小時內顯示在相關的登入報告中。

  • 若要產生 lastSignInDateTime 時間戳,您必須嘗試登入。 只要在 Microsoft Entra 登入記錄中記錄失敗或成功登入嘗試,就會產生 lastSignInDateTime 時間戳。 如果下列情況,lastSignInDateTime 屬性的值可能為空白:

    • 上次嘗試登入的使用者是在 2020 年 4 月之前進行的。
    • 受影響的用戶帳戶從未用於登入嘗試。
  • 上次登入日期與用戶對象相關聯。 值會保留到下一次使用者登入為止。 更新最多可能需要 24 小時的時間。

如何在 Microsoft Entra 系統管理中心調查單一使用者

提示

本文中的步驟可能會根據您從開始的入口網站稍有不同。

如果您需要檢視使用者的最新登入活動,您可以在 Microsoft Entra ID 中檢視使用者的登入詳細數據。 您也可以依上一節所述的名稱案例來使用 Microsoft Graph 使用者。

  1. 以至少報表讀者身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別]>[使用者]>[所有使用者]。

  3. 從清單中選取使用者。

  4. 在使用者 [概觀] 的 [我的摘要] 區域中,找出 [登入] 圖格。

    Screenshot of the user overview page with the sign-in activity tile highlighted.

此磚上顯示的最後一次登入日期和時間最多可能需要 24 小時才能更新,這表示日期和時間可能不是最新的。 如果您需要近乎即時地查看活動,請選取 [登入] 圖格上的 [查看所有登入] 連結,以檢視該使用者的所有登入活動。

下一步