Azure AD B2C 租户和普通 Azure AD 租户有啥区别?

Posted

技术标签:

【中文标题】Azure AD B2C 租户和普通 Azure AD 租户有啥区别?【英文标题】:What's the difference between Azure AD B2C tenant and normal Azure AD tenant?Azure AD B2C 租户和普通 Azure AD 租户有什么区别? 【发布时间】:2019-01-08 18:08:51 【问题描述】:

我看到很多人对我们可以在 Azure AD B2C 租户中做什么以及 B2C 租户和普通 Azure AD 租户之间的区别感到非常困惑。主要问题是:

Azure AD B2C 租户和普通 Azure AD 租户有什么区别?

由于我什至可以使用 B2C 租户中的一些功能,例如 Azure AD Connect,在 B2C 租户中购买新订阅并使用它等等,我应该使用这些功能吗?

为什么在 B2C 租户中为我提供这些功能?为什么不在普通 Azure AD 租户中使用 B2C?

【问题讨论】:

【参考方案1】:

Azure AD B2C 租户仅用于使用 Azure AD B2C 功能。 Azure AD B2C 功能(不是租户)只是普通 Azure AD 中类似于 VM 的资源,此功能需要您切换到 B2C 租户才能使用。 我们不应在 B2C 租户中使用与 Azure AD B2C 无关的其他功能。

B2C 租户与普通 Azure AD 租户的区别。

最重要的区别在于用户的管理。

对于普通的 Azure AD,用户的数据存储(不严格)在“用户”中,您可以在 Azure Active Directory 的“用户”刀片上看到它。但是,对于 B2C 租户,用户数据存储在“用户”和 B2C 扩展应用程序中,您可以在应用程序注册中看到它。

对于普通的 Azure AD,用户在一个组织中进行管理,这些用户通常是指一个组织中的员工。但是,在 B2C 租户中,这些用户都是可以访问您的 B2C 应用的客户。

对于普通的 Azure AD,可以通过点击“新建用户”按钮来创建用户,这种类型的用户是租户中的成员。您还可以通过 Azure AD B2B 从外部邀请用户,这种类型的受邀用户是来宾用户。对于 B2C 租户,用户是租户中的所有成员。但是用户账户的类型是本地账户和社交账户。可以通过注册或使用 Azure AD Graph API 创建本地帐户。它不能像普通 Azure AD 一样通过单击“新用户”来创建。社交帐户只能通过注册来创建。

总体而言,普通 Azure AD 租户是基于员工的,租户代表一个组织。 Azure AD B2C 租户表示要与依赖方应用程序一起使用的标识集合。每个人都可以注册该应用程序并访问它。此外,您可以使 AAD 租户成为具有自定义策略的 B2C 租户的社交帐户身份提供者。您可以参考此文档来实现此目的。

由于我什至可以在 B2C 租户中使用某些功能,例如 Azure AD Connect,在 B2C 租户中购买新订阅并使用它等等,我应该使用这些功能吗?

答案是否定的,你不应该。即使您可以在 B2c 租户中使用这些功能,我们也不支持或建议您这样做。这是因为您在使用这些功能时可能会遇到太多问题,而 B2C tanant 并非针对这些功能而设计的。

为什么在 B2C 租户中为我提供这些功能?为什么不在普通 Azure AD 租户中使用 B2C?

首先,为了明确基于员工的用户和客户,我们需要通过不同的租户来区分它们。应严格管理基于员工的用户,并在可控范围内。但是客户是公开的,每个人都可以访问您的应用资源。

其次,2C 的认证逻辑与 2B 没有区别。 B2C 需要一个不同于普通 Azure AD 的新标识端点。此外,B2C 租户需要使用自定义的身份体验框架来为客户实现更友好的用户体验。这就是我们不能在普通 Azure AD 租户中使用 B2C 的原因。

第三,B2C 用户可能数百万甚至更多,AAD 组织用户的数量应该远少于 B2C 用户。 B2C 的后端引擎与 AAD 不同,因此它们使用不同的硬件。

但是,B2C 租户是基于普通 Azure AD 开发的,可能会使用其他与 AAD 相关的功能进行管理。这样您也可以在 B2C 租户中看到与普通 Azure AD 相同的 UI 和其他功能。

首先,您可以认为 Azure AD B2C 只是您需要切换目录才能使用的功能。如果您想使用其他功能,只需转到普通的 Azure Active Directory。

参考: What should we do in Azure AD B2C tenants?

Azure AD B2C: Frequently asked questions (FAQ)

Compare B2B collaboration and B2C in Azure Active Directory

The difference between Azure AD, Azure AD B2B, Azure AD B2C.

Azure AD B2C Password Reset

【讨论】:

嗨@GauravMantri,我很高兴我的A&Q 很有帮助。在使用 Azure AD B2C 时,我从社区中看到了很多困惑。我希望我们可以让 Azure AD B2C 更加清晰易用。

以上是关于Azure AD B2C 租户和普通 Azure AD 租户有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

访问被 Azure AD B2C 锁定的 Azure 函数应用时收到 403 错误

Xamarin Azure AD B2C 登录,卡在登录页面

如何通过 Azure AD B2C 使用身份验证功能在 Azure Web App 上添加身份验证?

在 Postman 中为受 Azure AD B2C 保护的 Azure Function App 请求访问令牌

用于创建和登录 B2C 租户的 Azure 服务主体

在 Postman 中为 Azure AD B2C 请求访问令牌