你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Microsoft Graph 管理 Azure AD B2C

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

Microsoft Graph 允许管理 Azure AD B2C 目录中的资源。 Azure AD B2C 资源管理支持以下 Microsoft Graph API 操作,包括用户、身份提供者、用户流、自定义策略和策略密钥。 以下各部分中的每个链接对应于 Microsoft Graph API 参考中该操作的相应页面。

注释

还可以通过编程创建 Azure AD B2C 目录本身,以及链接到 Azure 订阅的相应 Azure 资源。 此功能不是通过 Microsoft Graph API 公开的,而是通过 Azure REST API 公开的。 有关详细信息,请参阅 B2C 租户 - 创建

先决条件

  • 若要使用 MS Graph API 并与 Azure AD B2C 租户中的资源交互,需要一个应用程序注册来授予执行此作的权限。 按照 注册 Microsoft Graph 应用程序 文章中的步骤创建管理应用程序可以使用的应用程序注册。

用户管理

注释

Azure AD B2C 目前不支持对目录对象的高级查询功能。 这意味着不支持 $count$search 查询参数,以及 not 查询参数中的 Not (ne)、Not equals (endsWith) 和 Ends with ($filter) 操作符。 有关详细信息,请参阅 Microsoft Graph 中的查询参数Microsoft Graph 中的高级查询功能

用户迁移

观看此视频,了解如何使用 Microsoft 图形 API 管理用户迁移到 Azure AD B2C。

用户电话号码管理

用户可以使用 短信或语音呼叫多重身份验证登录的电话号码。 有关详细信息,请参阅 Microsoft Entra 身份验证方法 API

请注意,列表 操作只返回已启用的电话号码。 以下电话号码应启用,以用于列表操作。

注释

正确表示的电话号码应存储在国家代码和电话号码之间留一个空格。 默认情况下,Azure AD B2C 服务不会添加此空间。

Azure 门户中示例用户的“身份验证方法”页的屏幕截图。突出显示电话号码的文本框。

自助式密码重置电子邮件地址

用户名登录帐户可用于重置密码的电子邮件地址。 有关详细信息,请参阅 Microsoft Entra 身份验证方法 API

软件 OATH 令牌身份验证方法

软件 OATH 令牌是基于软件的数字生成器,它使用 OATH 基于时间的一次性密码(TOTP)标准通过验证器应用进行多重身份验证。 使用 Microsoft 图形 API 管理注册给用户的软件 OATH 令牌:

身份提供者

管理 Azure AD B2C 租户中的用户流可用的标识提供者

用户流 (beta)

为注册、登录、合并注册和登录、密码重置和配置文件更新配置预生成策略。

用户流身份验证方法 (beta)

选择允许用户通过本地帐户注册的机制。 本地帐户是指 Azure AD B2C 完成身份验证的帐户类型。 有关详细信息,请参阅 b2cAuthenticationMethodsPolicy 资源类型

自定义策略 (beta)

通过以下操作可以管理 Azure AD B2C 信任框架策略,即 自定义策略

策略密钥 (beta)

标识体验框架存储自定义策略中引用的机密,以在组件之间建立信任。 这些机密可以是对称密钥或非对称密钥/值。 在 Azure 门户中,这些实体显示为 策略密钥

Microsoft图形 API 中策略密钥的顶级资源是 受信任的框架密钥集。 每个 密钥集 至少包含一个 密钥。 若要创建密钥,请先创建一个空键集,然后在密钥集中生成密钥。 可以创建手动机密、上传证书或 PKCS12 密钥。 密钥可以是生成的机密、字符串(如 Facebook 应用程序机密)或上传的证书。 如果键集有多个密钥,则只有一个键处于活动状态。

信任框架策略密钥集

信任框架策略密钥

应用程序

应用程序扩展(目录扩展)属性

应用程序扩展属性也称为目录或Microsoft Entra 扩展。 若要在 Azure AD B2C 中管理它们,请使用 identityUserFlowAttribute 资源类型 及其关联的方法。

每个用户最多可以存储 100 个目录扩展值。 若要管理用户的目录扩展属性,请使用 Microsoft Graph 中的以下 用户 API

  • 更新用户:从用户对象中写入或删除目录扩展属性的值。
  • 获取用户:获取用户目录扩展项的值。 属性默认通过 beta 终结点返回,但仅在 $select 时通过 v1.0 终结点返回。

对于用户流,这些扩展属性 是使用 Azure 门户管理的。 对于自定义策略,Azure AD B2C 首次将值写入扩展属性时,Azure AD B2C 会为你创建属性。

注释

在 Microsoft Entra ID 中,目录扩展通过 extensionProperty 资源类型 及其关联的方法进行管理。 但是,由于它们在不应更新的 b2c-extensions-app 应用中用于 B2C,因此在 Azure AD B2C 中,它们是通过使用identityUserFlowAttribute 资源类型及其关联方法进行管理的。

租户使用情况

使用 “获取组织详细信息 API”获取目录大小配额。 需要添加 $select 查询参数,如以下 HTTP 请求所示:

GET https://graph.microsoft.com/v1.0/organization/organization-id?$select=directorySizeQuota

organization-id 替换为组织或租户 ID。

对上述请求的响应类似于以下 JSON 代码片段:

{
    "directorySizeQuota": {
        "used": 156,
        "total": 1250000
    }
}

审核日志

有关访问 Azure AD B2C 审核日志的详细信息,请参阅 访问 Azure AD B2C 审核日志

条件性访问

检索或还原已删除的用户和应用程序

仅当已删除用户和应用在过去 30 天内被删除时,才能还原已删除的用户和应用。

如何以编程方式管理 Microsoft Graph

可以通过两种方式管理 Microsoft Graph:

  • 委托的权限,用户或管理员同意应用请求的权限。 当应用调用目标资源时,它被委托了充当已登录用户的权限。
  • 应用程序权限 是供不需要登录用户存在的应用程序使用的。 因此,只有管理员才能同意应用程序权限。

注释

用户通过用户流或自定义策略登录时使用的委派权限,不能与 Microsoft Graph API 的委派权限相对抗。