我正在尝试通过 Terraform 制作 GCP VM。我在 Google 上创建了一个具有 Project Owner 角色的服务帐户。通过 Terraform,我正在尝试制作一个存储桶来存储 Terraform 的状态。凭证的 .json 位于 Gitlab 变量中。
问题是,尽管服务帐户具有所有者角色,但我收到 403 错误,指出我的服务帐户无权访问并且被禁止。
我尝试过的事情:
我为服务帐户分配了不同的角色,包括项目编辑器、存储管理员和存储对象管理员。
我已经删除并重新制作了它(并更新了 Gitlab 变量)。
我已经通过 UI 而不是 Terraform 在 google 上创建了bucket,因为这是问题所在,但没有改变任何东西。
Gitlab 的 yml:
image:
name: hashicorp/terraform:light
entrypoint:
- '/usr/bin/env'
- 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
before_script:
- rm -rf .terraform
- terraform --version
- mkdir -p ./creds
- echo $SERVICEACCOUNT | base64 -d > ./creds/serviceaccount.json
- terraform init
stages:
- validate
- plan
- apply
validate:
stage: validate
script:
- terraform …Run Code Online (Sandbox Code Playgroud) google-cloud-storage google-cloud-platform gitlab-ci-runner terraform google-iam