Google-Cloud-Platform

服務帳號沒有 storage.buckets.create 訪問權限

  • June 2, 2020

我為 Terraform 創建了一個服務帳戶。我們的過程的一部分是創建一些儲存桶並通過 Terraform 維護它們。

但是,當我們執行時,terraform apply我們會收到以下錯誤:

google_storage_bucket.state_bucket: googleapi: Error 403: terraform@{project}.iam.gserviceaccount.com does not have storage.buckets.create access to project {project_id}.

我已應用以下 IAM 權限但無濟於事:

  • Project Owner
  • Storage Admin
  • Storage Object Admin

我有同樣的問題。我們在 GCP 上使用組織。我使用此腳本在我創建的 terraform-admin 項目中創建 terraform 帳戶,該項目僅用於持有我們用於設置更高級別項目和環境的主 terraform 服務帳戶。

事實證明,我在 admin 項目中為 terraform@{project}.iam.gserviceaccount.com 設置的角色是該項目的本地角色。即在組織 IAM 視圖中,此服務帳戶僅顯示“計費帳戶使用者”和“項目創建者”。

我不確定,但我認為其他組織範圍的項目無法讀取在其他項目中設置的角色(或者在其他項目中為特定服務帳戶設置的角色被該服務帳戶的組織範圍角色中的角色設置覆蓋.)

將“儲存管理員”和“查看者”角色添加到組織範圍服務帳戶修復了此錯誤。

PS 我認為使用 terraform 企業可以管理組織範圍的使用者,從而可以在組織範圍內創建和管理 terraform 服務帳戶,避免手動將組織範圍角色添加到服務帳戶的需要社區版本的體驗.

引用自:https://serverfault.com/questions/963824