如何在开发者租户中使用单租户应用注册在客户租户中添加企业应用

问题描述

作为一个小型 SaaS 提供商,我目前有一个应用服务托管在我的租户中,它使用 Azure AD 进行 IAM。我有两个客户,不同地区的每个客户都有一个单独的应用程序服务实例和数据库。我还为每个客户创建了两个额外的租户,在每个客户租户中,我有一个应用程序注册(单个租户)链接到企业应用程序。用户帐户是在客户租户 AAD 中创建的,并被授予对具有相应应用注册角色之一的企业应用程序的访问权限。

这一切正常,但是我的一位客户最近在他们自己的租户中实施了 Office 365,并希望使用他们的 O365 用户帐户而不是我为他们创建的租户中的用户帐户登录我的应用程序。

我关注了这个 documentation 和这个 tutorial 并将颁发者网址更新为“https://login.microsoftonline.com/customer-tenant-id/v2. 0”在应用程序服务身份验证提供程序属性中。这不允许我的客户租户访问我的应用程序,但是一旦我将主机应用程序注册更改为多租户,它就起作用了。然而,它并没有阻止其他测试租户也访问我的应用程序,因此沿着多租户路径走似乎会引入不必要的复杂性和风险,尤其是当客户和应用程序服务实例之间只有一对一的关系时。>

因此,由于我的应用程序的每个实例仅由一个客户使用,因此我希望保留单租户设计。但是,我找不到在我的租户中实现应用程序注册和角色的方法,并且让客户在他们的租户中只有企业应用程序。这可能吗?

解决方法

正如@Martin Brandl 在评论部分所建议的,您可以参考线程链接。

当我们将应用程序作为企业应用程序添加到 azure ad 时,我们可以根据需要选择将其添加为单租户或多租户应用程序。

1.单租户应用仅在他们注册的租户中可用,也称为家庭租户。

2.多租户应用可供其家庭租户和其他租户的用户使用

单租户:您目录中的所有用户和访客帐户都可以使用您的应用程序或 API。

多租户:所有拥有 Microsoft 工作或学校帐户的用户和来宾都可以使用您的应用程序或 API。这包括使用 Microsoft 365 的学校和企业。

由于您已将应用配置为多租户,并且您想限制某些租户的访问权限,因此您可以使用称为租户限制的功能。 通过租户限制,组织可以指定允许其用户访问的租户列表。然后,Azure AD 仅授予对这些允许租户的访问权限。 这是使用 tenant restrictions to manage access to SaaS apps - Azure AD |

的参考文档