Terraform应用访问被拒绝错误

时间:2017-11-17 12:33:07

标签: jenkins terraform

所以我将Terraform从0.9.5升级到0.9.6,当我在附加了IAM权限的构建从站上运行jenkins作业时,我现在收到以下错误:

terraform096 apply -var db_snap_stamp=171120171217 -var db_snapshot=rds-dev-13102017 -var-file=env.tfvars -no-color
Error loading state: AccessDenied: Access Denied
status code: 403, request id: 288766CE5CCA24A0, host id: FOOBAR

jenkins作业确实运行terraform init,然后在我的本地测试服务器上运行,我没有看到错误。在本地测试服务器上,我使用的是aws凭证文件。

我已经查看了0.9.6的发行说明,但我看不出哪些更改可能导致此问题(https://github.com/hashicorp/terraform/issues/14423可能?)。

有什么想法吗?

更新

我打开了terraform调试,发现403发生在s3列表对象上。正在使用的IAM角色允许在0.9.5但不在0.9.6中 - 我尝试给角色管理员访问但没有变化:

-----------------------------------------------------
2017/11/17 15:01:47 [DEBUG] [aws-sdk-go] DEBUG: Response s3/ListObjects 
Details:
---[ RESPONSE ]--------------------------------------
HTTP/1.1 403 Forbidden
Connection: close
Transfer-Encoding: chunked
Content-Type: application/xml
Date: Fri, 17 Nov 2017 15:01:47 GMT
Server: AmazonS3
X-Amz-Bucket-Region: eu-west-2

有问题的S3存储桶确实使用了KMS加密,但是在init运行之前设置的所有内容都是:

terraform096 init -backend=true -get=true -input=false -backend-config="bucket=${BUCKET}" -backend-config="key=${ENV}.tfstate" -backend-config="region=eu-west-2" backend-config="profile=${AWS_PROFILE}" -backend-config="encrypt=true" -backend-config="kms_key_id=${KMS}"

1 个答案:

答案 0 :(得分:0)

所以我提出这是Hashicorp的一个问题,这确实看起来像一个错误 - 如果有人想要密切注意进展,请看一下:

https://github.com/hashicorp/terraform/issues/16710