共用方式為


遷移至 Microsoft Entra 多重認證與聯合身份驗證

將您的多重驗證(MFA)解決方案遷移到 Microsoft Entra ID,是您邁向雲端旅程中的絕佳第一步。 未來也考慮改用 Microsoft Entra ID 來進行使用者驗證。 欲了解更多資訊,請參閱遷移至 Microsoft Entra 多重身份驗證與雲端驗證的流程。

若要遷移至 Microsoft Entra 多重認證與聯邦,需在 AD FS 上安裝 Microsoft Entra 多重認證提供者。 Microsoft Entra ID 依賴方信任及其他依賴方信任被設定為使用 Microsoft Entra 多重身份驗證以供遷移使用者使用。

下圖顯示此移轉流程。

移轉流程的流程圖。本文件中的流程領域和標題的順序相同

建立移轉群組

若要建立新的條件式存取原則,您必須將這些原則指派給群組。 你可以使用 Microsoft Entra 安全群組或 Microsoft 365 群組 來達成此目的。 您也可以建立或同步新的項目。

你還需要一個 Microsoft Entra 安全群組,以便反覆將使用者遷移到 Microsoft Entra 多重身份驗證。 這些群組會用在您的宣告規則中。

請勿再利用保障安全用途的群組。 如果您使用安全性群組來保護具有條件式存取原則的高價值應用程式群組,請勿將該群組用於其他目的。

準備 AD FS

將 AD FS 伺服器陣列升級至 2019、FBL 4

在 AD FS 2019 中,您可以為信賴憑證者 (例如應用程式) 指定其他驗證方法。 您可以使用群組成員資格來決定驗證提供者。 透過指定額外的認證方式,您可以轉換至 Microsoft Entra 多重身份驗證,同時保留其他認證功能。 欲了解更多資訊,請參閱 使用 WID 資料庫升級至 Windows Server 2016 的 AD FS。 本文討論如何將您的伺服器陣列升級至 AD FS 2019,並將您的 FBL 升級至 4。

配置聲明規則以調用 Microsoft Entra 多重身份驗證

現在 Microsoft Entra 多重認證成為另一種認證方式,你可以指派使用者群組使用。 您可以藉由設定宣告規則 (也稱為信賴方信任關係) 來執行這項操作。 藉由使用群組,您可以控制要全域或透過應用程式呼叫哪些驗證提供者。 例如,你可以呼叫 Microsoft Entra 多重驗證,針對已註冊合併安全資訊的用戶,而未註冊的用戶則呼叫 MFA Server。

注意

宣告規則需要內部部署安全性群組。 在對宣告規則進行變更之前,請務必先備份它們。

備份規則

設定新的宣告規則之前,請先備份您的規則。 您在執行清除步驟時將需還原這些規則。

視您的設定而定,您可能也需要複製此規則,並附加為移轉建立的新規則。

若要檢視全域規則,請執行:

Get-AdfsAdditionalAuthenticationRule

若要檢視信賴方信任關係,請執行下列命令,並將 RPTrustName 替換為信賴方信任宣告規則的名稱:

(Get-AdfsRelyingPartyTrust -Name "RPTrustName").AdditionalAuthenticationRules 

存取控制原則

注意

存取控制原則無法設定成根據群組成員資格來叫用特定驗證提供者。

若要從存取控制原則轉換為其他驗證規則,請使用 MFA 伺服器驗證提供者,針對每個信賴憑證者信任執行下列命令:

Set-AdfsRelyingPartyTrust -TargetName AppA -AccessControlPolicyName $Null

此指令會將邏輯從您目前的 存取控制 Policy 移至 Additional Authentication Rules。

設定群組,並尋找 SID

你需要有一個特定的群組,將想要啟用 Microsoft Entra 多重身份驗證的使用者放入該群組。 您會需要該群組的安全性識別碼 (SID)。

若要尋找群組 SID,請使用下列命令,並提供您的群組名稱

Get-ADGroup "GroupName"

設定理賠規則以呼叫 Microsoft Entra 多重身份驗證

以下 PowerShell 指令小程式在不在企業網路時,會為群組內使用者啟用 Microsoft Entra 多重身份驗證。 請將 "YourGroupSid" 替換為透過執行上述 Cmdlet 找到的 SID。

請務必檢閱如何在 2019 中選擇其他驗證提供者

重要

備份您的身份認證規則

設定全域宣告規則

執行下列 PowerShell cmdlet:

(Get-AdfsRelyingPartyTrust -Name "RPTrustName").AdditionalAuthenticationRules

此命令會傳回您信賴方信任的目前額外驗證規則。 將以下規則新增至您現有的聲明規則中:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

下列範例假設您目前的聲明規則已設定為在使用者從您的網路外部連線時提示用戶進行多因素驗證。 此範例包含您需要附加的其他規則。

Set-AdfsAdditionalAuthenticationRule -AdditionalAuthenticationRules 'c:[type == 
"http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type = 
"http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = 
"http://schemas.microsoft.com/claims/multipleauthn" );
 c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

設定每個應用程式的權利要求規則

此範例會修改特定信任的信賴方 (應用程式) 的宣告規則,並包含您必須附加的內容。

Set-AdfsRelyingPartyTrust -TargetName AppA -AdditionalAuthenticationRules 'c:[type == 
"http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type = 
"http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = 
"http://schemas.microsoft.com/claims/multipleauthn" );
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

在 AD FS 中將 Microsoft Entra 多重身份驗證設定為認證提供者

要為 AD FS 設定 Microsoft Entra 多重認證,您必須設定每台 AD FS 伺服器。 如果你的農場裡有多台 AD FS 伺服器,你可以用 Microsoft Entra PowerShell 遠端設定它們。

關於此流程的逐步說明,請參閱文章Configure Microsoft Entra multifactor authentication as authentication provider with AD FS中的Configure the AD FS servers

一旦你設定好伺服器,就可以新增 Microsoft Entra 多重身份驗證作為額外的認證方式。

螢幕擷取畫面顯示「編輯驗證方法」螢幕,其中已選擇 Microsoft Entra 多因素驗證和 Azure 多因素驗證伺服器

準備 Microsoft Entra ID 並實作遷移

本節涵蓋移轉使用者 MFA 設定之前的最終步驟。

將 federatedIdpMfaBehavior 設定為 enforceMfaByFederatedIdp

對於聯邦網域,MFA 可能由 Microsoft Entra 條件式存取 或本地聯邦供應商強制執行。 每個聯邦網域Microsoft Graph都有一個名為 federatedIdpMfaBehavior 的 PowerShell 安全設定。 你可以將 federatedIdpMfaBehavior設為 enforceMfaByFederatedIdp,這樣Microsoft Entra ID 會接受由聯邦身份提供者執行的多重驗證(MFA)。 若聯邦身份提供者未執行多重驗證,Microsoft Entra ID 會將請求導向聯邦身份提供者執行多重驗證。 如需詳細資訊,請參閱 federatedIdpMfaBehavior

注意

federatedIdpMfaBehavior 設定是 New-MgDomainFederationConfiguration Cmdlet 的 SupportsMfa 屬性新版本。

對於設定 SupportsMfa 屬性的網域,這些規則會決定 federatedIdpMfaBehaviorSupportsMfa 如何一起運作:

  • 不支援在 federatedIdpMfaBehaviorSupportsMfa 之間切換。
  • 一旦設定 federatedIdpMfaBehavior 屬性,Microsoft Entra ID 會忽略 SupportsMfa 設定。
  • 如果 federatedIdpMfaBehavior 屬性從未設定,Microsoft Entra ID 仍會維持 SupportsMfa 設定。
  • 如果 FederatedIdpMfaBehaviorSupportsMfa 未設定,Microsoft Entra ID 會預設為 acceptIfMfaDoneByFederatedIdp 行為。

您可以使用 Get-MgDomainFederationConfiguration 來檢查 federatedIdpMfaBehavior 的狀態。

Get-MgDomainFederationConfiguration –DomainID yourdomain.com

您也可以使用 Get-MgDomainFederationConfiguration 來檢查 SupportsMfa 旗標的狀態:

Get-MgDomainFederationConfiguration –DomainName yourdomain.com

下列範例顯示如何使用 Graph PowerShell 將 federatedIdpMfaBehavior 設定為 enforceMfaByFederatedIdp

請求

PATCH https://graph.microsoft.com/beta/domains/contoso.com/federationConfiguration/6601d14b-d113-8f64-fda2-9b5ddda18ecc
Content-Type: application/json
{
  "federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}

回應

注意:為了方便閱讀,此處顯示的回應物件可能會縮短。

HTTP/1.1 200 OK
Content-Type: application/json
{
  "@odata.type": "#microsoft.graph.internalDomainFederation",
  "id": "6601d14b-d113-8f64-fda2-9b5ddda18ecc",
   "issuerUri": "http://contoso.com/adfs/services/trust",
   "metadataExchangeUri": "https://sts.contoso.com/adfs/services/trust/mex",
   "signingCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
   "passiveSignInUri": "https://sts.contoso.com/adfs/ls",
   "preferredAuthenticationProtocol": "wsFed",
   "activeSignInUri": "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
   "signOutUri": "https://sts.contoso.com/adfs/ls",
   "promptLoginBehavior": "nativeSupport",
   "isSignedAuthenticationRequestRequired": true,
   "nextSigningCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
   "signingCertificateUpdateStatus": {
        "certificateUpdateResult": "Success",
        "lastRunDateTime": "2021-08-25T07:44:46.2616778Z"
    },
   "federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}

視需要設定條件式存取原則

如果您使用條件式存取來決定何時會提示使用者進行 MFA,則應該不需要變更您的原則。

如果你的聯邦網域 SupportsMfa 設定為 false,請分析你在 Microsoft Entra ID 依賴方信任上的權利主張規則,並建立支持相同安全目標的條件存取政策。

建立條件存取政策以執行與 AD FS 相同的控制後,你可以備份並移除 Microsoft Entra ID 依賴方的索賠規則自訂。

如需詳細資訊,請參閱以下資源:

註冊用戶以進行 Microsoft Entra 多重驗證

本節介紹使用者如何註冊合併安全性 (MFA 和自助式密碼重設),以及如何移轉其 MFA 設定。 Microsoft Authenticator 可作為無密碼模式使用。 此外也可在任一註冊方法中作為 MFA 的第二個要素。

建議讓您的使用者註冊合併安全性資訊,這是為 MFA 和 SSPR 註冊其驗證方法和裝置的單一位置。

Microsoft 提供溝通範本,您可以提供給使用者,協助他們完成合併註冊流程。 其中包括電子郵件範本、海報範本、桌上型立牌範本和各種其他視覺資產的範本。 使用者會在 https://aka.ms/mysecurityinfo 註冊其資訊,這會將其帶往合併安全性註冊畫面。

建議您使用條件式存取來保護安全性註冊程序,以要求從信任的裝置或位置進行註冊。 有關註冊狀態追蹤的資訊,請參見 Microsoft Entra ID 的驗證方法活動

注意

如果使用者必須從非信任的位置或裝置註冊合併安全性資訊,可以對其發行臨時存取密碼或暫時將其從原則中排除。

從 MFA 伺服器移轉 MFA 設定

您可以使用 MFA Server Migration 工具,將使用者已註冊的 MFA 設定從 MFA 伺服器同步到 Microsoft Entra ID。 你可以同步電話號碼、硬體令牌和裝置註冊,例如 Microsoft Authenticator 設定。

將使用者新增至適當的群組

  • 如果您已建立新的條件式存取原則,請將適當的使用者新增至這些群組。

  • 如果您為宣告規則建立了內部部署安全性群組,請將適當的使用者新增至這些群組。

我們不建議您重複使用用於安全性的群組。 如果您使用安全性群組來保護具有條件式存取原則的高價值應用程式群組,請勿將該群組用於其他目的。

監視

Microsoft Entra多重驗證註冊可透過認證方法使用與洞察報告監控。 此報告可在 Microsoft Entra ID 中找到。 選取 [監視],然後選取 [使用方式與深入解析]

在 [使用方式與深入解析] 中,選取 [驗證方法]

詳細的 Microsoft Entra 多重驗證註冊資訊可在註冊標籤中找到。您可以向下延伸查看註冊用戶名單,方法是選擇Users,支援Azure多重驗證超連結。

驗證方法活動畫面的圖像,顯示使用者註冊多因素驗證

清除步驟

完成遷移至 Microsoft Entra 多重驗證並準備停用 MFA 伺服器後,請執行以下三件事:

  1. 將 AD FS 的宣告規則還原為其遷移前的設定,並移除 MFA 伺服器的驗證提供者。

  2. 移除在 AD FS 中作為驗證提供者的 MFA 伺服器。 這將確保所有使用者使用 Microsoft Entra 多重驗證,因為這是唯一啟用的額外認證方式。

  3. 停用 MFA 伺服器。

還原 AD FS 上的宣告規則,並移除 MFA 伺服器驗證提供者

請依照「設定理賠規則」下的步驟,啟動 Microsoft Entra 多重驗證,回復到備份的理賠規則,並移除所有 AzureMFAServerAuthentication 理賠規則。

例如,從規則中移除下列內容:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value ==
"**YourGroupSID**"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders",
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
Value=="YourGroupSid"]) => issue(Type =
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value =
"AzureMfaServerAuthentication");'

停用在 AD FS 中作為驗證提供者的 MFA 伺服器

此變更確保僅使用 Microsoft Entra 多重身份驗證作為認證提供者。

  1. 開啟 AD FS 管理主控台

  2. 在 [服務] 底下,以滑鼠右鍵按一下 [驗證方法],然後選取 [編輯多重要素驗證方法]

  3. 取消勾選Azure多重身份驗證伺服器旁的選項。

停止使用 MFA 伺服器

依照您的企業伺服器停用流程,移除您環境中的多重驗證伺服器。

退役 MFA 伺服器時可能的考量因素包括:

  • 檢閱 MFA 伺服器記錄,確保沒有任何使用者或應用程式正在使用此伺服器,再將其移除。

  • 從伺服器的控制面板中卸載多重驗證伺服器

  • 選擇性地先清除備份之後遺留的記錄和資料目錄。

  • 如果適用的話,請卸載多因素認證 Web 伺服器 SDK,包括任何留在 inetpub\wwwroot\MultiFactorAuthWebServiceSdk 和 MultiFactorAuth 目錄的檔案。

  • 對於 8.0 之前的 MFA 伺服器版本,可能也需要移除多重要素驗證電話應用程式 Web 服務

後續步驟