Ошибка доступа к хранилищу конвейеров Kubeflow внутри одного проекта GCP?
После установки Kubeflow 0.7 на новый кластер GKE (через https://deploy.kubeflow.cloud/) я настроил OAuth и удостоверение рабочей нагрузки на основе соответствующих руководств.
В моем конвейере мне нужно получить доступ к корзине 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.
1 ответ
Хорошо, так что для тех, у кого похожие проблемы. Я забыл добавить в код следующий фрагментstep.apply(gcp.use_gcp_secret('user-gcp-sa'))
Это работает даже с kfp.components.load_component_from_file()
Это выяснилось благодаря замечательным людям из канала kubeflow slack!