我想將一個 API 部署到應用程式引擎上,但它最終使用了錯誤的服務賬戶。 我在 gitlab 中使用了這 3 個 cmd 行:
- gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
- gcloud config set account NameOfServiceAccount.com
- gcloud app deploy
我得到的結果是
目標服務帳戶。 [App Engine默認服務賬戶]
您是否要繼續(Y/n)?
開始部署服務[Lettering-back]......
╔════════════════════════════════════════════════════════════╗
牐牐═將2個檔案上傳到Google Cloud Storage ═╣╤╥╦╧
╚════════════════════════════════════════════════════════════╝
檔案上傳完畢。
ERROR: (gcloud.app.deploy) PERMISSION_DENIED: You do not have permission to act as
uj5u.com熱心網友回復:
為了部署新版本,成員必須擁有服務帳戶用戶 (role/iam.serviceAccountUser) 角色的App Engine默認服務賬戶。 帳戶,以及云構建編輯器(角色/cloudbuild.builds.editor 和云存盤物件管理員(角色/storage.objectAdmin)角色。
更具體地說,對于您的錯誤資訊,您需要在您的服務帳戶上使用 roles/iam.serviceAccountUser,其密鑰是您放置在 /tmp/$CI_PIPELINE_ID.json
參考:第一個表行在https://cloud.google.com/appengine/docs/standard/python/roles#predefined_roles
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/317564.html
標籤:
