GCP - Vertex AI Model - Ошибка доступа к GCS

У нас есть модель Vertex 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 ответа

Я занимаюсь тем же общим вопросом. Vertex AI не может получить доступ к моей корзине Cloud Storage из пользовательского контейнера прогнозов.

Покопавшись в сложном дереве документов GCP Vertex, я нашел это: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_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
  1. Загрузите свою модель и создайте конечную точку, используяgcloudкоманды вершины ai...

  2. Свяжите новый SA с конечной точкой Vertex AI при развертывании модели. Вам понадобится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

Решил это, предоставив конечной точке правильную учетную запись службы

Другие вопросы по тегам