使用同盟移轉至Microsoft Entra多重要素驗證

將多重要素驗證 (MFA) 解決方案移至Microsoft Entra識別碼,是雲端旅程中的絕佳第一步。 也請考慮在未來移至Microsoft Entra識別碼以進行使用者驗證。 如需詳細資訊,請參閱使用雲端驗證移轉至Microsoft Entra多重要素驗證的程式。

若要移轉至與同盟Microsoft Entra多重要素驗證,MICROSOFT ENTRA多重要素驗證驗證提供者會安裝在 AD FS 上。 Microsoft Entra識別碼信賴憑證者信任和其他信賴憑證者信任會設定為針對已移轉的使用者使用 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

此命令會將您目前存取控制原則中的邏輯移轉至其他驗證規則。

設定群組,並尋找 SID

您必須有一個特定群組,您會在其中放置想要叫用Microsoft Entra多重要素驗證的使用者。 您會需要該群組的安全性識別碼 (SID)。

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

Get-ADGroup "GroupName"

螢幕擷取畫面:顯示 Get-ADGroup 指令碼的結果。

將宣告規則設定為呼叫Microsoft Entra多重要素驗證

下列 PowerShell Cmdlet 會在不在公司網路上時,為群組中的使用者叫用 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");'

下列範例假設您目前的宣告規則已設定為在使用者從您的網路外部連線時提示進行 MFA。 此範例包含您需要附加的其他規則。

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");'

將Microsoft Entra多重要素驗證設定為 AD FS 中的驗證提供者

若要為 AD FS 設定Microsoft Entra多重要素驗證,您必須設定每個 AD FS 伺服器。 如果您的伺服器陣列中有多個 AD FS 伺服器,您可以使用 Azure AD PowerShell 從遠端進行設定。

如需此程式的逐步指示,請參閱使用AD FS 將多重要素驗證設定為驗證提供者 Microsoft Entra一文中的設定AD FS 伺服器

設定伺服器之後,您可以將Microsoft Entra多重要素驗證新增為額外的驗證方法。

顯示 [編輯驗證方法] 畫面的螢幕擷取畫面,其中已選取 [Microsoft Entra多重要素驗證和 Azure 多重要素驗證服務器]

準備Microsoft Entra識別碼並實作移轉

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

將 federatedIdpMfaBehavior 設定為 enforceMfaByFederatedIdp

針對同盟網域,MFA 可由Microsoft Entra條件式存取或內部部署同盟提供者強制執行。 每個同盟網域都會有一個名為 federatedIdpMfaBehavior 的 Microsoft Graph PowerShell 安全性設定。 您可以將federatedIdpMfaBehavior設定為 enforceMfaByFederatedIdp ,以便Microsoft Entra識別碼接受由同盟識別提供者執行的 MFA。 如果同盟識別提供者未執行 MFA,Microsoft Entra識別碼會將要求重新導向至同盟識別提供者以執行 MFA。 如需詳細資訊,請參閱 federatedIdpMfaBehavior

注意

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

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

  • 不支援在 federatedIdpMfaBehaviorSupportsMfa 之間切換。
  • 設定federatedIdpMfaBehavior屬性之後,Microsoft Entra識別碼會忽略SupportsMfa設定。
  • 如果未設定federatedIdpMfaBehavior屬性,Microsoft Entra識別碼會繼續接受SupportsMfa設定。
  • 如果未設定federatedIdpMfaBehaviorSupportsMfa,Microsoft Entra識別碼預設為 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": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
   "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": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
   "signingCertificateUpdateStatus": {
        "certificateUpdateResult": "Success",
        "lastRunDateTime": "2021-08-25T07:44:46.2616778Z"
    },
   "federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}

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

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

如果您的同盟網域 () SupportsMfa 設為 false,請分析Microsoft Entra識別碼信賴憑證者信任的宣告規則,並建立支援相同安全性目標的條件式存取原則。

建立條件式存取原則來強制執行與 AD FS 相同的控制項之後,您可以在Microsoft Entra識別碼信賴憑證者上備份和移除宣告規則自訂。

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

註冊使用者以進行多重要素驗證Microsoft Entra

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

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

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

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

注意

必須從非信任位置或裝置註冊其合併安全性資訊的使用者,可以發出暫時存取傳遞,或暫時從原則中排除。

從 MFA 伺服器移轉 MFA 設定

您可以使用MFA Server 移轉公用程式,將已註冊的 MFA 設定從 MFA Server 同步處理至Microsoft Entra識別碼。 您可以同步電話號碼、硬體權杖和裝置註冊,例如 Microsoft Authenticator 設定。

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

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

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

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

監控

Microsoft Entra多重要素驗證註冊可以使用驗證方法使用 & 方式深入解析報告進行監視。 您可以在Microsoft Entra識別碼中找到此報告。 選取 [監視],然後選取 [使用方式與見解]。

在 [使用方式與見解] 中,選取 [驗證方法]。

您可以在 [註冊] 索引標籤中找到詳細的Microsoft Entra多重要素驗證註冊資訊。您可以藉由選取能夠使用 Azure 多重要素驗證超連結的使用者,向下切入以檢視已註冊的使用者清單。

驗證方法活動的螢幕擷取畫面,顯示使用者註冊 MFA

清除步驟

完成移轉至Microsoft Entra多重要素驗證並準備好解除委任 MFA Server 之後,請執行下列三件事:

  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 伺服器時的可能考量包括:

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

  • 從伺服器上的主控台卸載多重要素驗證服務器

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

  • 如果適用,請卸載多重要素驗證 Web Server SDK,包括 etpub\wwwroot\MultiFactorAuthWebServiceSdk 和 或 MultiFactorAuth 目錄中剩餘的任何檔案

  • 若為 8.0 之前的 MFA Server 版本,也可能需要移除多重要素驗證 Phone App Web Service

後續步驟