Azure服务主体读取AAD用户信息权限不足问题及所需权限排查
解决Azure CLI执行
az ad user list权限不足的问题 确认权限类型与范围:
服务主体需要的是Microsoft Graph的应用权限,而非委派权限。你当前分配的User Read大概率是委派权限(用于用户交互场景),后台运行的服务主体需要User.Read.All(读取所有用户)或Directory.Read.All(读取目录内所有对象,包含用户、组等)这类应用权限。必须授予管理员同意:
即使正确分配了应用权限,也需要全局管理员或用户管理员角色的账号,为该权限授予管理员同意。没有这一步,服务主体无法实际调用API。检查权限所属的API:
确保权限是分配在Microsoft Graph下,而非旧版的Azure AD Graph。az ad系列命令现在默认调用Microsoft Graph,旧Graph的权限不生效。验证权限生效与CLI登录状态:
权限分配并同意后,可能需要等待1-5分钟生效。同时,确保你使用服务主体登录CLI时的命令正确:az login --service-principal -u <客户端ID> -p <客户端密钥> --tenant <租户ID>
内容的提问来源于stack exchange,提问作者natesh y
相关产品推荐
相关产品推荐

