如何偵測和調查非使用中的使用者帳戶
本文內容
在大型環境中,當員工離開組織時,其使用者帳戶不一定會遭到刪除。 身為 IT 系統管理員,您會想要偵測並解決這些已淘汰的使用者帳戶,因為這些帳戶代表著安全性風險。
本文說明在 Microsoft Entra ID 中處理已淘汰使用者帳戶的方法。
注意
本文僅適用於在 Microsoft Entra ID 中尋找非使用中的使用者帳戶。 不適用於在 Azure AD B2C 中尋找非使用中的帳戶。
必要條件
若要使用 Microsoft Graph 存取 lastSuccessfulSignInDateTime
屬性,您需要Microsoft Entra ID P1 或 P2 授權。
您必須將下列Microsoft Graph 權限授與應用程式:
AuditLog.Read.All
User.Read.All
報表讀者 是存取活動記錄所需的最低特殊許可權角色。
如需角色的完整清單,請參閱 依工作 設定的最低許可權角色。
什麼是不活躍的使用者帳戶?
不活動帳戶是組織成員不再需要用以存取您資源的使用者帳戶。 要識別非使用中帳戶的一個重點,就是這些帳戶「已有一段時間未用來登入您的環境」 。 由於非使用中的帳戶會繫結至登入活動,因此您可以使用上次帳戶嘗試登入的時間戳記來偵測非使用中帳戶。
這種方法的挑戰性在於,定義在您的環境中「一段時間」 的意義。 例如,使用者可能有一段時間不會登入環境 ,因為他們在休假。 您必須考慮所有您無法登入環境的正當理由。 在許多組織中,非使用中用戶帳戶的合理視窗介於90到180天之間。
上次登入日期提供用戶持續需要存取資源的潛在見解。 此資訊可協助您判斷群組成員資格或應用程式存取權是否仍然需要或可以移除。 針對外部使用者管理,您可以判斷外部使用者是否仍然在租賃使用者內活躍或應該被移除。
如何尋找和調查非使用中的用戶帳戶
您可以使用 Microsoft Entra 系統管理中心或 Microsoft Graph API 來尋找非使用中的使用者帳戶。 雖然沒有非使用中用戶帳戶的內建報告,但您可以使用上次登入日期和時間來判斷用戶帳戶是否為非使用中狀態。
若要尋找使用者的最後一次登入時間,您可以在 Microsoft Entra 系統管理中心查看您的使用者清單。 雖然所有使用者都可以看到使用者清單,但某些數據行和詳細數據僅適用於具有適當許可權的使用者。
尋找所有用戶的最後一次登入時間
以至少報表讀者 身分登入 Microsoft Entra 系統管理中心 。
瀏覽至 [身分識別 ]>[使用者 ]>[所有使用者 ]。
選取 [管理檢視] ,然後[編輯資料行] 。
從清單中,選取 [+ 新增欄 ],選取 [上次互動式登入時間 ],然後選取 [儲存 ]。
當欄位在 [所有使用者] 列表中顯示時,選擇 [新增篩選條件 ,然後利用篩選選項設定搜尋的時間範圍。
選取 < = 作為 運算符 ,然後選取日期,以尋找在所選日期 之前的最後一個登入 。
調查單一使用者
如果您需要檢視使用者的最新登入活動,可以在 Microsoft Entra ID 中檢視使用者的登入詳細資料。 您也可以使用在 按名稱用戶部分 中所述的 Microsoft Graph API。
以至少報表讀者 身分登入 Microsoft Entra 系統管理中心 。
瀏覽至 [身分識別 ]>[使用者 ]>[所有使用者 ]。
從清單中選取使用者。
在使用者 [總覽] 的 [我的動態] 區域中,找出 [登入] 圖格。
此圖格顯示的最後登入日期和時間最多可能需要 24 小時才能完成更新,這表示日期和時間可能不是最新的。 如果您需要查看近乎即時的活動,請選取 [登入] 圖格上的 [查看所有登入] 連結,以檢視該使用者的所有登入活動。
您可以藉由評估數個屬性來偵測非使用中的帳戶。
lastSignInDateTime
屬性是由 Microsoft Graph API signInActivity
資源類型公開。
lastSignInDateTime
屬性會顯示使用者上次在 Microsoft Entra ID 中嘗試進行互動式登入的時間。
使用此屬性,您可以針對下列案例實作解決方案:
所有使用者上次登入日期和時間
生成關於所有使用者上次登入日期的報告 。 回應會提供所有用戶的清單,以及每個個別用戶的最後一個 lastSignInDateTime
。
https://graph.microsoft.com/v1.0/users?$select=displayName,signInActivity
上次成功登入日期和時間
此查詢類似於將上次登入日期新增至使用者清單,並在 Microsoft Entra 系統管理中心依特定日期進行篩選。 您可以在指定日期之前,要求具有 lastSuccessfulSignInDateTime
或 lastSignInDateTime
的使用者清單。 此查詢的回應會提供使用者的詳細數據,但不會提供使用者的登入活動。 若要查看這些詳細數據,請在 Users 依名稱的 案例中嘗試查詢。
https://graph.microsoft.com/v1.0/users?$filter=signInActivity/lastSuccessfulSignInDateTime le 2024-06-01T00:00:00Z
https://graph.microsoft.com/v1.0/users?$filter=signInActivity/lastSignInDateTime le 2024-06-01T00:00:00Z
名稱排序使用者
在此案例中,您會依名稱搜尋特定使用者。 此查詢的回應包括其上次登入的日期、時間和要求標識碼。
要求 :
GET `https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'Isabella Simonsen')&$select=displayName,signInActivity`
回應:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(displayName,signInActivity)",
"value": [
{
"displayName": "Stine Romund",
"id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"signInActivity": {
"lastSignInDateTime": "2024-12-10T17:38:26Z",
"lastSignInRequestId": "20a94b1b-ade2-4f4e-9c55-609f7cd97600",
"lastNonInteractiveSignInDateTime": "2024-12-10T17:38:11Z",
"lastNonInteractiveSignInRequestId": "94c369e6-249e-4595-bb86-495ea9a81e00",
"lastSuccessfulSignInDateTime": "2024-12-10T17:38:26Z",
"lastSuccessfulSignInRequestId": "20a94b1b-ade2-4f4e-9c55-609f7cd97600"
}
}
]
}
lastSignInDateTime
:上次互動式登入嘗試的日期和時間,包括登入失敗。 在上次登入嘗試成功的情況下,此屬性的日期和時間與 lastSuccessfulSignInDateTime
相同。
lastNonInteractiveSignInDateTime
:上次非互動式登入嘗試的日期和時間。
lastSuccessfulSignInDateTime
:上次成功互動式登錄的日期和時間。
注意
signInActivity
屬性支援 $filter
(eq
、ne
、not
、ge
、le
),但不支援使用任何其他可篩選的屬性 。 您必須指定 $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 ID Governance 存取權檢閱來稽核使用者的存取權。
相關內容