Azure Active Directory B2C 的技術和功能概觀

本文與關於 Azure Active Directory B2C 搭配,可提供更深入的服務介紹。 這裡討論的是您在服務中使用的主要資源,也就是其功能。 了解這些功能如何讓您在應用程式中為客戶提供完整的自訂身分識別體驗。

Azure AD B2C 租用戶

在 Azure Active Directory B2C (Azure AD B2C) 中,「租用戶」代表您的組織,而實際上是一個使用者目錄。 每個 Azure AD B2C 租用戶都不相同,並與其他 Azure AD B2C 租用戶分開。 Azure AD B2C 租使用者與您可能已經擁有的Microsoft Entra租使用者不同。

您在 Azure AD B2C 租用戶中使用的主要資源包括:

  • 目錄 - 目錄是 Azure AD B2C 儲存使用者認證和設定檔資料,以及您的應用程式註冊的位置。
  • 應用程式註冊 - 向 Azure AD B2C 註冊 Web、行動和原生應用程式,以啟用身分識別管理。 您也可以使用 Azure AD B2C 來註冊您要保護的任何 API。
  • 使用者流程自訂原則 - 使用內建使用者流程以及可完全自訂的自訂原則,建立應用程式的身分識別體驗。
    • 使用者流程可協助您快速啟用常見的身分識別工作,例如註冊、登入和設定檔編輯。
    • 自訂原則可讓您建立專屬於組織、客戶、員工、合作夥伴和公民的複雜身分識別工作流程。
  • 登入選項 - Azure AD B2C 為您的應用程式使用者提供各種註冊和登入選項
    • 使用者名稱、電子郵件和手機登入 - 設定您的 Azure AD B2C 本機帳戶,以允許使用使用者名稱、電子郵件地址、電話號碼或方法組合來進行註冊和登入。
    • 社交身分識別提供者 -與 Facebook、LinkedIn 或 Twitter 等社交提供者同盟。
    • 外部身分識別提供者 - 與 OAuth 2.0、OpenID Connect 等標準身分識別通訊協定同盟。
  • 金鑰 - 新增及管理用於簽署和驗證權杖、用戶端密碼、憑證和密碼的加密金鑰。

Azure AD B2C 租用戶是開始使用 Azure AD B2C 所需建立的第一個資源。 了解如何:

Azure AD B2C 中的帳戶

Azure AD B2C 定義數種類型的使用者帳戶。 Microsoft Entra識別碼、Microsoft Entra B2B 和 Azure Active Directory B2C 共用這些帳戶類型。

  • 公司帳戶 - 具有公司帳戶的使用者可管理租用戶中的資源,而具有系統管理員角色的使用者也可管理租用戶。 具有工作帳戶的使用者可以建立新的取用者帳戶、重設密碼、封鎖/解除封鎖帳戶,以及設定權限或將帳戶指派給安全性群組。
  • 來賓帳戶- 您邀請以來賓身分使用租用戶的外部使用者。 將來賓使用者邀請到 Azure AD B2C 租用戶的典型案例是為了分擔管理責任。
  • 取用者帳戶 - 受 Azure AD B2C 使用者流程和自訂原則管理的帳戶。

Azure 入口網站中 Azure AD B2C 使用者管理頁面的螢幕擷取畫面。
圖:Azure 入口網站中 Azure AD B2C 租使用者內的使用者目錄。

取用者帳戶

使用「取用者」帳戶,使用者可以登入您使用 Azure AD B2C 保護的應用程式。 不過,具有取用者帳戶的使用者無法存取 Azure 資源,例如 Azure 入口網站。

取用者帳戶可與下列身分識別類型產生關聯:

  • 本機身分識別,其使用者名稱和密碼儲存在本機的 Azure AD B2C 目錄中。 我們通常會將這些身分識別稱為「本機帳戶」。
  • 社交企業身分識別,其中使用者的身分識別是由同盟識別提供者所管理。 例如,Facebook、Google、Microsoft、ADFS 或 Salesforce。

具有取用者帳戶的使用者可以使用多個身分識別登入。 例如,使用者名稱、電子郵件、員工識別碼、政府識別碼等。 單一帳戶可以有多個身分識別,包括本機和社交。

取用者帳戶身分識別。
圖:Azure AD B2C 中具有多個身分識別的單一取用者帳戶

如需詳細資訊,請參閱 Azure Active Directory B2C 中的使用者帳戶概觀

本機帳戶登入選項

Azure AD B2C 提供各種方式,讓您能夠驗證使用者。 使用者可以登入本機帳戶,方法是透過使用者名稱和密碼,以及電話驗證 (也稱為無密碼驗證)。 依預設會在您的本機帳戶識別提供者設定中啟用電子郵件註冊。

深入了解登入選項,或如何設定本機帳戶識別提供者

使用者設定檔屬性

Azure AD B2C 可讓您管理取用者帳戶設定檔的常見屬性。 例如,顯示名稱、姓氏、名字、城市及其他項目。

您也可以擴充Microsoft Entra架構,以儲存使用者的其他資訊。 例如,其國家/區域或住所、慣用語言和喜好設定,包括是否想要訂閱電子報或啟用多重要素驗證。 如需詳細資訊,請參閱

使用外部識別提供者登入

您可以設定 Azure AD B2C,允許使用者透過來自社交和企業識別提供者的認證來登入應用程式。 Azure AD B2C 可以與支援 OAuth 1、OAuth 2.0、OpenID Connect 和 SAML 通訊協定的識別提供者同盟。 例如,Facebook、Microsoft 帳戶、Google、Twitter 和 AD FS。

此圖顯示外部識別提供者範例的公司標誌。

透過外部身分識別提供者,您可以讓取用者能夠使用其現有的社交或企業帳戶登入,而不需要為您的應用程式建立新的帳戶。

在註冊或登入頁面上,Azure AD B2C 會顯示使用者可選擇用於登入的外部識別提供者清單。 一旦他們選取其中一個外部識別提供者,就會重新導向至選取的提供者網站,以完成登入程式。 使用者成功登入之後,便會回到 Azure AD B2C,以在您的應用程式中驗證帳戶。

此圖顯示具有社交帳戶的行動登入範例, (Facebook) 。

若要了解如何在 Azure AD B2C 中新增識別提供者,請參閱教學課程:在 Azure Active Directory B2C 中將識別提供者新增至您的應用程式

身分識別體驗:使用者流程或自訂原則

在 Azure AD B2C 中,您可以定義使用者遵循以取得應用程式存取權的商務邏輯。 例如,您可以判斷使用者登入、註冊、編輯設定檔或重設密碼時,所遵循的步驟順序。 完成順序之後,使用者會取得權杖,並取得您應用程式的存取權。

在 Azure AD B2C 中,有兩種方式可以提供身分識別使用者體驗:

  • 使用者流程是預先定義的內建、可設定原則,可讓您在短短幾分鐘內建立註冊、登入和原則編輯體驗。

  • 自訂原則可讓您建立自己的使用者旅程圖,以進行複雜的身分識別體驗案例。

下列螢幕擷取畫面顯示使用者流程設定 UI 和自訂原則設定檔。

顯示使用者流程設定 UI 與自訂原則組態檔的螢幕擷取畫面。

閱讀使用者流程和自訂原則概觀文章。 其中概述使用者流程和自訂原則,並協助您決定最適合您業務需求的方法。

使用者介面

在 Azure AD B2C 中,您可以製作使用者的身分識別體驗,讓顯示的頁面與品牌的外觀和風格順暢地混合。 當使用者繼續進行應用程式的身分識別旅程時,您幾乎可完全掌控向使用者呈現的 HTML 和 CSS 內容。 利用此彈性,您可以維護應用程式與 Azure AD B2C 之間的品牌和視覺一致性。

注意

使用社交帳戶時,自訂協力廠商轉譯的頁面僅限於該識別提供者所提供的選項,而且不在 Azure AD B2C 的控制之外。

如需 UI 自訂的詳細資訊,請參閱:

自訂網域

您可以在應用程式的重新導向 URI 中自訂 Azure AD B2C 網域。 自訂網域可讓您建立順暢的體驗,讓顯示的頁面與您應用程式的網域名稱緊密地結合。 從使用者的觀點來看,他們在登入過程中會停留在您的網域,而不重新導向 Azure AD B2C 預設網域 .b2clogin.com。

如需詳細資訊,請參閱啟用自訂網域

當地語系化

Azure AD B2C 中的語言自訂可讓您適應不同的語言,以符合您客戶的需求。 Microsoft 提供 36 種語言的翻譯,但您也可以針對任何語言提供自己的翻譯。

三個登入頁面的螢幕擷取畫面,其中顯示不同語言的 UI 文字。

若要了解當地語系化的運作方式,請參閱 Azure Active Directory B2C 中的語言自訂

電子郵件驗證

Azure AD B2C 可透過要求取用者在註冊及密碼重設流程期間驗證其身分以確保電子郵件地址的有效性。 如此也可防止惡意執行者在您的應用程式中使用自動化流程產生詐騙帳戶。

顯示電子郵件驗證程式的螢幕擷取畫面。

您可以針對註冊以使用應用程式的使用者自訂電子郵件。 透過使用第三方電子郵件提供者,您可以使用自己的電子郵件範本和寄件者地址及主旨,並且支援當地語系化和自訂的單次密碼 (OTP) 設定。 如需詳細資訊,請參閱

新增您自己的商務邏輯並呼叫 RESTful API

您可以在使用者流程和自訂原則中,與 RESTful API 整合。 差別在於,在使用者流程中,您會在指定的位置進行呼叫,而在自訂原則中,您會將自己的商務邏輯新增至旅程圖。 這項功能可讓您從外部身分識別來源擷取及使用資料。 Azure AD B2C 可與 RESTful 服務交換資料,以進行下列動作:

  • 顯示自訂的使用者易記錯誤訊息。
  • 驗證使用者輸入,防止將格式不正確的資料保存在您的使用者目錄中。 例如,您可以修改使用者所輸入的資料,例如,如果他們以全小寫輸入其名字,則將其名字變成大寫。
  • 進一步與貴公司的特定商務應用程式整合,讓使用者資料更豐富。
  • 利用 RESTful 呼叫,您可以傳送推播通知、更新公司資料庫、執行使用者移轉程序、管理權限、稽核資料庫等等。

忠誠度方案是 Azure AD B2C 支援呼叫 REST API 而啟用的另一個案例。 例如,您的 RESTful 服務可以接收使用者的電子郵件地址、查詢客戶資料庫,然後將使用者的忠誠度號碼傳回給 Azure AD B2C。

傳回的資料可以儲存在 Azure AD B2C 的使用者目錄帳戶中。 然後,您可以在原則的後續步驟中進一步評估資料,也可以將它包括在存取權杖中。

此圖顯示行動應用程式中的企業營運整合。

您可以在自訂原則所定義之使用者旅程圖中的任何步驟新增 REST API 呼叫。 例如,您可以呼叫 REST API:

  • 在登入期間,就在 Azure AD B2C 驗證認證之前
  • 緊接在登入之後
  • Azure AD B2C 在目錄中建立新帳戶之前
  • Azure AD B2C 在目錄中建立新帳戶之後
  • Azure AD B2C 發出存取權杖之前

如需詳細資訊,請參閱在 Azure AD B2C 自訂原則中整合 REST API 宣告交換

通訊協定和權杖

  • 針對應用程式,Azure AD B2C 支援在使用者旅程圖中使用 OAuth 2.0OpenID ConnectSAML 通訊協定。 您的應用程式會向 Azure AD B2C 發出驗證要求,以起始使用者旅程圖。 提出 Azure AD B2C 的要求後會產生安全性權杖,例如識別碼權杖或存取權杖或 SAML 權杖。 此安全性權杖會定義應用程式內的使用者身分識別。

  • 針對外部身分識別,Azure AD B2C 支援與任何 OAuth 1.0、OAuth 2.0、OpenID Connect 和 SAML 身分識別提供者同盟。

下圖顯示 Azure AD B2C 如何使用相同驗證流程內的各種不同通訊協定來進行通訊:

以 OIDC 為基礎的用戶端應用程式與 SAML 型 IdP同盟的圖表 OIDC 型用戶端應用程式與 SAML 型 IdP 同盟的圖表。

  1. 信賴憑證者應用程式會使用 OpenID Connect 開始對 Azure AD B2C 的授權要求。
  2. 當應用程式的使用者選擇使用採用 SAML 通訊協定的外部識別提供者登入時,Azure AD B2C 會叫用 SAML 通訊協定來與該識別提供者進行通訊。
  3. 使用者完成使用外部識別提供者的登入作業之後,Azure AD B2C 會接著使用 OpenID Connect 將權杖傳回給信賴憑證者應用程式。

應用程式整合

當使用者想要登入您的應用程式時,應用程式會起始對使用者流程或自訂原則所提供端點的授權要求。 使用者流程或自訂原則會定義和控制使用者的體驗。 當他們完成使用者流程 (例如註冊或登入流程) 時,Azure AD B2C 會產生權杖,然後將使用者重新導向回您的應用程式。 此權杖為 Azure AD B2C 特有,請勿與使用社交帳戶時,第三方識別提供者所核發的權杖混淆。 如需如何使用第三方權杖的相關資訊,請參閱在 Azure Active Directory B2C 中將識別提供者存取權杖傳遞至您的應用程式

以箭號顯示 Azure AD B2C 登入頁面之間流程的行動應用程式。

多個應用程式可使用相同的使用者流程或自訂原則。 單一應用程式可使用多個使用者流程或自訂原則。

例如,若要登入應用程式,應用程式會使用「註冊或登入」使用者流程。 使用者登入之後,他們可以編輯其設定檔,因此應用程式會起始另一個授權要求,這次使用「設定檔編輯」使用者流程。

多重要素驗證 (MFA)

Azure AD B2C 多重要素驗證 (MFA) 有助於保護對資料與應用程式的存取,同時讓使用者能夠方便使用。 此方法藉由要求第二種形式的驗證來提供額外的安全性,並藉由提供一系列易於使用的驗證方法來提供強式驗證。

因您可以管理員身分所做的設定決定不同,使用者不一定會通過 MFA。

如需詳細資訊,請參閱 在 Azure Active Directory B2C 中啟用多重要素驗證

條件式存取

Microsoft Entra ID Protection風險偵測功能,包括具風險的使用者和有風險的登入,都會自動偵測並顯示在您的 Azure AD B2C 租使用者中。 是的,您可以建立條件式存取原則,以使用這些風險偵測來判斷補救動作並強制執行組織原則。

顯示條件式存取流程的圖表。

Azure AD B2C 評估每個登入事件,並確保在授與使用者存取權之前符合所有原則需求。 風險性使用者或登入可能遭到封鎖,或遇到因多重要素驗證 (MFA) 等特定補救措施的挑戰。 如需詳細資訊,請參閱身分識別保護和條件式存取

密碼複雜度

在註冊期間或密碼重設期間,使用者必須提供符合複雜度規則的密碼。 根據預設,Azure AD B2C 會強制執行強式密碼原則。 Azure AD B2C 也會提供設定選項,以便在客戶使用本機帳戶時指定客戶所用密碼的複雜度需求。

密碼複雜度體驗 UI 的螢幕擷取畫面。

如需詳細資訊,請參閱設定 Azure AD B2C 中的密碼複雜度需求

強制密碼重設

如果使用者忘記自己的密碼,您可以透過 Azure AD B2C 租用戶管理員的身分重設使用者的密碼。 或者,您想要強制他們定期重設密碼。 如需詳細資訊,請參閱設定強制密碼重設流程

強制密碼重設流程。

智慧帳戶鎖定

為了避免暴力密碼破解猜測嘗試,Azure AD B2C 根據要求的 IP、輸入的密碼及其他幾個因素,使用複雜的策略來鎖定帳戶。 鎖定的持續時間會根據風險和嘗試次數自動增加。

帳戶智慧鎖定螢幕擷取畫面:帳戶鎖定的 UI 螢幕擷取畫面,其中箭號醒目提示鎖定通知。

如需管理密碼保護設定的詳細資訊,請參閱減輕 Azure AD B2C 中的認證攻擊

保護資源和客戶身分識別

Azure AD B2C 符合 Microsoft Azure 信任中心中所述的安全性、隱私權和其他承諾。

工作階段會模型化為加密的資料,其解密金鑰只有 Azure AD B2C 安全性權杖服務才知道。 使用強式加密演算法 (AES-192)。 所有通訊路徑都會使用 TLS 來保護,以提供機密性和完整性。 我們的安全性權杖服務會使用 TLS 的擴充功能驗證 (EV) 憑證。 一般來說,安全性權杖服務不會藉由轉譯不受信任的輸入,減輕跨網站指令碼 (XSS) 攻擊。

安全的傳輸中和待用資料的圖表。

存取使用者資料

Azure AD B2C 租使用者會與用於員工和合作夥伴的企業Microsoft Entra租使用者共用許多特性。 共用層面包括可用於檢視系統管理角色、指派角色和稽核活動的機制。

您可以指派角色來控制誰可以在 Azure AD B2C 中執行特定系統管理動作,包括:

  • 建立及管理使用者流程的所有層面
  • 建立及管理所有使用者流程可用的屬性結構描述
  • 設定要用於直接同盟的識別提供者
  • 在 Identity Experience Framework 中建立和管理信任架構原則 (自訂原則)
  • 在 Identity Experience Framework 中管理用於同盟和加密的密碼 (自訂原則)

如需Microsoft Entra角色的詳細資訊,包括 Azure AD B2C 系統管理角色支援,請參閱Microsoft Entra識別碼中的系統管理員角色許可權

稽核和記錄

Azure AD B2C 會發出稽核記錄,其中包含有關其資源、發行的權杖和系統管理員存取的活動資訊。 您可以使用這些稽核記錄來了解平台活動和診斷問題。 在產生事件的活動發生之後,很快就可取得稽核記錄項目。

在可供您的 Azure AD B2C 租用戶或特定使用者使用的稽核記錄中,您可以找到下列資訊:

  • 有關授權使用者存取 B2C 資源的活動 (例如,系統管理員存取 B2C 原則清單)
  • 當系統管理員使用 Azure 入口網站登入時,所擷取目錄屬性的相關活動
  • B2C 應用程式上的建立、讀取、更新和刪除 (CRUD) 作業
  • B2C 金鑰容器所儲存金鑰上的 CRUD 作業
  • B2C 資源 (例如,原則和身分識別提供者) 上的 CRUD 作業
  • 使用者認證和權杖發行的驗證

Azure 入口網站中顯示的個別使用者稽核記錄。

如需稽核記錄的詳細資訊,請參閱存取 Azure AD B2C 稽核記錄

流量分析

Azure AD B2C 可讓您探索人員何時註冊或登入您的應用程式,使用者的所在位置,以及他們使用何種瀏覽器與作業系統。

藉由將 Azure Application Insights 整合至 Azure AD B2C 自訂原則,您可深入了解人員如何註冊、登入、重設其密碼,或編輯其設定檔。 您可以透過了解這些來制定近期開發週期的資料導向決策。

如需詳細資訊,請參閱使用 Application Insights 在 Azure Active Directory B2C 中追蹤使用者行為

區域可用性與資料落地

Azure AD B2C 服務已在全球正式發行,並提供依區域提供的產品中所指定的資料落地選項。 資料落地取決於您在建立租用戶時所選取的國家/地區:

深入了解 Azure Active Directory B2C 服務區域可用性 & 資料落地,以及 Azure Active Directory B2C 的服務等級協定 (SLA)

使用 Microsoft Graph API 進行自動化

使用 MS Graph API 來管理您的 Azure AD B2C 目錄。 您也可以建立 Azure AD B2C 目錄本身。 您可以管理使用者、身分識別提供者、使用者流程、自訂原則,以及其他更多內容。

深入了解如何使用 Microsoft Graph 管理 Azure AD B2C

Azure AD B2C 服務限制與限制

深入了解 Azure AD B2C 服務限制與限制

後續步驟

現在您已深入了解 Azure Active Directory B2C 的功能和技術層面: