azure - 我应该为企业 B2B 解决方案创建多少个 Azure AD 目录?
问题描述
我需要构建一个解决方案,利用 Azure B2B 协作来吸引来自不同组织的客户使用我的系统。
每个客户可能有 100 或 1000 名用户,其中一些可能有 Azure AD,而另一些则没有。
该应用程序将具有不同的用户角色/组结构来控制对我的 API 的访问。
设计这个的最好方法是什么,你能提供参考吗?
选项 1:为每个客户创建单独的 Azure AD
每个客户都有自己的 Azure AD,我可以使用 Azure 组来控制访问。
- 每个订阅的 Azure AD 限制是多少?(在 MS 文档中找不到明确的答案)https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-service-limits-restrictions
- 这是一个好的“Azure”实践吗?你能提供参考吗?
- 有关结构化/组织此以方便维护的任何信息。
- 我需要注意的任何并发症?
选项 2:为所有客户/用户创建一个 Azure AD
所有客户的所有用户都将添加到单个 Azure AD,并且对于用户隔离,每个客户的用户属于单独的 Azure 安全组。
- 在这种情况下,我可能需要在本地数据库中维护每个客户组,因为它们可能有不同的组。
- 将所有客户的用户放在同一个目录中是否有任何顾虑?
选项3:???
解决方案
在我看来,单租户更好。为每个客户创建一个租户使管理变得更加困难(登录也变得更难实现)。每个订阅的 Azure AD 限制可能不存在,因为目录位于层次结构中的订阅之上。是的,您可以为每个客户设置一个组,并将该组的 ID 保存在您的数据库中。
用户将作为访客添加到您的目录中,请确保在外部协作设置中启用设置访客用户权限受限。这将使他们根本无法访问您租户中的用户或组列表。
推荐阅读
- javascript - 使用 Google Javascript API 在 GCP 实例上执行脚本
- spring - Spring Boot 2.2.1:禁用内部类的日志记录
- linux - xcopy,net use 在 Linux 机器上不起作用
- windows - Docker:在 Windows 主机上挂载卷 - Windows 容器
- arrays - 通过 Handlebars 模板将数组从 Express 传递到客户端的 JavaScript
- javascript - 如何从 Javascript 函数获取数据并将其保存到 php 中用户的自定义元字段?
- python - 如何删除熊猫中与上面的行值相同的行?
- node.js - 无法在 localhost 浏览器中显示数据
- python - Tkinter 简单的“输入密码”对话框
- go - 两种不同语言之间的协议缓冲区