排解 Service Catalog 的 Terraform 解決方案問題
本頁說明如何解決使用 Service Catalog 建立或更新 Terraform 解決方案時可能遇到的問題,並提供解決每個問題的建議。
權限遭拒錯誤
當您看到這則驗證錯誤時,會發生下列問題:
Permission denied; please check you have the correct IAM permissions and APIs enabled.
如要解決這個問題,請視您是否提供自己的服務帳戶而採取下列行動:
提供自備服務帳戶
確認您使用的服務帳戶會顯示在所用 Google Cloud 專案的「身分與存取權管理」服務帳戶頁面中。
如果服務帳戶顯示出來,請確認您具備正確的 IAM 權限,才能使用該帳戶。您必須具備 Google Cloud 使用服務帳戶的專案iam.serviceAccounts.actAs
權限。如果您不具備這個角色,請與專案擁有者或管理員聯絡,要求對方授予您存取權。
如果服務帳戶位於與 Terraform 解決方案不同的 Google Cloud 專案中,您必須執行以下額外的跨專案設定步驟。
預設服務帳戶
請確認您具備 Google Cloud 專案 Google Cloud 使用的 Compute Engine 預設服務帳戶的 IAM 權限 iam.serviceAccounts.actAs
。如果您不具備這個角色,請與專案擁有者或管理員聯絡,要求對方授予您存取權。詳情請參閱「Compute Engine 預設服務帳戶」。
建立構件值區時發生錯誤
當您看到這則驗證錯誤時,會發生下列問題:
Error creating artifacts bucket.
如要解決這個問題,請確認您在目前的 Google Cloud 專案中具有「Storage Admin」(roles/storage.admin
) 角色。如果您不具備這個角色,請與專案擁有者或管理員聯絡,要求對方授予您存取權。
無法建立建構錯誤
當您看到這則驗證錯誤時,會發生下列問題:
Failed to create build.
如要解決這個問題,請確認您使用的服務帳戶在目前的 Google Cloud 專案中具有「記錄檔寫入者」(roles/logging.logWriter
) 和「儲存空間管理員」(roles/storage.admin
) 角色。如果服務帳戶沒有這些角色,請與專案擁有者或管理員聯絡,由對方授予服務帳戶必要的存取權。
讀取 Cloud Storage 值區時發生錯誤
當您看到這則驗證錯誤時,會發生下列問題:
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 設定,並解決遇到的任何特定問題。