同一个 GCP 项目中的 Kubeflow 管道存储访问错误?

Kubeflow pipelines storage access error inside same GCP Project?

在新的 GKE 集群上安装 Kubeflow 0.7 后(通过 https://deploy.kubeflow.cloud),我根据各自的教程配置了 OAuth 和 Workload Identity。

在我的管道上,我必须从同一项目访问 GCS 存储桶,但我似乎无权执行此操作。

但是,集群确实可以访问 GCR 和存储权限,可以下载并安装 Docker 图像和 运行 代码。当从代码请求时,它无法从其他存储桶下载,即使这些存储桶在同一个项目中。

代码使用默认身份验证方法:

storage_client = storage.Client(project_id)
bucket = storage_client.get_bucket(bucket)

有没有人知道如何通过访问 BigQuery(将在下载这些文件后访问)来解决和防止这种情况发生

google.api_core.exceptions.Forbidden: 403 GET https://storage.googleapis.com/storage/v1/b/$BUCKET?projection=noAcl Primary: /namespaces/$PROJECT_ID.svc.id.goog with additional claims does not have storage.buckets.get access to $BUCKET.

好的,对于有类似问题的任何人。我忘了在代码中添加以下代码段 step.apply(gcp.use_gcp_secret('user-gcp-sa'))

这甚至适用于 kfp.components.load_component_from_file()

多亏了 kubeflow slack 频道的那些了不起的人!