Azure 活动目录 |多租户应用

Azure Active Directory | Multi-tenant Application

在 Azure AD 上使用多租户应用程序时,是否有限制特定租户的方法?

也许我误解了整件事,但我意识到另一个租户的用户可以在同意后登录我的应用程序,但我找不到一种方法来限制我信任的一组租户登录。

我们目前没有映射到多租户应用的租户允许列表的应用程序配置属性。

您可以将此功能构建到您的应用程序中 - auth/JWT 令牌包含 tenantID (tid) 作为声明。您只能为应用允许列表中的已知租户授权访问。

如果这是您希望能够通过应用程序配置页面(如在 Azure 管理门户中)配置的功能,请告诉我们?在这里了解您的情况也很棒。

希望对您有所帮助,

虽然此功能目前在 Azure AD 中不可用,但如果您在组合中添加 Auth0,则可以实现此方案。 Auth0 支持multi-tenant Azure AD applications as a connection for your applications and using the rules engine您可以编写规则来限制对基于 Azure AD 租户的特定应用程序的访问。

下面是这样一个规则的示例(它在 Auth0 身份验证管道中运行,在用户在 Azure AD 中进行身份验证之后并且在用户可以访问您的应用程序之前):

function (user, context, callback) {
     if(context.clientName !== 'NameOfTheAppWithWhiteList'){

      var whitelist = [ 'tenantId1', 'tenantId2' ]; //authorized Azure AD tenants.
      var userHasAccess = whitelist.some(
        function (tenantId) {
          return tenantId === user.tenantid;
        });

      if (!userHasAccess) {
        return callback(new UnauthorizedError('Access denied.'));
      }
    }

    callback(null, user, context);
}

免责声明:我为 Auth0 工作。