閱讀英文

共用方式為

Azure Active Directory B2C 的技术和功能概述

重要

自 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 存储用户的凭据、配置文件数据和应用程序注册的位置。
  • 应用程序注册 - 可以将 Web、移动和本机应用程序注册到 Azure AD B2C 以启用标识管理。 还可以使用 Azure AD B2C 注册要保护的任何 API。
  • 用户流自定义策略 - 这些策略用于使用内置用户流和完全可配置的自定义策略为应用程序创建标识体验:
    • 用户流 可帮助你快速启用常见标识任务,例如注册、登录和配置文件编辑。
    • 使用自定义策略 可以生成组织、客户、员工、合作伙伴和公民特有的复杂标识工作流。
  • 登录选项 - Azure AD B2C 为应用程序的用户提供各种 注册和登录选项
    • 用户名、电子邮件和电话登录 - 可以将 Azure AD B2C 本地帐户配置为允许使用用户名、电子邮件地址、电话号码或方法的组合进行注册和登录。
    • 社交标识提供者 - 你可以与社交提供商联合。
    • 外部标识提供者 - 还可以与标准标识协议(如 OAuth 2.0、OpenID Connect 等)联合。
  • 密钥 - 添加和管理加密密钥,用于对令牌、客户端机密、证书和密码进行签名和管理。

Azure AD 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 门户中 Azure AD B2C 租户中的用户目录。

消费者帐户

使用 使用者 帐户,用户可以登录到使用 Azure AD B2C 保护的应用程序。 但是,具有使用者帐户的用户无法访问 Azure 资源,例如 Azure 门户。

使用者帐户可以与以下标识类型相关联:

  • 本地 标识,用户名和密码存储在 Azure AD B2C 目录中。 我们通常将这些标识称为“本地帐户”。
  • 社交企业 标识,其中用户的标识由联合标识提供者管理。 例如,Microsoft、ADFS 或 Salesforce。

具有使用者帐户的用户可以使用多个标识登录。 例如用户名、电子邮件、员工 ID 等。 单个帐户可以有多个标识,既可以具有本地标识,也可以是社交标识。

使用者帐户标识。
图:在 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 协议的标识提供者联合。

显示以外部标识提供者为例的公司徽标的示意图。

借助外部标识提供者,你可以为使用者提供使用其现有社交或企业帐户登录的功能,而无需为应用程序创建新帐户。

在注册或登录页上,Azure AD B2C 提供用户可选择登录的外部标识提供者列表。 选择其中一个外部标识提供者后,会重定向到所选提供程序的网站以完成登录过程。 用户成功登录后,会返回到 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 自定义的信息,请参阅:

本地化

使用 Azure AD B2C 中的语言自定义,可以适应不同的语言以满足客户需求。 Microsoft提供 36 种语言的本地化,但你也可以为任何语言提供自己的本地化。

显示不同语言的 UI 文本的三个登录页的屏幕截图。

了解 本地化在 Azure Active Directory B2C 中的语言自定义中的工作原理。

电子邮件验证

Azure AD B2C 要求客户在注册和密码重置流期间验证它们,从而确保有效的电子邮件地址。 这也可以防止恶意参与者使用自动化过程在应用程序中生成欺诈帐户。

显示电子邮件验证过程的屏幕截图。

添加自己的业务逻辑并调用 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 支持用户流程的 OAuth 2.0OpenID ConnectSAML 协议。 应用程序通过向 Azure AD B2C 发出身份验证请求来启动用户旅程。 向 Azure AD B2C 请求的结果是安全令牌,例如 ID 令牌、访问令牌或 SAML 令牌。 此安全令牌定义应用程序中用户的标识。

  • 对于外部标识,Azure AD B2C 支持与任何 OAuth 1.0、OAuth 2.0、OpenID Connect 和 SAML 标识提供者联合。

下图显示了 Azure AD B2C 如何使用同一身份验证流中的各种协议进行通信:

基于 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 中启用多重身份验证

密码复杂性

在注册或密码重置期间,用户必须提供满足复杂性规则的密码。 默认情况下,Azure AD B2C 强制实施强密码策略。 Azure AD B2C 还提供配置选项,用于指定客户使用本地帐户时使用的密码的复杂性要求。

用于密码复杂性体验的 UI 的屏幕截图。

有关详细信息,请参阅 在 Azure AD B2C 中配置密码的复杂性要求

保护资源和客户标识

Azure AD B2C 符合 Azure 信任中心中所述的安全、隐私和其他承诺。

会话建模为加密数据,解密密钥仅已知于 Azure AD B2C 安全令牌服务(STS)。 使用强加密算法 AES-192。 所有通信路径都使用 TLS 进行保护,确保保密性和完整性。 安全令牌服务对 TLS 使用扩展验证(EV)证书。 通常,安全令牌服务通过不呈现不受信任的输入来缓解跨站点脚本 (XSS) 攻击。

传输中和静止时的安全数据示意图。

访问用户数据

Azure AD B2C 租户与用于员工和合作伙伴的企业Microsoft Entra 租户共享许多特征。 共享方面包括用于查看管理角色、分配角色和审核活动的机制。

可以分配角色来控制谁可以在 Azure AD B2C 中执行某些管理作,包括:

  • 创建和管理用户流的各个方面
  • 创建和管理所有用户流可用的属性架构
  • 配置要在直接联合中使用的标识提供者
  • 在标识体验框架中创建和管理信任框架策略(自定义策略)
  • 在标识体验框架中管理联合和加密的机密(自定义策略)

有关 Microsoft Entra 角色(包括 Azure AD B2C 管理角色支持)的详细信息,请参阅 Microsoft Entra ID 中的管理员角色权限

审计和日志

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 中跟踪用户行为

使用 Microsoft 图形 API 实现自动化

使用 MS 图形 API 管理 Azure AD B2C 目录。 还可以创建 Azure AD B2C 目录本身。 可以管理用户、标识提供者、用户流、自定义策略等。

详细了解如何使用 Microsoft Graph 管理 Azure AD B2C

Azure AD B2C 服务限制与约束

详细了解 Azure AD B2C 服务限制和限制

后续步骤

现在,你已更深入地了解 Azure Active Directory B2C 的功能和技术方面: