分享方式:


緊急輪替 AD FS 憑證

如果您需要立即輪替 Active Directory 同盟服務 (AD FS) 憑證,您可以遵循本文中的步驟。

重要

在 AD FS 環境中輪替憑證會立即撤銷舊憑證,而不顧同盟夥伴通常需要時間來取用新憑證。 信任需要更新為使用新憑證,因此這個動作也可能會導致服務中斷。 在所有同盟夥伴都有新憑證後,中斷問題應該就會獲得解決。

注意

強烈建議您使用硬體安全性模型 (HSM) 來保護憑證。 如需詳細資訊,請參閱保護 AD FS 的最佳做法中的硬體安全性模組一節。

查明權杖簽署憑證指紋

若要撤銷 AD FS 目前正在使用的舊權杖簽署憑證,您需要查明權杖簽署憑證的指紋。 執行下列操作:

  1. 在 PowerShell 中執行 Connect-MsolService,以連線到 Microsoft 線上服務。

  2. 執行 Get-MsolFederationProperty -DomainName <domain>,以記錄內部部署和雲端權杖簽署憑證的指紋和到期日。

  3. 抄下指紋。 您稍後會使用它來移除現有的憑證。

您也可以使用 AD FS 管理來取得指紋。 移至 [服務]>[憑證],以滑鼠右鍵按一下憑證,選取 [檢視憑證],然後選取 [詳細資料]

判斷 AD FS 是否自動更新憑證

根據預設,AD FS 會設定為自動產生權杖簽署和權杖解密憑證。 其會在初始設定期間和憑證接近到期日時執行此動作。

您可以執行下列 PowerShell 命令:Get-AdfsProperties | FL AutoCert*, Certificate*

AutoCertificateRollover 屬性描述 AD FS 是否設定為自動更新權杖簽署憑證和權杖解密憑證。 執行下列任一步驟:

如果 AutoCertificateRollover 設定為 TRUE,則產生新的自我簽署憑證

在本節中,您會建立「兩個」權杖簽署憑證。 第一個會使用 -urgent 旗標,這會立即取代目前的主要憑證。 第二個則用於次要憑證。

重要

您會建立兩個憑證,因為 Microsoft Entra ID 會保留上一個憑證的相關資訊。 透過建立第二個憑證,便可迫使 Microsoft Entra ID 放棄舊憑證的相關資訊,換成第二個憑證的相關資訊。

如果不建立第二個憑證來更新 Microsoft Entra ID,則可能會以舊的權杖簽署憑證來驗證使用者。

若要產生新的權杖簽署憑證,請執行下列動作:

  1. 確認您已登入主要 AD FS 伺服器。

  2. 以系統管理員身分開啟 Windows PowerShell。

  3. 在 PowerShell 中執行下列命令,確定 AutoCertificateRollover 已設定為 True

    Get-AdfsProperties | FL AutoCert*, Certificate*

  4. 若要產生新的權杖簽署憑證,請執行:

    Update-ADFSCertificate -CertificateType Token-Signing -Urgent

  5. 執行下列命令來確認更新:

    Get-ADFSCertificate -CertificateType Token-Signing

  6. 現在,執行下列命令來產生第二個權杖簽署憑證:

    Update-ADFSCertificate -CertificateType Token-Signing

  7. 您可以再次執行下列命令以驗證更新:

    Get-ADFSCertificate -CertificateType Token-Signing

如果 AutoCertificateRollover 設定為 FALSE,則手動產生新的憑證

如果不是使用預設自動產生的自我簽署權杖簽署憑證和權杖解密憑證,您必須手動更新並設定這些憑證。 若要這麼做,則需要建立並匯入兩個新的權杖簽署憑證。 然後,將其中一個升級為主要憑證、撤銷舊憑證,並將第二個憑證設定為次要憑證。

首先,您必須從憑證授權單位取得兩個新憑證,並匯入至每個同盟伺服器上的本機電腦個人憑證存放區。 如需相關指示,請參閱匯入憑證 (英文)。

重要

您會建立兩個憑證,因為 Microsoft Entra ID 會保留上一個憑證的相關資訊。 透過建立第二個憑證,便可迫使 Microsoft Entra ID 放棄舊憑證的相關資訊,換成第二個憑證的相關資訊。

如果不建立第二個憑證來更新 Microsoft Entra ID,則可能會以舊的權杖簽署憑證來驗證使用者。

將新憑證設定為次要憑證

接著,將一個憑證設定為次要 AD FS 權杖簽署或解密憑證,然後升級為主要憑證。

  1. 在匯入憑證後,開啟 [AD FS 管理] 主控台。

  2. 展開 [服務] 並選取 [憑證]

  3. 在 [動作] 窗格上,選取 [新增權杖簽署憑證]

  4. 在顯示的憑證清單中選取新憑證,然後選取 [確定]

將新憑證從次要提升為主要

既然已在 AD FS 中匯入並設定新憑證,接著需要將其設定為主要憑證。

  1. 開啟 [AD FS 管理] 主控台。

  2. 展開 [服務] 並選取 [憑證]

  3. 選取次要權杖簽署憑證。

  4. 在 [動作] 窗格上,選取 [設為主要]。 出現提示時,選取 [是]

  5. 將新憑證升級為主要憑證之後,因為舊憑證仍然可用,請將其移除。 如需詳細資訊,請參閱移除舊憑證一節。

將第二個憑證設定為次要憑證

既然已新增第一個憑證並設為主要憑證,也移除舊憑證,請匯入第二個憑證。 執行下列動作,將憑證設定為次要 AD FS 權杖簽署憑證:

  1. 在匯入憑證後,開啟 [AD FS 管理] 主控台。

  2. 展開 [服務] 並選取 [憑證]

  3. 在 [動作] 窗格上,選取 [新增權杖簽署憑證]

  4. 在顯示的憑證清單中選取新憑證,然後選取 [確定]

使用新的權杖簽署憑證更新 Microsoft Entra ID

  1. 開啟 Azure AD PowerShell 模組。 或者,開啟 Windows PowerShell,然後執行 Import-Module msonline 命令。

  2. 執行下列命令以連線到 Microsoft Entra ID:

    Connect-MsolService

  3. 輸入您的 混合式身分識別系統管理員 (部分機器翻譯) 認證。

    注意

    如果您在非主要同盟伺服器的電腦上執行這些命令,請先輸入以下命令:

    Set-MsolADFSContext -Computer <servername>

    將 <servername> 取代為 AD FS 伺服器的名稱,然後在提示字元中輸入 AD FS 伺服器的系統管理員認證。

  4. 可選擇在 Microsoft Entra ID 中查看目前的憑證資訊,以決定是否需要更新。 若要這樣做,請執行下列命令:Get-MsolFederationProperty。 在出現提示時輸入同盟網域的名稱。

  5. 若要更新 Microsoft Entra ID 中的憑證資訊,請執行 Update-MsolFederatedDomain 命令,在出現提示時,接著輸入網域名稱。

    注意

    如果您在執行此命令時收到錯誤,請執行 Update-MsolFederatedDomain -SupportMultipleDomain,然後在提示字元中輸入網域名稱。

更換 SSL 憑證

如果因為洩露而需要更換權杖簽署憑證,您也應該撤銷並更換 AD FS 和 Web 應用程式 Proxy (WAP) 伺服器的安全通訊端層 (SSL) 憑證。

必須由核發憑證的憑證授權單位 (CA) 來撤銷 SSL 憑證。 這些憑證通常由第三方提供者核發,例如 GoDaddy。 相關範例請參閱撤銷憑證 | SSL 憑證 - GoDaddy 說明中心。 如需詳細資訊,請參閱憑證撤銷的運作方式 (英文)。

在撤銷舊的 SSL 憑證並核發新的 SSL 憑證後,您就可以更換 SSL 憑證。 如需詳細資訊,請參閱更換 AD FS 的 SSL 憑證

移除舊憑證

更換舊憑證之後,因為舊憑證仍然可用,請將其移除。 若要這麼做︰

  1. 確認您已登入主要 AD FS 伺服器。

  2. 以系統管理員身分開啟 Windows PowerShell。

  3. 若要移除舊的權杖簽署憑證,請執行:

    Remove-ADFSCertificate -CertificateType Token-Signing -thumbprint <thumbprint>

更新可取用同盟中繼資料的同盟夥伴

如果您已更新並設定新的權杖簽署憑證或權杖解密憑證,則必須確定所有同盟夥伴都已挑選新的憑證。 此清單中包含信賴憑證者信任和宣告提供者信任以 AD FS 表示的資源組織或帳戶組織夥伴。

更新無法取用同盟中繼資料的同盟夥伴

如果同盟夥伴無法取用同盟中繼資料,您必須手動傳送新的權杖簽署/權杖解密憑證的公開金鑰給他們。 將新的憑證公開金鑰 (.cer 檔案或 .p7b,表示您想要包含整個鏈結),傳送給所有資源組織或帳戶組織夥伴 (AD FS 中代表信賴憑證者信任和宣告提供者信任)。 請合作夥伴那一方實作變更來信任新憑證。

透過 PowerShell 撤銷重新整理權杖

現在,您想要撤銷使用者可能擁有的重新整理權杖,然後強制他們重新登入並取得新的權杖。 這會導致使用者登出電話、目前的網頁郵件工作階段,以及其他使用權杖和重新整理權杖的項目。 如需詳細資訊,請參閱 Revoke-AzureADUserAllRefreshToken (部分機器翻譯)。 另請參閱撤銷 Microsoft Entra ID 中的使用者存取權 (部分機器翻譯)。

注意

自 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 日之後發生中斷。

下一步