我一直在尝试设置terraform后端以将状态文件存储在GCS存储桶中。我已经创建了一个服务帐户,该帐户是项目所有者,并且具有gcs存储桶存储管理员访问权限,但仍然遇到以下错误:
初始化后端... 错误加载状态:发生2个错误: *编写“ gs://terraform-ubuntu-state-maintain/gcp/terraform.tfstate/default.tflock”失败:googleapi:错误403:权限不足,PerfectPer 任务 *存储:对象不存在。
p.s:已经使用前缀路径“ gcp”创建了gcs存储桶。还授予了服务帐户权限。
答案 0 :(得分:2)
我的错误是 ~/.config/gcloud/application_default_credentials.json
中的“配额项目”指向一个不存在的项目。
答案 1 :(得分:0)
我遇到了类似的问题,原来是我正在使用的存储桶名称。 GCS存储桶名称(例如S3存储桶名称)是GLOBAL,因此经常出现如下与权限相关的错误:
Error: Error inspecting states in the "gcs" backend:
querying Cloud Storage failed: googleapi: Error 403: terraform@xxx.iam.gserviceaccount.com does not have storage.objects.list access to terraform-state., forbidden
与权限相关,但实际上是错误的,因为您正尝试从其他用户的存储桶中读取内容。
P.S。 OG的名为terraform-state
的存储桶必须获取很多用于列出/创建对象的API请求...