在 Azure Active Directory B2C 中啟用多重要素驗證

開始之前,使用 [選擇原則類型] 選取器來選擇您要設定的原則類型。 Azure Active Directory B2C 提供兩種方法來定義使用者如何與您的應用程式互動:透過預先定義的使用者流程,或透過完全可設定的自訂原則。 此文章中所需的步驟隨各方法而異。

Azure Active Directory B2C (Azure AD B2C) 可直接與 Azure AD Multi-Factor Authentication 整合,讓您能夠為應用程式中的註冊與登入體驗新增第二層安全性。 您不需要撰寫任何程式碼,即可啟用多重要素驗證。 如果您已經建立註冊和登入使用者流程,則仍然可以啟用多重要素驗證。

此功能可協助應用程式處理下列這類案例:

  • 您在存取某個應用程式時不需要多重要素驗證,但在存取另一個應用程式時則需要。 例如,客戶可以使用社交或本機帳戶登入汽車保險應用程式,但必須先驗證電話號碼,才能存取同個目錄中註冊的家庭保險應用程式。
  • 一般而言,您在存取應用程式時不需要多重要素驗證,但在存取其中的敏感部分資訊時則需要。 例如,客戶可以使用社交或本機帳戶登入銀行應用程式來檢查帳戶餘額,但必須先完成電話號碼驗證,才能嘗試進行轉帳匯款作業。

必要條件

驗證方法

使用條件式存取,根據您以管理員身分所做出的設定決策,使用者不一定會通過 MFA。 多重要素驗證的方法為:

  • 電子郵件 - 登入期間,會將包含單次密碼 (OTP) 的驗證電子郵件傳送給使用者。 使用者提供已在電子郵件中傳送的 OTP 代碼。
  • SMS 或通話 - 在第一次註冊或登入期間,系統會要求使用者提供並驗證電話號碼。 在後續登入期間,系統會提示使用者選取 [傳送驗證碼] 或 [打電話給我] 電話 MFA 選項。 根據使用者的選擇,會傳送文字簡訊,或撥打經過驗證的電話號碼,以識別使用者。 使用者可提供透過文字簡訊傳送的 OTP 代碼,或核准通話。
  • 僅限通話 - 運作方式與 SMS 或通話選項相同,但只會撥打電話。
  • 僅限 SMS - 運作方式與 SMS 或通話選項相同,但只會傳送文字簡訊。
  • 應用程式 - TOTP - 使用者必須安裝驗證器應用程式,而此應用程式在使用者所擁有的裝置上支援限時單次密碼 (TOTP) 驗證,例如 Microsoft Authenticator 應用程式。 在第一次註冊或登入期間,使用者會使用驗證器應用程式來掃描 QR 代碼或手動輸入代碼。 在後續登入期間,使用者會輸入出現在驗證器應用程式上的 TOTP 代碼。 請參閱如何設定 Microsoft Authenticator 應用程式

重要

[Authenticator 應用程式 - TOTP] 提供比 [SMS/電話] 更強的安全性,電子郵件則最不安全。 SMS/電話型多重要素驗證產生與標準 Azure AD B2C MAU 定價模式不同的費用

設定多重要素驗證

  1. 登入 Azure 入口網站

  2. 確定您使用的目錄包含您的 Azure AD B2C 租用戶。 選取入口網站工具列中的目錄 + 訂閱圖示。

  3. 在 [入口網站設定] | [目錄 + 訂用帳戶] 頁面上,在 [目錄名稱] 清單中尋找您的 Azure AD B2C 目錄,然後選取 [切換]。

  4. 在左側功能表中,選取 [Azure AD B2C]。 或者,選取 [所有服務],然後搜尋並選取 [Azure AD B2C]。

  5. 選取 [使用者流程]

  6. 選取您想要啟用 MFA 的使用者流程。 例如,B2C_1_signinsignup

  7. 選取 [屬性] 。

  8. 在 [多重要素驗證] 區段中,選取所需的 [方法類型]。 然後,在 [MFA 強制執行] 底下,選取選項:

    • 關閉 - 不會在登入期間強制執行 MFA,而且系統不會提示使用者在註冊或登入期間於 MFA 中註冊。

    • 一律開啟 - 不論您的條件式存取設定為何,一律都需要 MFA。 在註冊期間,使用者會收到以 MFA 註冊的提示。 在登入期間,如果使用者尚未以 MFA 註冊,則會收到註冊的提示。

    • 條件式 - 在註冊和登入期間,使用者會收到以 MFA 註冊的提示 (未以 MFA 註冊的新和現有使用者)。 在登入期間,僅在作用中條件式存取原則評估需要 MFA 時,才會強制執行 MFA:

      • 如果結果為沒有風險的 MFA 認證,則會強制執行 MFA。 如果使用者尚未以 MFA 註冊,則會收到註冊的提示。
      • 如果結果為因風險所導致的 MFA 認證使用者未以 MFA 註冊,則會封鎖登入。

    注意

    • 在 Azure AD B2C 的條件式存取正式運作後,使用者現在會於註冊期間收到以 MFA 方法註冊的提示。 您在正式發行之前建立的任何註冊使用者流程都不會自動反映這個新的行為,但您可以建立新的使用者流程來包含該行為。
    • 如果您選取 [條件式],則也需要將條件式存取新增至使用者流程,並指定您想要套用原則的應用程式。
    • 針對註冊使用者流程,預設會停用多重要素驗證 (MFA)。 您可以使用電話註冊在使用者流程中啟用 MFA,但因為使用電話號碼作為主要識別碼,所以電子郵件一次性密碼是第二個驗證因素唯一可用的選項。
  9. 選取 [儲存]。 現在,已針對此使用者流程啟用 MFA。

您可以使用 [執行使用者流程] 來驗證體驗。 請確認下列狀況:

在進行多重要素驗證步驟之前,已在租用戶中建立客戶帳戶。 在步驟執行過程中,系統會要求客戶提供電話號碼進行驗證。 若驗證成功,會將電話號碼附加至帳戶以供之後使用。 即使客戶取消或卸除,系統可能還是會在下次登入時要求客戶再度驗證電話號碼 (已啟用多重要素驗證)。

若要啟用多重要素驗證,請從 GitHub 取得自訂原則入門套件,如下所示:

  • 下載 .zip 檔案,或從 https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack 中複製存放庫,然後使用您的 Azure AD B2C 租用戶名稱來更新 SocialAndLocalAccountsWithMFA 入門套件中的 XML 檔案。 SocialAndLocalAccountsWithMFA 可啟用社交和本機登入選項,以及多重要素驗證選項,但 [Authenticator 應用程式 - TOTP] 選項除外。
  • 若要支援 [Authenticator 應用程式 - TOTP] MFA 選項,請從 https://github.com/azure-ad-b2c/samples/tree/master/policies/totp 下載自訂原則檔案,然後使用您的 Azure AD B2C 租用戶名稱來更新 XML 檔案。 請務必包含 SocialAndLocalAccounts 入門套件中的 TrustFrameworkExtensions.xmlTrustFrameworkLocalization.xmlTrustFrameworkBase.xml XML 檔案。
  • 將您的 [頁面配置] 更新為 2.1.14 版。 如需詳細資訊,請參閱選取頁面配置

使用驗證器應用程式在 TOTP 中註冊使用者 (針對終端使用者)

Azure AD B2C 應用程式使用 TOTP 選項啟用 MFA 時,終端使用者需要使用驗證器應用程式來產生 TOTP 代碼。 使用者可以使用 Microsoft Authenticator 應用程式或任何其他支援 TOTP 驗證的驗證器應用程式。 Azure AD B2C 系統管理員需要使用下列步驟來通知終端使用者設定 Microsoft Authenticator 應用程式:

  1. 在 Android 或 iOS 行動裝置上下載並安裝 Microsoft Authenticator 應用程式
  2. 開啟需要您將 TOTP 用於 MFA 的應用程式 (例如 Contoso webapp),然後輸入必要資訊來登入或註冊。
  3. 如果系統要求您使用驗證器應用程式來掃描 QR 代碼以註冊您的帳戶,則請在您的電話中開啟 Microsoft Authenticator 應用程式,然後選取右上角的 3 點功能表圖示 (適用於 Android) 或 + 功能表圖示 (適用於 IOS)。
  4. 選取 [+ 新增帳戶]。
  5. 選取 [其他帳戶 (Google、Facebook 等)],然後掃描應用程式 (例如 Contoso webapp) 中顯示的 QR 代碼來註冊您的帳戶。 如果您無法掃描 QR 代碼,則可以手動新增帳戶:
    1. 在電話的 Microsoft Authenticator 應用程式中,選取 [或手動輸入代碼]。
    2. 在應用程式 (例如 Contoso webapp) 中,選取 [仍然有問題嗎?]。 這會顯示 [帳戶名稱] 和 [祕密]。
    3. 在 Microsoft Authenticator 應用程式中輸入 [帳戶名稱]和 [祕密],然後選取 [完成]。
  6. 在應用程式 (例如 Contoso webapp) 中,選取 [繼續]。
  7. 在 [輸入您的代碼] 中,輸入 Microsoft Authenticator 應用程式中出現的代碼。
  8. 選取 [驗證]。
  9. 在應用程式後續登入期間,輸入 Microsoft Authenticator 應用程式中出現的代碼。

了解 OATH 軟體權杖

刪除使用者的 TOTP 驗證器註冊 (針對系統管理員)

在 Azure AD B2C 中,您可以刪除使用者的 TOTP 驗證器應用程式註冊。 然後,使用者需要重新註冊自己的帳戶,才能再次使用 TOTP 驗證。 若要刪除使用者的 TOTP 註冊,您可以使用 Azure 入口網站Microsoft Graph API

注意

  • 從 Azure AD B2C 刪除使用者的 TOTP 驗證器應用程式註冊,並不會在 TOTP 驗證器應用程式中移除使用者的帳戶。 系統管理員需要指示使用者先從 TOTP 驗證器應用程式手動刪除其帳戶,再重試註冊。
  • 如果使用者從 TOTP 驗證器應用程式意外刪除自己的帳戶,則需要通知可從 Azure AD B2C 刪除使用者 TOTP 驗證器註冊的系統管理員或應用程式擁有者,讓使用者可以重新註冊。

使用 Azure 入口網站刪除 TOTP 驗證器應用程式註冊

  1. 登入 Azure 入口網站
  2. 確定您使用的目錄包含您的 Azure AD B2C 租用戶。 選取入口網站工具列中的目錄 + 訂閱圖示。
  3. 在 [入口網站設定] | [目錄 + 訂用帳戶] 頁面上,在 [目錄名稱] 清單中尋找您的 Azure AD B2C 目錄,然後選取 [切換]。
  4. 在左側功能表中,選取 [使用者]。
  5. 搜尋並選取您想要刪除其 TOTP 驗證器應用程式註冊的使用者。
  6. 在左側功能表中,選取 [驗證方法]。
  7. 在 [可用的驗證方法] 底下,尋找 [軟體 OATH 權杖],然後選取它旁邊的省略符號功能表功能表。 如果您看不到這個介面,則請選取 [切換至新的使用者驗證方法體驗!請按一下這裡,立即使用它] 選項來切換至新的驗證方法體驗。
  8. 選取 [刪除],然後選取 [是] 以確認。

使用者驗證方法

使用 Microsoft Graph API 刪除 TOTP 驗證器應用程式註冊

了解如何使用 Microsoft Graph API 來刪除使用者的軟體 OATH 權杖驗證方法