如果您需要立即輪替 Active Directory 同盟服務 (AD FS) 憑證,您可以遵循本文中的步驟。
重要
在AD FS環境中輪替憑證會立即撤銷舊的憑證,而且會略過同盟夥伴取用新憑證所需的時間。 動作也可能會導致服務中斷,因為信任機制更新為使用新的憑證。 所有同盟夥伴都有新的憑證之後,就應該解決中斷問題。
注意
強烈建議您使用硬體安全性模組 (HSM) 來保護及保護憑證。 如需詳細資訊,請參閱保護AD FS的最佳作法中的 硬體安全性模組 一節。
確定您的令牌簽署憑證指紋
若要撤銷 AD FS 目前使用的舊令牌簽署憑證,您必須判斷令牌簽署憑證的指紋。 從您的 ADFS 伺服器執行下列動作:
連線到 Microsoft Entra PowerShell 模組:
Connect-Entra -Scopes 'Domain.Read.All'。執行以下命令來記錄您的內部部署和雲端 Token 簽章憑證的指紋和到期日期:
Get-AdfsCertificate -CertificateType token-signingGet-EntraFederationProperty -DomainName <your_domain.com> | FL Source, SigningCertificate。
複製指紋。 您稍後會使用它來移除現有的憑證。
您也可以使用 AD FS 管理工具來取得指紋值。 移至 [服務>憑證],以滑鼠右鍵單擊憑證,選取 [ 檢視憑證],然後選取 [ 詳細數據]。
判斷 AD FS 是否自動更新憑證
根據預設,AD FS 會設定為自動產生令牌簽署和令牌解密憑證。 它會在初始設定期間和憑證接近到期日時執行此動作。
您可以執行下列 PowerShell 命令:Get-AdfsProperties | FL AutoCert*, Certificate*。
AutoCertificateRollover 屬性描述 AD FS 是否設定為自動更新令牌簽署和令牌解密憑證。 執行下列其中一項:
- 如果
AutoCertificateRollover設定為TRUE, 則產生新的自我簽署憑證。 - 如果
AutoCertificateRollover設定為FALSE, 請手動產生新的憑證。
如果 AutoCertificateRollover 設定為 TRUE,請產生新的自我簽署憑證
在本節中,您會建立 兩個 令牌簽署憑證。 第一個會使用 -urgent 旗標,這會立即取代目前的主要憑證。 第二個用於副憑證。
重要
您正在建立兩個憑證,因為Microsoft Entra ID 會保留上一個憑證的相關信息。 建立第二個憑證會迫使 Microsoft Entra ID 釋放舊憑證的相關資訊,並用第二個憑證的相關資訊來替代它。
如果您未建立第二個憑證並更新 Microsoft Entra 識別碼,則舊令牌簽署憑證可能會驗證使用者。
若要產生新的令牌簽署憑證,請執行下列動作:
請確定您已登入主要 AD FS 伺服器。
以系統管理員身分開啟 Windows PowerShell。
在 PowerShell 中執行,確定
AutoCertificateRollover已設定為True:Get-AdfsProperties | FL AutoCert*, Certificate*若要產生新的權杖簽署憑證,請執行:
Update-ADFSCertificate -CertificateType Token-Signing -Urgent執行下列命令來確認更新:
Get-ADFSCertificate -CertificateType Token-Signing現在執行下列命令來產生第二個令牌簽署憑證:
Update-ADFSCertificate -CertificateType Token-Signing您可以執行下列命令來驗證更新:
Get-ADFSCertificate -CertificateType Token-Signing
如果 AutoCertificateRollover 設定為 FALSE,請手動產生新的憑證
如果您未使用自動產生的預設自我簽署令牌簽署和令牌解密憑證,您必須手動更新並設定這些憑證。 這樣做牽涉到建立兩個新的令牌簽署憑證,並匯入它們。 然後,您會將一個升級為主要憑證、撤銷舊憑證,並將第二個憑證設定為次要憑證。
首先,您必須從證書頒發機構單位取得兩個新憑證,並將其匯入每個同盟伺服器上的本機計算機個人證書存儲。 如需指示,請參閱 匯入憑證。
重要
您正在建立兩個憑證,因為Microsoft Entra ID 會保留上一個憑證的相關信息。 建立第二個憑證會迫使 Microsoft Entra ID 釋放舊憑證的相關資訊,並用第二個憑證的相關資訊來替代它。
如果您未建立第二個憑證並更新 Microsoft Entra 識別碼,則舊令牌簽署憑證可能會驗證使用者。
將新的憑證設定為次要憑證
接下來,將一個憑證設定為次要AD FS令牌簽署或解密憑證,然後將其升級至主要憑證。
匯入憑證之後,請開啟 AD FS管理主控台 。
展開 [服務],然後選取 [ 憑證]。
在 [ 動作] 窗格中,選取 [ 新增 Token-Signing 憑證]。
在顯示的憑證清單中選取新憑證,然後選取 [確定]。
將新的憑證從次要升級為主要憑證
既然您已匯入新的憑證,並在AD FS中加以設定,您必須將其設定為主要憑證。
開啟 [AD FS 管理] 主控台。
展開 [服務],然後選取 [ 憑證]。
選取次級令牌簽署憑證。
在 [動作] 窗格中,選取 [設定為主要]。 在提示中,選取是。
將新憑證升級為主要憑證之後,您應該移除舊憑證,因為它仍然可以使用。 如需詳細資訊,請參閱 移除舊憑證 一節。
將第二個憑證設定為次要憑證
既然您已新增第一個憑證,讓它成為主要憑證,並移除舊的憑證,您可以匯入第二個憑證。 執行下列動作,將憑證設定為次要 AD FS 令牌簽署憑證:
匯入憑證之後,請開啟 AD FS管理主控台 。
展開 [服務],然後選取 [ 憑證]。
在 [ 動作] 窗格中,選取 [ 新增 Token-Signing 憑證]。
在顯示的憑證清單中選取新憑證,然後選取 [確定]。
使用新的令牌簽署憑證更新Microsoft Entra身分識別
執行下列命令以連線到Microsoft Entra ID:
Connect-Entra -Scopes 'Domain.Read.All'輸入您的 混合式身分識別系統管理員 認證。
您可以選擇性地檢查Microsoft Entra ID 中的目前憑證資訊,確認是否需要更新。 若要這樣做,請執行下列命令:
Get-EntraFederationProperty -DomainName <your_domain.com> | FL Source, SigningCertificate並將 Base64 編碼證書轉換為可讀格式,以檢查證書到期和指紋。若要更新 Microsoft Entra ID 中的憑證資訊,請執行下列命令:
Update-MgDomainFederationConfiguration -DomainId <your_domain.com> -InternalDomainFederationId <hex_domainID>。重要
您可以執行下列命令來取得 -InternalDomainFederationId 值:
Get-EntraFederationProperty -DomainName your_domain.com
取代 SSL 憑證
如果您需要因洩漏而替換令牌簽署憑證,您也應該撤銷與替換AD FS和Web應用程式Proxy (WAP)伺服器的SSL(安全套接字層)憑證。
撤銷 SSL 憑證必須在簽發憑證的證書頒發機構單位 (CA) 上完成。 這些憑證通常是由第三方提供者所簽發,例如 GoDaddy。 如需範例,請參閱 撤銷憑證 | SSL 憑證 - GoDaddy 美國說明。 如需詳細資訊,請參閱 證書吊銷的運作方式。
撤銷舊的 SSL 憑證併發出新的 SSL 憑證之後,您可以取代 SSL 憑證。 如需詳細資訊,請參閱 取代AD FS的SSL憑證。
拿掉舊憑證
取代舊憑證之後,您應該移除舊憑證,因為它仍然可以使用。 要達成這個目標:
請確定您已登入主要 AD FS 伺服器。
以系統管理員身分開啟 Windows PowerShell。
若要移除舊的令牌簽署憑證,請執行:
Remove-ADFSCertificate -CertificateType Token-Signing -thumbprint <thumbprint>
更新可取用同盟元數據的同盟合作夥伴
如果您已經更新並設定新的令牌簽署或解密憑證,您必須確保所有的同盟夥伴都已取得這些新的憑證。 此清單包含在 AD FS 中由信賴方信任和宣告提供者信任所代表的資源組織或帳戶組織夥伴。
更新無法取用聯盟元數據的聯盟合作夥伴
如果您的同盟夥伴無法取用您的同盟元數據,您必須手動傳送新令牌簽署/令牌解密憑證的公鑰。 請將您的新憑證公鑰(.cer 檔案或如果想要包含整個鏈結,則使用 .p7b)傳送給所有資源組織或帳戶組織的合作夥伴(在您的 AD FS 中由信任的使用者信任和求信宣告提供者信任所代表)。 讓合作夥伴在其端實作變更,以信任新的憑證。
使用 PowerShell 撤銷刷新令牌
現在您想要撤銷可能持有刷新令牌的使用者的令牌,並強制他們再次登入以獲取新的令牌。 這會將使用者從其手機、目前的 Webmail 會話,以及其他使用令牌和重新整理令牌的地方登出。 如需詳細資訊,請參閱 Revoke-EntraUserAllRefreshToken。 另請參閱 撤銷Microsoft Entra ID 中的使用者存取權。