Cloud Scheduler触发VertexAI训练任务上传模型权限不足问题求解
问题原因
你遇到的权限错误和Cloud Scheduler本身的OAuth配置无关,Scheduler的配置仅用于触发自定义训练任务的提交,真正运行训练代码时的认证权限是由Vertex AI自定义训练任务的配置决定的,二者是两套独立的认证体系。
本地运行时使用的是服务账号密钥文件,默认带有完整的云平台访问权限,所以不会触发报错。
解决方案
按以下步骤逐一排查修改即可:
- 首先检查你提交给Vertex AI的自定义训练任务(CustomJob)的请求Body,确认
serviceAccount字段填写的是你本地使用的同一服务账号邮箱,避免默认调用Vertex AI的内置默认服务账号。 - 在自定义训练任务的Worker池配置中添加
service_account_scopes参数,配置足够的访问权限范围,示例配置片段如下:
"workerPoolSpecs": [ { "machineSpec": { "machineType": "n1-standard-4" }, "replicaCount": "1", "containerSpec": { "imageUri": "你的镜像地址" }, "serviceAccount": "你的服务账号邮箱", "serviceAccountScopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } ]
- 确认你的服务账号已绑定至少包含
aiplatform.models.create权限的角色,推荐直接绑定Vertex AI 管理员(roles/aiplatform.admin)角色避免遗漏其他必要权限。
额外提示
你当前代码中使用的是TensorFlow的预构建推理镜像来承载Sklearn模型,后续如果需要部署该模型会出现兼容性问题,可更换为Sklearn对应的预构建推理镜像,或者自定义推理镜像。
内容的提问来源于stack exchange,提问作者racerX
相关产品推荐
相关产品推荐

