如何偵測和調查非使用中的用戶帳戶
在大型環境中,員工離開組織時,不一定會刪除用戶帳戶。 身為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 端點,但請您試用。
lastSignInDateTime
由 signInActivity
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
注意
屬性支援 (、 、 、 ne
ge
not
le
) , 但不支援任何其他可篩選的屬性。eq
$filter
signInActivity
您必須在列出使用者時指定 $select=signInActivity
或 $filter=signInActivity
,因為根據預設不會傳回 signInActivity 屬性。
lastSignInDateTime 屬性的考慮
下列詳細數據與 lastSignInDateTime
屬性相關。
lastSignInDateTime 屬性是由 Microsoft Graph API 的 signInActivity 資源類型公開。
屬性 無法 透過 Get-MgAuditLogDirectoryAudit Cmdlet 取得。
每個互動式登入嘗試都會更新基礎數據存放區。 登入通常會在 6 小時內顯示在相關的登入報告中。
若要產生 lastSignInDateTime 時間戳,您必須嘗試登入。 只要在 Microsoft Entra 登入記錄中記錄失敗或成功登入嘗試,就會產生 lastSignInDateTime 時間戳。 如果下列情況,lastSignInDateTime 屬性的值可能為空白:
- 上次嘗試登入的使用者是在 2020 年 4 月之前進行的。
- 受影響的用戶帳戶從未用於登入嘗試。
上次登入日期與用戶對象相關聯。 值會保留到下一次使用者登入為止。 更新最多可能需要 24 小時的時間。
如何在 Microsoft Entra 系統管理中心調查單一使用者
提示
本文中的步驟可能會根據您從開始的入口網站稍有不同。
如果您需要檢視使用者的最新登入活動,您可以在 Microsoft Entra ID 中檢視使用者的登入詳細數據。 您也可以依上一節所述的名稱案例來使用 Microsoft Graph 使用者。
以至少報表讀者身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]>[使用者]>[所有使用者]。
從清單中選取使用者。
在使用者 [概觀] 的 [我的摘要] 區域中,找出 [登入] 圖格。
此磚上顯示的最後一次登入日期和時間最多可能需要 24 小時才能更新,這表示日期和時間可能不是最新的。 如果您需要近乎即時地查看活動,請選取 [登入] 圖格上的 [查看所有登入] 連結,以檢視該使用者的所有登入活動。