azure-active-directory - 如何在开发人员租户中使用单租户应用程序注册在客户租户中添加企业应用程序
问题描述
作为一家小型 SaaS 提供商,我目前有一个应用服务托管在我的租户中,它使用 Azure AD for IAM。我有两个客户,不同地区的每个客户都有一个单独的应用服务实例和数据库。我还为每个客户创建了两个额外的租户,并且在每个客户租户中,我都有一个链接到企业应用程序的应用程序注册(单个租户)。用户帐户在客户租户 AAD 中创建,并被授予对具有相应应用注册角色之一的企业应用程序的访问权限。
这一切都很好,但是我的一位客户最近在他们自己的租户中实施了 Office 365,并希望使用他们的 O365 用户帐户而不是我为他们创建的租户中的用户帐户登录到我的应用程序。
我遵循了本文档和本教程,并将应用服务身份验证提供程序属性中的颁发者 URL更新为“https://login.microsoftonline.com/customer-tenant-id/v2.0”。这不允许我的客户租户访问我的应用程序,但是一旦我将主机应用程序注册更改为多租户,它就可以工作。但是,它并没有阻止其他测试租户也访问我的应用程序,因此沿着多租户路径走下去似乎会引入不必要的复杂性和风险,尤其是当客户和应用程序服务实例之间只有一对一的关系时。
因此,由于我的应用程序的每个实例仅由一个客户使用,我想保留单租户设计。但是,我找不到在我的租户中实现应用程序注册和角色的方法,并且让客户在他们的租户中只有企业应用程序。这可能吗?
解决方案
正如@Martin Brandl 在评论部分所建议的那样,您可以参考线程链接。
当我们将应用程序作为企业应用程序添加到 azure ad 时,我们可以选择根据我们的要求将其添加为单租户或多租户应用程序。
1.单租户应用仅在其注册的租户中可用,也称为其主租户。
2.多租户应用程序可供其主租户和其他租户中的用户使用
单租户:您目录中的所有用户和访客帐户都可以使用您的应用程序或 API。
多租户:拥有 Microsoft 工作或学校帐户的所有用户和来宾都可以使用您的应用程序或 API。这包括使用 Microsoft 365 的学校和企业。
由于您已经将您的应用程序配置为多租户并且您希望限制某些租户的访问权限您可以使用称为租户限制的功能。通过租户限制,组织可以指定允许其用户访问的租户列表。然后,Azure AD 仅向这些允许的租户授予访问权限。这是使用租户限制管理对 SaaS 应用程序的访问的参考文档- Azure AD |
推荐阅读
- vue.js - 仅当 Firestore 字段值与特定字符串值匹配时,如何在 Vue 中有条件地显示?
- php - Stripe PHP:如何处理支付成功通知
- fivem - Fivem 服务器随机掉落玩家
- css - 等待后台渲染组件
- python - 将重复列名列表和值列表转换为数据框
- ffmpeg - 使用 ffmpeg 从 srt 流中提取 708 个字幕
- swift - 将文本文件保存到选定的目录,并在应用关闭后保留选定的目录
- neo4j - 获取附加到路径中所有项目的节点,包括顶部元素
- rust - 包括_str!设置“字符串文字”路径
- spring-boot - JmsListenerContainerFacotory 不可用:NoSuchBeanDefinitionException,即使已配置 DefaultJmsListenerContainerFactory