Azure AD与Azure AD B2C与Azure AD B2B的区别

52
在 Azure AD B2C 和 Azure AD B2B 出现之前,通常我会将我的应用添加到我们租户的 Azure AD 中,Office 365 用户可以使用他们的账户(SSO)访问这些应用程序。
我不是专家,所以需要看代码并阅读确切的示例才能理解概念。
我是否可以像平时使用 Azure AD 那样使用 B2C 来进行 SSO?否则我该如何/何时使用 B2C 和 B2B?
谢谢并欢迎所有建议。
2个回答

118

Azure AD是一种目的在于为组织提供云身份管理需求的目录服务。如果您使用Azure AD开发应用程序,可以使用它来保护应用程序 - Azure AD租户中的用户可以使用它。

你的应用程序针对特定的组织或使用Azure AD(Office 365)的多个组织。

Azure AD B2B只是Azure AD的一个功能。它允许组织授予来自其他租户的用户访问其应用程序和服务。从您的应用程序角度来看,没有任何变化。它仍然是同一个Azure AD应用程序。Azure AD B2B有一个API,可用于创建从另一个目录邀请用户的流程,但它不会改变您的应用程序设计等。

Azure AD B2C是建立在相同技术上的另一个服务,但与Azure AD的功能不同。Azure AD B2C的目标是为消费者应用程序构建一个目录,用户可以使用电子邮件ID或社交提供商(如Google、FB、MSA)注册,也称为联合网关。Azure AD B2C的目标是允许组织管理共享在所有应用程序之间的客户身份的单个目录,即单点登录。

Azure AD B2C并不针对组织用户而是消费者。

2021年3月更新:Microsoft推出了一种新的解决方案,将B2B和B2C合并 - 称为“外部身份”。

什么是“外部身份”: 它是一种机制,允许您在Azure AD(企业)租户内进行外部用户自注册,并对其过程进行控制。

为什么它是Azure AD B2C和Azure AD之间的合并 - 这些都是外部用户,就像在B2C中一样,他们可以使用自己的用户名/电子邮件(而不是公司域)并进行自注册,但在AAD企业租户中。您还可以通过调用类似于AAD B2C的外部系统来扩展External identities的认证流程。

让我们谈谈学校应用程序的场景:

  • 内部用户 -> Azure AD,覆盖组织中的内部应用程序、员工等。用户在Azure AD中
  • 来自其他学校的客座教师、合作伙伴等外部用户 -> Azure AD B2B,在Azure AD中的访客用户
  • 不隶属于任何组织的外部用户,例如需要在特定应用程序中访问学生成绩的家长 -> 外部身份,他们可以自行注册,存在于特定应用程序的上下文中,您可以调用额外的API进行检查,例如在注册期间它们是否与CRM记录匹配
  • 向互联网开放的外部用户,例如针对学生的艺术竞赛 -> Azure AD B2C。任何人都可以注册,学生、教师和员工可以通过Azure AD访问。

价格更新:此次价格更新将影响Azure AD B2C和External Identities。

  • 首先-价格是每月活跃用户(MAU)收费。MAU表示在计费期间(一个月)至少登录一次的用户。
  • 其次-Azure AD B2C或外部标识中的前50k用户是免费的。因此,一个月内的前50k用户是免费的,而接下来的用户将会收费,因此一个月内的60k活跃用户的费用大约为16美元。

简单地说:

  • Azure AD-针对组织及其企业用户的应用程序
  • Azure AD B2C-针对客户的应用程序,例如移动应用程序、购物门户等。

为了快速参考,我已经在博客文章中整理了这些信息:https://www.predicagroup.com/blog/azure-ad-b2b-b2c-puzzled-out/

有关External Identities的更新和参考资料,请参阅此视频:https://www.youtube.com/watch?v=E6S1yJKTB7c


1
很棒的文章,非常有启发性,帮助澄清了一些关于“为什么我们会选择X而不是Y”的问题。我的唯一建议是针对微软公司——“故意使用最糟糕和最令人困惑的命名约定是否是微软公司文化的一部分?” - jward01


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接