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 租用戶與 Azure Active Directory 租用戶不同 (您可能已有後者)。

您在 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 定義數種類型的使用者帳戶。 Azure Active Directory、Azure Active Directory 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 ADB2C 提供可讓使用者驗證使用者的各種方式。 使用者可以登入本機帳戶,方法是使用使用者名稱和密碼,電話驗證 (也稱為無密碼驗證) 。 預設會在您的本機帳戶身分識別提供者設定中啟用電子郵件註冊。

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

使用者設定檔屬性

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

您也可以擴充 Azure AD 結構描述,以儲存使用者的其他資訊。 例如,其居住國家/地區、慣用語言和喜好設定,就像是要訂閱電子報或啟用多重要素驗證。 如需詳細資訊,請參閱

使用外部識別提供者登入

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

外部識別提供者。

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

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

使用社交帳戶 (Facebook) 的 Mobile 登入範例。

若要瞭解如何在 Azure AD b2c 中新增識別提供者,請參閱Azure Active Directory B2C 將身分識別提供者新增至您的應用程式

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

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

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

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

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

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

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

閱讀 使用者流程和自訂原則的總覽 文章。 它概述使用者流程和自訂原則,並協助您決定哪一種方法最適合您的業務需求。

使用者介面

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

品牌自訂註冊登入頁面的螢幕擷取畫面。

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

自訂網域

您可以在 Azure AD B2C 的重新導向 url 中自訂您的 Azure AD B2C 網域。 自訂網域可讓您建立順暢的體驗,讓頁面與應用程式的功能變數名稱緊密地顯示。

Azure AD B2C 自訂網域的螢幕擷取畫面

從使用者的觀點來看,他們會在登入過程中保留在您的網域中,而不是重新導向至 Azure AD B2C 預設網域 b2clogin.com。 如需詳細資訊,請參閱 啟用自訂網域

當地語系化

Azure AD B2C 中的語言自訂可讓您適應不同的語言,以符合您客戶的需求。 Microsoft 提供 36 種語言的翻譯,但您也可以針對任何語言提供自己的翻譯。 即使您的體驗僅提供單一語言,您也可以自訂頁面上的任何文字。

以不同語言顯示 UI 文字的三個註冊登入頁面

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

電子郵件驗證

Azure ADB2C 會要求客戶在註冊和密碼重設流程期間進行驗證,以確保有效的電子郵件地址。 它也可防止惡意執行者在您的應用程式中使用自動化進程產生詐騙帳戶。

Azure AD B2C 電子郵件驗證的螢幕擷取畫面

您可以自訂電子郵件給註冊以使用應用程式的使用者。 藉由使用協力廠商電子郵件提供者,您可以使用自己的電子郵件範本和寄件者:位址和主旨,以及支援當地語系化和自訂單次密碼 (OTP) 設定。 如需詳細資訊,請參閱

新增您自己的商務邏輯

如果您選擇使用自訂原則,可以在使用者旅程圖中與 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 中使用自訂原則來整合 RESTful API,請參閱在 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 如何使用相同驗證流程中的各種通訊協定來進行通訊:

與 SAML 型 IdP 進行 OIDC 型用戶端應用程式同盟的圖表

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

應用程式整合

當使用者想要登入您的應用程式時,應用程式會起始對使用者流程或自訂原則提供端點的授權要求。 使用者流程或自訂原則會定義和控制使用者的體驗。 當他們完成使用者流程 (例如「註冊或登入」流程) 時,Azure AD B2C 會產生權杖,然後將使用者重新導向回您的應用程式。

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

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

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

多重要素驗證 (MFA)

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

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

請參閱在 Azure Active Directory B2C 中啟用多重要素驗證,了解如何在使用者流程中啟用 MFA。

條件式存取

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

條件式存取流程

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

密碼複雜度

在註冊期間或密碼重設期間,使用者必須提供符合複雜度規則的密碼。 根據預設,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 安全性權杖服務才知道。 使用強式加密演算法 (AES-192)。 所有通訊路徑都會使用 TLS 來保護,以提供機密性和完整性。 我們的安全性權杖服務會使用 TLS 的擴充功能驗證 (EV) 憑證。 一般來說,安全性權杖服務不會藉由轉譯不受信任的輸入,減輕跨網站指令碼 (XSS) 攻擊。

保護傳輸中和待用資料的圖表。

存取使用者資料

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

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

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

如需 Azure AD 角色 (包括 Azure AD B2C 系統管理角色支援) 的詳細資訊,請參閱 Azure Active Directory 中的管理員角色權限

稽核和記錄

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

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

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

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

如需有關 audit 記錄檔的詳細資訊,請參閱存取 Azure AD B2C 審核記錄

流量分析

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

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

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

使用 Microsoft Graph API 的自動化

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

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

Azure ADB2C 服務限制和限制

深入瞭解Azure AD B2C 服務限制和限制

下一步

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