【问题标题】:Azure B2C - User Management (CRUD) - Single Tenant vs Multiple TenantsAzure B2C - 用户管理 (CRUD) - 单租户与多租户
【发布时间】:2021-01-05 21:30:58
【问题描述】:

对于针对图形 api 的 CRUD 操作,我们必须向多个开发团队提供应用程序凭据。这些团队负责不同的应用程序,到目前为止,我们为每个应用程序管理不同的 Azure B2C 租户。我们希望将所有应用整合到一个 B2C 租户中。

最好的方法是什么?这样做有什么顾虑吗?以下是我们想到的一些

  1. 授予租户范围的权限,例如 Directory.ReadWrite.All 和 User.ReadWrite.All 可能会导致一个团队的开发人员无意中删除其他团队的身份。
  2. 修改已被其他应用用于一个应用的属性

【问题讨论】:

  • “将所有应用合并为一个 B2C 租户”和“一个应用已被其他应用使用的属性”是什么意思?请提供更多详细信息。
  • 感谢艾伦“为所有应用整合到一个 B2C 租户中” - 使用一个 B2C 租户来处理所有应用的身份验证
  • “属性已被其他应用程序用于一个应用程序” - 一个应用程序 X 调用 Graph API 来修改用户的现有属性 A。另一个应用 Y 正在使用相同的属性 A,X 对值的更改现在将对 Y 的功能产生影响。
  • 据我所知,Azure AD 没有现成的解决方案来满足你的需求。在您的情况下,每个团队将能够管理一个 B2C 租户中的所有用户。我的建议是用你自己的逻辑控制权限。例如,来自组 A 的用户在 id 令牌中有一个组声明,它告诉您他来自哪个组。然后当他调用MS graph修改用户时,检查用户来自哪个组。如果他尝试修改的用户来自 A 组,则您允许。通过这个方法可以实现A组的管理员只能修改A组的用户。
  • 将评论移至回答,以便将此问题视为已回答以供他人参考。如果它有帮助,您可以接受它作为答案。谢谢。

标签: azure-ad-b2c identity-experience-framework azure-ad-b2c-custom-policy


【解决方案1】:

据我所知,Azure AD 没有现成的解决方案来满足您的需求。

在您的情况下,每个团队将能够管理一个 B2C 租户中的所有用户。我的建议是用你自己的逻辑控制权限。

例如,来自组 A 的用户在 id 令牌中有一个组声明,它告诉您他来自哪个组。然后当他调用MS graph修改用户时,检查用户来自哪个组。如果他尝试修改的用户来自 A 组,则您允许。通过这个方法可以实现A组的管理员只能修改A组的用户。

您也可以使用 Group 声明来实现相同的功能。

参考资料:

How to: Add app roles to your application and receive them in the token

Configure the Azure AD Application Registration for group attributes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    相关资源
    最近更新 更多