权限错误:服务帐户无权访问cloud-ml平台

时间:2019-04-30 09:33:44

标签: kubernetes endpoint google-cloud-ml kubeflow

我正在运行Kubeflow管道(泊坞窗方法),并且集群使用端点导航到仪表板。创建簇之后,按照此链接Deploy Kubeflow中提到的说明进行操作。一切均已成功创建,并且集群生成了端点,并且端点运行正常。

端点链接将类似于https://appname.endpoints.projectname.cloud.goog

除最后一个管道外,管道的所有工作负荷均正常运行。在上一个工作负载中,我试图将作业提交给cloud-ml引擎。但是它记录显示该应用程序无权访问该项目。这是日志的完整图片。

  

错误:   (gcloud.ml-engine.versions.create)PERMISSION_DENIED:请求已   认证范围不足。

     

错误:   (gcloud.ml-engine.jobs.submit.prediction)用户   [clustername@project_name.iam.gserviceaccount.com]   没有访问项目[project_name]的权限   (或者它可能不存在):请求的身份验证范围不足。

从日志中很明显,此服务帐户无权访问项目本身。但是,我尝试将Cloud ML Service的访问权限授予该服务帐户,但仍然会引发相同的错误。

将Cloud ML服务凭据提供给此应用程序的任何其他方法。

1 个答案:

答案 0 :(得分:1)

检查两件事:

1)GCP IAM:如果clustername-user@projectname.iam.gserviceaccount.com具有ML Engine Admin权限。

2)您的管道DSL:如果cloud-ml引擎步骤调用apply(gcp.use_gcp_secret('user-gcp-sa')),例如https://github.com/kubeflow/pipelines/blob/ea07b33b8e7173a05138d9dbbd7e1ce20c959db3/samples/tfx/taxi-cab-classification-pipeline.py#L67