提问者:小点点

GCP-顶点AI模型-访问GCS失败


我们有一个使用自定义映像创建的顶点AI模型。我们试图在启动时访问存储桶,但收到以下错误:

google.api_core.exceptions.Forbidden: 403 GET https://storage.googleapis.com/storage/v1/b/...?projection=noAcl&prettyPrint=false: {service account name} does not have storage.buckets.get access to the Google Cloud Storage bucket.

问题是我找不到错误中提到的服务号来赋予它正确的访问权限。


共2个答案

匿名用户

通过给endpoint正确的服务号解决了这个问题

匿名用户

我正在处理同样的一般问题。顶点AI无法从自定义预测容器访问我的云存储存储桶。

在挖掘了GCPVertex文档的复杂树之后,我发现了这个:https://cloud.google.com/vertex-ai/docs/general/custom-service-account#setup

https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#artifacts

更新完成此工作后,我能够获得GCS工作权限。

  1. 创建一个新的服务号并赋予它适当的角色/权限。您需要您的PROJECT_IDPROJECT_NUMBER
NEW_SA_EMAIL=new-service-account@$PROJECT_ID.iam.gserviceaccount.com
AI_PLATFORM_SERVICE_AGENT=service-$PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

gcloud iam service-accounts create $NEW_SA_NAME \
  --display-name="New Vertex AI Service Account" \
  --quiet

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$NEW_SA_EMAIL" \
  --role="roles/storage.admin" \
  --quiet

gcloud iam service-accounts add-iam-policy-binding \
  --role=roles/iam.serviceAccountAdmin \
  --member=serviceAccount:$AI_PLATFORM_SERVICE_AGENT \
  --quiet \
  $NEW_SA_EMAIL

使用gcloudvertex ai命令上传您的模型并创建endpoint…

部署模型时,将新SA与顶点AIendpoint相关联。您将需要GCP_REGIONENDPOINT_IDMODEL_IDDEPLOYED_MODEL_NAMENEW_SA_EMAIL从第一步开始。

gcloud ai endpoints deploy-model $ENDPOINT_ID \
  --region=$GCP_REGION \
  --model=$MODEL_ID \
  --display-name=$DEPLOYED_MODEL_NAME \
  --machine-type=n1-standard-4 \
  --service-account=$NEW_SA_EMAIL