排查 Service Catalog 的 Terraform 解决方案问题

本页面介绍了如何解决您在使用 Service Catalog 创建或更新 Terraform 解决方案时可能会遇到的问题,并提供了有关如何解决这些问题的建议。

权限遭拒错误

当您看到此验证错误时,会出现以下问题:

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

如需解决此问题,请根据您是否提供自己的服务账号,采取以下措施:

提供您自己的服务账号

验证您使用的服务账号是否显示在您使用的 Google Cloud 项目的 Identity and Access Management (IAM) 服务账号页面中。

如果服务账号显示出来,请验证您是否拥有使用该服务账号的正确 IAM 权限。您必须对使用服务账号的 Google Cloud 项目拥有iam.serviceAccounts.actAs权限。如果您没有此角色,请与项目所有者或可以授予您访问权限的管理员联系。

如果服务账号与 Terraform 解决方案位于不同的 Google Cloud 项目中,您必须执行以下额外的跨项目配置步骤

默认服务账号

验证您是否对 Google Cloud 项目使用的 Compute Engine 默认服务账号拥有 IAM 权限 iam.serviceAccounts.actAs。如果您没有此角色,请与项目所有者或可以授予您访问权限的管理员联系。如需了解详情,请参阅 Compute Engine 默认服务账号

创建制品存储桶时出错

当您看到此验证错误时,会出现以下问题:

Error creating artifacts bucket.

如需解决此问题,请验证您是否在当前 Google Cloud 项目中拥有 Storage Admin (roles/storage.admin) 角色。如果您没有此角色,请与项目所有者或可以授予您访问权限的管理员联系。

未能创建 build 错误

当您看到此验证错误时,会出现以下问题:

Failed to create build.

如需解决此问题,请验证您使用的服务账号是否在当前 Google Cloud 项目中具有 Logs Writer (roles/logging.logWriter) 和 Storage Admin (roles/storage.admin) 角色。如果该服务账号没有这些角色,请联系项目所有者或可以向该服务账号授予所需访问权限的管理员。

读取 Cloud Storage 存储桶时出错

当您看到此验证错误时,会出现以下问题:

Error reading GCS bucket: GCS_SOURCE.

如需解决此问题,请验证您使用的服务账号是否在当前Google Cloud 项目中具有 Storage Object Viewer (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 配置,并解决遇到的任何具体问题。