【发布时间】:2015-03-18 20:40:13
【问题描述】:
在 Azure AD 上使用多租户应用程序时,是否可以限制某些租户?
也许我误解了整个事情,但我意识到另一个租户的用户可以在同意后登录我的应用程序,但我找不到将登录限制为我信任的一组租户的方法。
【问题讨论】:
标签: azure azure-active-directory
在 Azure AD 上使用多租户应用程序时,是否可以限制某些租户?
也许我误解了整个事情,但我意识到另一个租户的用户可以在同意后登录我的应用程序,但我找不到将登录限制为我信任的一组租户的方法。
【问题讨论】:
标签: azure azure-active-directory
我们目前没有映射到多租户应用的租户允许列表的应用配置属性。
您可以做的是将此功能构建到您的应用程序中 - auth/JWT 令牌包含作为声明的tenantID (tid)。您只能授权应用允许列表中的已知租户访问。
如果您希望能够通过应用程序配置页面(例如在 Azure 管理门户中)配置此功能,请告诉我们?在这里了解您的情况也很棒。
希望这会有所帮助,
【讨论】:
虽然目前 Azure AD 中不提供此功能,但如果在组合中添加 Auth0,则可以实现此方案。 Auth0 支持您的应用程序 multi-tenant Azure AD applications as a connection 和 using the rules engine 您可以编写规则来限制对基于 Azure AD 租户的特定应用程序的访问。
以下是此类规则的示例(在用户在 Azure AD 中进行身份验证之后,在用户可以访问您的应用程序之前,在 Auth0 身份验证管道中运行):
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 工作。
【讨论】: