這很重要
自 2025 年 5 月 1 日起,Azure AD 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 或 X 等社交提供者同盟。
- 外部識別提供者 - 您也可以與 OAuth 2.0、OpenID Connect 等標準身分識別通訊協定建立同盟。
- 金鑰 - 新增和管理加密金鑰,以簽署及驗證令牌、用戶端密碼、憑證和密碼。
要開始使用 Azure AD B2C ,您需要先建立一個 Azure AD B2C 租戶作為第一個資源。 學習怎麼做:
- 建立 Azure Active Directory B2C 租戶
- 管理您的 Azure AD B2C 租戶
Azure AD B2C 中的帳戶
Azure AD B2C 會定義數種類型的用戶帳戶。 Microsoft Entra ID、Microsoft Entra B2B 和 Azure Active Directory B2C 共用這些帳戶類型。
- 工作帳戶 - 具有工作帳戶 的使用者可以管理租使用者中的資源,以及具有系統管理員角色的使用者也可以管理租使用者。 具有工作帳戶的使用者可以建立新的取用者帳戶、重設密碼、封鎖/解除封鎖帳戶,以及設定權限或將帳戶指派給安全性群組。
- 來賓帳戶 - 這些是您邀請作為來賓加入租戶中的外部使用者。 邀請來賓使用者到 Azure AD B2C 租使用者的典型案例是共用系統管理責任。
- 取用者帳戶 - 這些帳戶是由 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 ID 架構,以儲存使用者的其他資訊。 例如,其落地國家/地區、慣用語言和喜好設定,例如想要訂閱電子報或啟用多重要素驗證。 如需詳細資訊,請參閱:
使用外部識別提供者登入
您可以設定 Azure AD B2C,讓使用者使用來自社交和企業識別提供者的認證登入您的應用程式。 Azure AD B2C 可與支援 OAuth 1.0、OAuth 2.0、OpenID Connect 和 SAML 通訊協議的識別提供者同盟。 例如,Facebook、Microsoft 帳戶、Google、X 和 Active Directory 同盟服務 (AD FS)。
透過外部身分識別提供者,您可以讓取用者能夠使用其現有的社交或企業帳戶登入,而不需要為您的應用程式建立新的帳戶。
在註冊或登入頁面上,Azure AD B2C 會顯示使用者可以選擇登入的外部識別提供者清單。 選取其中一個外部識別提供者之後,系統會將他們重新導向至選取的提供者網站,以完成登入程式。 使用者成功登入之後,會返回 Azure AD B2C,以驗證您應用程式中的帳戶。
若要深入了解識別提供者,請參閱 在 Azure Active Directory B2C 中將識別提供者新增至您的應用程式。
身分識別體驗:使用者流程或自定義原則
在 Azure AD B2C 中,您可以定義使用者遵循的商業規則,以取得應用程式的存取權。 例如,您可以決定使用者在登入、註冊、編輯其配置檔或重設密碼時所遵循的步驟順序。 完成順序之後,使用者會取得令牌,並取得應用程式的存取權。
在 Azure AD B2C 中,有兩種方式可提供身分識別用戶體驗:
使用者流程 - 這些是預先定義的、內建、可設定的原則,我們所提供的原則可讓您在幾分鐘內建立註冊、登入和原則編輯體驗。
自定義原則 - 這些可讓您為複雜的身分識別體驗案例建立自己的使用者旅程圖。
下列螢幕快照顯示使用者流程設定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 種語言的當地語系化,但您也可以為任何語言提供自己的當地語系化。
請參閱 當地語系化如何在 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 中的 API 連接器。
通訊協定和令牌
針對應用程式,Azure AD B2C 支援使用者流程的 OAuth 2.0、OpenID Connect 和 SAML 通訊協定。 您的應用程式會啟動使用者過程,向 Azure AD B2C 發出驗證要求。 對 Azure AD B2C 的要求結果是安全性令牌,例如 標識碼令牌、存取令牌或 SAML 令牌。 此安全性令牌會定義應用程式內的使用者身分識別。
針對外部身分識別,Azure AD B2C 支援與任何 OAuth 1.0、OAuth 2.0、OpenID Connect 和 SAML 身分識別提供者的同盟。
下圖顯示 Azure AD B2C 如何在相同的驗證流程中使用各種通訊協定進行通訊:
- 信賴憑證者應用程式會使用 OpenID Connect 啟動對 Azure AD B2C 的授權要求。
- 當應用程式的使用者選擇使用使用 SAML 通訊協定的外部識別提供者登入時,Azure AD B2C 會叫用 SAML 通訊協定來與該識別提供者通訊。
- 當使用者使用外部識別提供者完成登入作業之後,Azure AD B2C 接著會使用 OpenID Connect 將令牌傳回給信賴憑證者應用程式。
應用程式整合
當使用者想要簽入您的應用程式時,應用程式會開始授權要求至使用者流程或由自訂策略提供的端點。 使用者流程或自定義原則會定義和控制用戶體驗。 當他們完成使用者流程時,例如 註冊或登入 流程,Azure AD B2C 會產生令牌,然後將使用者重新導向回您的應用程式。 此令牌專屬於 Azure AD B2C,不會與使用社交帳戶時第三方識別提供者所簽發的令牌混淆。 如需如何使用第三方令牌的詳細資訊,請參閱 在 Azure Active Directory B2C 中將識別提供者存取令牌傳遞至您的應用程式。
多個應用程式可以使用相同的使用者流程或自定義原則。 單一應用程式可以使用多個使用者流程或自定義原則。
例如,若要登入應用程式,應用程式會使用 註冊或登入 使用者流程。 使用者登入之後,他們可能會想要編輯其配置檔,因此應用程式會起始另一個授權要求,這次會使用 配置檔編輯 使用者流程。
多重要素驗證 (MFA)
Azure AD B2C 多重要素驗證 (MFA) 可協助保護數據和應用程式的存取,同時為使用者維護簡單性。 它藉由要求第二種形式的驗證來提供額外的安全性,並提供一系列易於使用的驗證方法來提供強身份驗證。
根據您可以以系統管理員身分做出的設定決策,您的使用者可能或可能不會受到 MFA 的挑戰。
如需詳細資訊,請參閱 在 Azure Active Directory B2C 中啟用多重要素驗證。
條件式存取
Microsoft Entra ID Protection 風險偵測功能,包括有風險的使用者和有風險的登入,會自動偵測並顯示在您的 Azure AD B2C 租戶中。 您可以建立條件式存取原則,以使用這些風險偵測來判斷補救動作並強制執行組織原則。
Azure AD B2C 會評估每個登入事件,並確保在授與使用者存取權之前符合所有原則需求。 有風險的使用者或有風險的登入可能會被封鎖,或需要通過特定的補救措施,例如多重要素驗證(MFA)。 如需詳細資訊,請參閱 Identity Protection 和條件式存取。
密碼複雜度
在註冊或密碼重設期間,您的用戶必須提供符合複雜度規則的密碼。 根據預設,Azure AD B2C 會強制執行強密碼原則。 Azure AD B2C 也提供設定選項,以指定客戶在使用本機帳戶時所使用的密碼複雜度需求。
如需詳細資訊,請參閱 在 Azure AD B2C 中設定密碼的複雜度需求。
強制重設密碼
身為 Azure AD B2C 租使用者系統管理員,如果使用者忘記密碼,您可以 重設用戶的密碼 。 或者,您可以設定原則來強制使用者定期重設其密碼。 如需詳細資訊,請參閱 設定強制密碼重設流程。
智慧帳戶鎖定
為了防止暴力密碼猜測嘗試,Azure AD B2C 會使用複雜的策略,根據要求的IP、輸入的密碼,以及數個其他因素來鎖定帳戶。 鎖定的持續時間會根據風險和嘗試次數自動增加。
如需管理密碼保護設定的詳細資訊,請參閱 減輕 Azure AD B2C 中的認證攻擊。
保護資源和客戶身分識別
Azure AD B2C 符合 Microsoft Azure 信任中心中所述的安全性、隱私權和其他承諾。
會話會模型化為加密數據,只有 Azure AD B2C 安全性令牌服務 (STS) 才知道解密密鑰。 使用強式加密演算法 AES-192。 所有通訊路徑都會使用 TLS 來保護機密性和完整性。 我們的安全性令牌服務會針對TLS使用延伸驗證 (EV) 憑證。 一般而言,安全令牌服務不會呈現不受信任的輸入,以減輕跨網站腳本(XSS)攻擊。
存取用戶數據
Azure AD B2C 租戶與用於員工和合作夥伴的 Microsoft Entra 租戶共用許多特性。 共同的面向包括檢視管理角色、指派角色和稽核活動的機制。
您可以指派角色來控制誰可以在 Azure AD B2C 中執行特定系統管理動作,包括:
- 建立和管理使用者流程的所有層面
- 建立和管理所有使用者流程可用的屬性架構
- 設定識別提供者以用於直接同盟
- 在身分辨識體驗架構中建立和管理信任架構原則 (自訂原則)
- 在身分辨識體驗架構中管理同盟和加密的秘密 (自訂原則)
如需Microsoft Entra 角色的詳細資訊,包括 Azure AD B2C 管理角色支援,請參閱 entra ID Microsoft 中的系統管理員角色許可權。
稽核和記錄
Azure AD B2C 會建立稽核記錄,其中包含其資源、已發行令牌和系統管理員存取的活動資訊。 您可以使用稽核記錄來瞭解平台活動和診斷問題。 稽核記錄條目會在活動發生後不久提供。
在可供您的 Azure AD B2C 租戶或特定使用者使用的審核日誌中,您可以找到以下資訊:
- 關於授權使用者存取 B2C 資源的活動(例如,存取 B2C 原則清單的系統管理員)
- 當系統管理員使用 Azure 入口網站登入時所擷取的目錄屬性相關活動
- 在 B2C 應用程式上執行建立、讀取、更新和刪除 CRUD 作業
- B2C 金鑰容器中儲存之金鑰的 CRUD 作業
- B2C 資源的 CRUD 作業(例如策略和識別提供者)
- 驗證使用者認證和令牌發行
如需稽核記錄的詳細資訊,請參閱 存取 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 圖形 API 來管理您的 Azure AD B2C 目錄。 您也可以建立 Azure AD B2C 目錄本身。 您可以管理使用者、身分識別提供者、使用者流程、自定義原則等等。
深入瞭解如何使用 Microsoft Graph 管理 Azure AD B2C。
Azure AD B2C 服務限制與限制條件
深入瞭解 Azure AD B2C 服務限制
後續步驟
現在您已深入瞭解 Azure Active Directory B2C 的功能和技術層面: