Android Management API patch策略报错:调用方无企业管理权限如何解决
403报错的核心是GCP IAM权限与Android企业管理员权限的体系分离:GCP项目层面授予的Android Management User角色仅允许服务账号调用Android Management API接口,但还需要将该服务账号添加为对应Android企业的管理员,才有权限操作该企业下的策略、设备等资源,两类权限独立配置。
解决方案
不需要重新创建企业,也不需要更换新账号,按如下步骤操作即可:
- 使用最初创建该Android企业的管理员账号,通过OAuth2方式完成API认证
- 先调用
androidmanagement.enterprises().get(name=企业ID)接口,获取当前企业的已有管理员列表,避免后续操作覆盖原有权限 - 调用如下
enterprises.patch接口,将服务账号添加为企业管理员:
androidmanagement.enterprises().patch( name=企业ID, body={ "administrators": [ # 这里保留get接口返回的所有原有管理员条目,再新增服务账号条目 *existing_administrators, { "email": "你的服务账号邮箱地址", "role": "ADMIN" } ] } ).execute()
配置完成后,你用服务账号密钥发起的策略修改请求即可正常执行。
补充说明
- 并非只有企业创建账号拥有管理权限,所有被添加为企业管理员的账号(包括服务账号)都可以执行对应权限范围内的操作
- 如果操作后依然报错,可以检查服务账号邮箱是否拼写正确,也可以尝试将服务账号的GCP IAM角色从
Android Management User调整为Android Management Admin再重试
内容的提问来源于stack exchange,提问作者Jose Jaime
相关产品推荐
相关产品推荐

