如何为托管身份授予Azure AD特定应用注册的限定权限
针对特定Azure AD应用注册的最小权限配置方案
可以实现!你不需要依赖全局的Application.ReadWrite.All和AppRoleAssignment.ReadWrite.All权限,通过Azure AD自定义角色就能把权限严格限定在目标应用注册上,具体步骤如下:
1. 创建限定作用域的自定义角色
登录Azure门户,按以下流程操作:
- 进入「Azure Active Directory」→「角色和管理员」→「新建自定义角色」
- 选择「从头开始创建」,填写角色名称(比如「目标应用AppRole专属管理角色」)和描述
- 在「权限」步骤,搜索并添加精准匹配需求的权限动作:
microsoft.directory/applications/basic/read(读取目标应用基础信息)microsoft.directory/applications/appRoles/create(添加AppRole)microsoft.directory/applications/appRoles/update(更新AppRole)microsoft.directory/appRoleAssignments/create(给用户分配AppRole)- 如果需要删除权限,额外添加
microsoft.directory/applications/appRoles/delete和microsoft.directory/appRoleAssignments/delete
- 到「分配作用域」步骤,选择「单个应用程序」,搜索并选中你的目标应用注册(即定义大量AppRole的那个应用)
- 完成角色创建
2. 给托管身份分配自定义角色
- 回到「角色和管理员」页面,找到刚创建的自定义角色,点击「添加分配」
- 在弹窗中,「分配类型」选「用户、组或服务主体」,搜索并选中你的托管身份(系统分配或用户分配类型均可)
- 确认作用域为指定的目标应用注册,完成分配
3. 移除全局权限
- 进入托管身份的「API权限」页面,删除原有的
Application.ReadWrite.All和AppRoleAssignment.ReadWrite.All应用权限 - 确保无残留的全局权限,彻底避免过度授权
验证权限最小化
测试时用该托管身份尝试修改其他应用注册的AppRole或进行角色分配操作,应该会收到权限拒绝的错误,说明权限已严格限定在目标应用上。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

