Azure多租户AD应用在部分租户不可见,咨询租户级第三方应用允许设置
关于多租户Azure AD应用不可见及CLI报错的解决方案
一、租户级控制第三方应用可见性的关键设置
如果你的多租户应用在部分租户不可见,大概率是目标租户的跨租户访问或应用权限设置限制了外部应用的访问,主要看这几个核心配置:
- 跨租户访问设置:在目标租户的Azure AD门户中,进入Azure Active Directory > 外部标识 > 跨租户访问设置,检查针对外部租户的规则:
- 确认是否允许来自你应用所在租户的访问,或者是否将你的应用单独添加到了允许列表;
- 查看"应用"板块的配置,是否开启了允许外部应用访问该租户资源的权限。
- 用户授权权限设置:在目标租户的Azure Active Directory > 企业应用 > 用户设置里,重点检查两个开关:
用户可以同意代表他们访问公司数据的应用:如果关闭,普通用户无法自行授权使用你的应用,必须由租户管理员先完成同意操作;用户可以添加非库中的应用:如果你的应用不在Azure AD官方应用库中,关闭这个开关会直接阻止用户发现或添加你的应用。
- 管理员统一同意策略:如果你的应用需要访问租户的敏感数据或高权限资源,目标租户可能设置了必须由管理员统一授权才能使用,这种情况下普通用户会看不到应用,需要租户管理员通过应用的同意链接完成管理员级别的授权。
二、az ad app show --id appID报错的原因及解决
你遇到的Resource 'xxxxx' does not exist or one of its queried reference-property objects are not present报错,本质原因是:
az ad app show命令仅用于查询当前登录租户下的应用注册(App Registration),而多租户应用的注册记录只会存在于它的"宿主租户"(也就是你最初创建应用的租户)中。在其他租户里,当应用被授权后,只会生成一个服务主体(Service Principal),不会有应用注册的副本。
如果要在目标租户中验证应用是否已被授权,应该使用查询服务主体的命令:
az ad sp show --id appID
另外,你也可以在宿主租户的应用注册页面,确认应用确实是多租户模式:检查"身份验证"设置里的"支持的账户类型"是否选择了"任何组织目录中的账户",或者查看应用manifest中的availableToOtherTenants属性是否为true。
内容的提问来源于stack exchange,提问作者Dharshan
相关产品推荐
相关产品推荐

