排解 Service Catalog 的 Terraform 解決方案問題

本頁說明如何解決使用 Service Catalog 建立或更新 Terraform 解決方案時可能遇到的問題,並提供每項問題的修正建議。

權限遭拒錯誤

如果看到這則驗證錯誤訊息,表示發生下列問題:

Permission denied; please check you have the correct IAM permissions and APIs
enabled.

如要解決這個問題,請視您是否提供自己的服務帳戶,採取下列行動:

提供您自己的服務帳戶

確認您使用的服務帳戶顯示在 Google Cloud 專案的身分與存取權管理 (IAM) 服務帳戶頁面中。

如果服務帳戶顯示在清單中,請確認您具備使用該帳戶的正確 IAM 權限。您必須具備使用服務帳戶的專案權限iam.serviceAccounts.actAs Google Cloud 。如果您不具備這個角色,請與專案擁有者或管理員聯絡,要求對方授予存取權。

如果服務帳戶與 Terraform 解決方案位於不同專案,您必須執行下列跨專案設定的額外步驟。 Google Cloud

預設服務帳戶

確認您擁有專案使用的 Compute Engine 預設服務帳戶的 IAM 權限 iam.serviceAccounts.actAs。 Google Cloud 如果您不具備這個角色,請與專案擁有者或管理員聯絡,要求對方授予存取權。詳情請參閱 Compute Engine 預設服務帳戶

建立構件值區時發生錯誤

如果看到這則驗證錯誤訊息,表示發生下列問題:

Error creating artifacts bucket.

如要解決這個問題,請確認您在目前的 Google Cloud 專案中具有 Storage 管理員 (roles/storage.admin) 角色。如果您不具備這個角色,請與專案擁有者或管理員聯絡,要求對方授予您存取權。

無法建立建構錯誤

如果看到這則驗證錯誤訊息,表示發生下列問題:

Failed to create build.

如要解決這個問題,請確認您使用的服務帳戶在目前的 Google Cloud 專案中,是否具有「記錄檔寫入者」(roles/logging.logWriter) 和「儲存空間管理員」(roles/storage.admin) 角色。如果沒有這些角色,請與專案擁有者或管理員聯絡,請對方授予服務帳戶必要存取權。

讀取 Cloud Storage bucket 時發生錯誤

如果看到這則驗證錯誤訊息,表示發生下列問題:

Error reading GCS bucket: GCS_SOURCE.

如要解決這個問題,請確認您使用的服務帳戶在目前的Google Cloud 專案中,是否具有 Storage 物件檢視者 (roles/storage.objectViewer) 角色。如果沒有這個角色,請與專案擁有者或管理員聯絡,請對方授予服務帳戶所需存取權。

沒有 Terraform 模組

如果看到這則驗證錯誤訊息,表示發生下列問題:

unable to process terraform module - no terraform module detected. Only TF or
TF.JSON files are currently supported.

如要解決這個問題,請確認 Terraform 模組符合預期格式,並透過壓縮一系列 Terraform 檔案建立。

狀態無效,但沒有驗證錯誤

如果驗證狀態為 INVALID,但沒有顯示任何特定驗證錯誤,則會發生下列問題。如果 Terraform 設定有問題,就可能發生這種情況。

如要解決這個問題,請使用 Terraform apply 指令驗證 Terraform 設定,並解決遇到的任何特定問題。