撤銷 Microsoft Entra ID 中的使用者存取權

可能需要系統管理員撤銷使用者所有存取權的案例,包括遭入侵的帳戶、員工終止和其他內部威脅。 根據環境的複雜度,系統管理員可以採取數個步驟,以確保撤銷存取權。 在某些情況下,在起始存取撤銷和有效撤銷存取權之間可能會有一段期間。

若要降低風險,您必須瞭解令牌的運作方式。 有許多種類的令牌,其屬於下列各節所述的其中一種模式。

存取令牌和重新整理令牌

存取令牌和重新整理令牌經常與厚用戶端應用程式搭配使用,也用於瀏覽器型應用程式,例如單頁應用程式。

  • 當使用者向 Microsoft Entra 識別碼進行驗證時,系統會評估 Microsoft Entra 的一部分授權原則,以判斷使用者是否可以獲得特定資源的存取權。

  • 如果獲得授權,Microsoft Entra ID 會發出存取令牌和資源重新整理令牌。

  • 根據預設,Microsoft Entra ID 所簽發的存取令牌預設為 1 小時。 如果驗證通訊協議允許,當存取令牌到期時,應用程式可以將重新整理令牌傳遞至 Microsoft Entra 識別元,以無訊息方式重新驗證使用者。

Microsoft Entra ID 接著會重新評估其授權原則。 如果使用者仍然獲得授權,Microsoft Entra ID 會發出新的存取令牌並重新整理令牌。

存取令牌可以是安全性考慮,如果存取必須在比令牌存留期短的時間內撤銷,通常大約一小時。 基於這個理由,Microsoft 正積極努力將持續存取評估帶入 Office 365 應用程式,這有助於近乎即時地確保存取令牌失效。

工作階段令牌 (Cookie)

大部分的瀏覽器型應用程式會使用會話令牌,而不是存取和重新整理令牌。

  • 當使用者開啟瀏覽器並透過 Microsoft Entra 識別碼向應用程式驗證時,使用者會收到兩個會話令牌。 一個來自 Microsoft Entra ID,另一個來自應用程式。

  • 一旦應用程式發出自己的會話令牌,應用程式的存取權就會由應用程式的會話控管。 此時,使用者只會受到應用程式感知的授權原則影響。

  • 隨著應用程式將用戶傳回 Microsoft Entra ID,Microsoft Entra ID 的授權原則會一樣頻繁地重新評估。 重新評估通常會以無訊息方式進行,不過頻率取決於應用程式的設定方式。 只要會話令牌有效,應用程式就可能永遠不會將用戶傳回 Microsoft Entra 識別碼。

  • 若要撤銷會話令牌,應用程式必須根據自己的授權原則撤銷存取權。 Microsoft Entra ID 無法直接撤銷應用程式發出的會話令牌。

撤銷混合式環境中的使用者存取權

針對與 Microsoft Entra ID 同步處理的混合式環境 內部部署的 Active Directory,Microsoft 建議 IT 系統管理員採取下列動作。 如果您有 僅限 Microsoft Entra 的環境,請跳至 [Microsoft Entra 環境] 區 段。

內部部署 Active Directory 環境

身為 Active Directory 中的系統管理員,連線到您的內部部署網路、開啟 PowerShell,然後採取下列動作:

  1. 停用 Active Directory 中的使用者。 請參閱 Disable-ADAccount

    Disable-ADAccount -Identity johndoe  
    
  2. 在 Active Directory 中重設使用者的密碼兩次。 請參閱 Set-ADAccountPassword

    注意

    變更使用者密碼兩次的原因是要降低傳遞哈希的風險,尤其是在內部部署密碼復寫發生延遲時。 如果您可以放心地假設此帳戶未遭入侵,則只能重設密碼一次。

    重要

    請勿在下列 Cmdlet 中使用範例密碼。 請務必將密碼變更為隨機字串。

    Set-ADAccountPassword -Identity johndoe -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "p@ssw0rd1" -Force)
    Set-ADAccountPassword -Identity johndoe -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "p@ssw0rd2" -Force)
    

Microsoft Entra 環境

身為 Microsoft Entra ID 的系統管理員,開啟 PowerShell,執行 Connect-MgGraph,然後採取下列動作:

  1. 停用 Microsoft Entra 識別碼中的使用者。 請參閱 Update-MgUser

    $User = Get-MgUser -Search UserPrincipalName:'johndoe@contoso.com' -ConsistencyLevel eventual
    Update-MgUser -UserId $User.Id -AccountEnabled:$false
    
  2. 撤銷使用者的 Microsoft Entra ID 重新整理令牌。 請參閱 Revoke-MgUserSignInSession

    Revoke-MgUserSignInSession -UserId $User.Id
    
  3. 停用用戶的裝置。 請參閱 Get-MgUserRegisteredDevice

    $Device = Get-MgUserRegisteredDevice -UserId $User.Id 
    Update-MgDevice -DeviceId $Device.Id -AccountEnabled:$false
    

注意

如需可執行這些步驟的特定角色資訊,請檢閱 Microsoft Entra 內建角色

注意

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模組已被淘汰。 若要深入了解,請閱讀淘汰更新。 在此日期之後,對這些模組的支援僅限於對 Microsoft Graph PowerShell SDK 的移轉協助和安全性修正。 淘汰的模組將繼續運作至 2025 年 3 月 30 日。

我們建議移轉至 Microsoft Graph PowerShell 以與 Microsoft Entra ID (以前稱為 Azure AD) 互動。 如需了解常見的移轉問題,請參閱移轉常見問題注意:MSOnline 1.0.x 版可能會在 2024 年 6 月 30 日之後發生中斷。

撤銷存取權時

一旦系統管理員採取上述步驟,使用者便無法為系結至 Microsoft Entra 識別碼的任何應用程式取得新的令牌。 撤銷和使用者失去存取權之間的經過時間取決於應用程式授與存取權的方式:

  • 對於 使用存取令牌的應用程式,使用者會在存取令牌過期時失去存取權。

  • 對於 使用會話令牌的應用程式,現有會話會在令牌到期時立即結束。 如果使用者的停用狀態已同步處理至應用程式,則如果應用程式設定為,應用程式可以自動撤銷使用者現有的會話。 所需的時間取決於應用程式與 Microsoft Entra ID 之間的同步處理頻率。

最佳作法

  • 部署自動化布建和取消布建解決方案。 取消布建應用程式的使用者是撤銷存取的有效方式,特別是針對使用會話令牌的應用程式。 開發程式,將使用者取消布建至不支援自動布建和取消布建的應用程式。 請確定應用程式撤銷自己的會話令牌,並停止接受 Microsoft Entra 存取令牌,即使它們仍然有效也一樣。

    • 使用 Microsoft Entra SaaS 應用程式佈建。 Microsoft Entra SaaS 應用程式佈建通常會每隔 20-40 分鐘自動執行一次。 設定 Microsoft Entra 布建 以取消布建或停用應用程式中已停用的使用者。

    • 對於未使用 Microsoft Entra SaaS 應用程式佈建的應用程式,請使用 Identity Manager (MIM) 或第三方解決方案來自動取消布建使用者。

    • 識別並開發需要手動取消布建的應用程式程式。 請確定系統管理員可以快速執行必要的手動工作,以在需要時從這些應用程式取消布建使用者。

  • 使用 Microsoft Intune 管理您的裝置和應用程式。 Intune 管理的 裝置可以重設為原廠設定。 如果裝置為 Unmanaged,您可以從 受控應用程式抹除公司數據。 這些程式對於從終端使用者裝置移除潛在敏感數據很有效。 不過,若要觸發任一個程式,裝置必須連線到因特網。 如果裝置離線,裝置仍可存取任何本機儲存的數據。

注意

抹除之後,無法復原裝置上的數據。

下一步