Microsoft Identity Platform 多租户限制

Microsoft Identity Platform Multitenant Restrictions

我目前正在开发一个使用 Microsoft 标识平台的 Azure Web 应用程序。作为单租户和多租户应用程序,一切都运行良好。我只有一个大问题,我没有找到任何好的解决方案,或者至少没有找到最佳实践。

我希望应用程序支持多个租户。这意味着我绝对需要一个多租户应用程序。无论如何,这允许所有 Microsoft 用户访问我的 Web 应用程序,这是我非常不希望的。业务计划如下:企业购买 subscription/product 然后获得应用程序的访问权限(最初是手动)。

起初我认为 Azure 中可能有某种设置可以直接在门户中手动 white-/blacklist 某些租户。我没有找到任何关于这个的东西,但也许我错过了它。

我的第二个想法是,我必须直接在服务器中实现逻辑。这应该不是问题,但是关于这个,您是否已经可以使用任何现有资源?我的想法是 after/before 每次重定向到一个页面,服务器检查数据库,如果允许租户访问该页面。如果不是,则重定向到“不允许访问此页面!”页面应该出现。

我是不是漏掉了什么重要的东西?我 100% 肯定,这是一个有点常见的用例,因此我很困惑,我没有找到任何相关的东西。

单租户应用程序只能由在注册应用程序的同一 AAD 中拥有组织帐户的用户访问。另一方面,任何拥有有效组织帐户的人都可以访问多租户应用程序。

您第一次尝试对多租户应用程序进行身份验证时,它未在您组织的 AAD 中注册。您必须触发 consent flow,这将允许用户使用他们的组织帐户登录并授予应用程序必要的权限。

解决问题的一种方法是限制对 Azure Active Directory 中租户的访问。查看此 document 了解详细信息。

另一种方法是使用 Azure Active Directory B2C 中的自定义策略为多租户 Azure Active Directory 设置登录。查看此 document 了解更多信息。