我们有一个使用自定义映像创建的顶点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.
问题是我找不到错误中提到的服务号来赋予它正确的访问权限。
通过给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工作权限。
PROJECT_ID
和PROJECT_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
使用gcloud
vertex ai命令上传您的模型并创建endpoint…
部署模型时,将新SA与顶点AIendpoint相关联。您将需要GCP_REGION
、ENDPOINT_ID
、MODEL_ID
、DEPLOYED_MODEL_NAME
和NEW_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