You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制应用调用GET /applications端点仅返回自身拥有的应用?

解决方案:限制Microsoft Graph GET /applications仅返回指定子应用

可行,以下是几种实用方案:

1. 使用OData筛选器精准过滤结果

这是最直接的方法,无需调整权限,只需在请求中添加$filter参数定位目标应用:

  • 按应用名称筛选:如果子应用名称唯一,直接匹配显示名
    GET /applications?$filter=displayName eq 'prd-subapp'
    
  • 按所有者筛选:prd-masterapp作为prd-subapp的创建者,默认会成为其所有者,可通过主应用的对象ID筛选它拥有的所有应用(适用于多子应用场景)
    GET /applications?$filter=owners/any(o:o/id eq '{prd-masterapp-object-id}')
    
    主应用的对象ID可在Azure AD门户的「企业应用」中查看,或通过调用GET /servicePrincipals?$filter=displayName eq 'prd-masterapp'获取。

2. 明确Application.ReadWrite.OwnedBy权限的实际作用

你提到的这个权限核心是操作权限限制:它允许应用修改/删除自己拥有的应用,但读取范围仍覆盖租户内所有应用。这是设计预期,因此仅靠权限无法限制返回结果,必须结合筛选器实现需求。

3. 替代权限配置(可选)

若想从权限层面缩小读取范围,目前Microsoft Graph没有专门仅返回自身拥有应用的权限,但可以:

  • 避免授予Application.Read.All或Application.ReadWrite.All这类全范围权限,坚持使用Application.ReadWrite.OwnedBy,配合筛选器确保返回结果符合要求;
  • 若使用委托权限而非应用权限,可采用Application.ReadWrite.OwnedBy的委托版本,同样需要搭配筛选器使用。

内容的提问来源于stack exchange,提问作者Anil Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 18:15:01