有没有办法知道 Terraform AWS 提供商在幕后进行了哪些调用?

时间:2021-07-06 17:58:26

标签: amazon-web-services terraform terraform-provider-aws aws-organizations

请原谅问题标题的措辞不好,但实际上我们在 terraform 中执行 plan 时面临的情况是,最后我们会遇到一个模糊的单行访问被拒绝异常。

...
module.vpn_connection.aws_vpn_connection_route.default[0]: Refreshing state... [id=***]
2021/07/06 17:11:08 [INFO] backend/local: plan operation completed

Error: error describing AWS Organizations Account (***): AccessDeniedException: You don't have permissions to access this resource.[0m

make: *** [plan] Error 1

现在我无论如何都不是 terraform 专家(我是一名开发人员),但我已经多次仔细检查过,我们的 tf 代码中没有任何地方我们试图调用以明确描述帐户。< /p>

我已尝试使用 TF_LOG_CORE=trace TF_LOG_PROVIDER=trace TF_LOG=trace 重新初始化和运行计划,虽然其他所有内容都得到了更详细的记录,但该行仍然继续单独出现,没有任何进一步的有用信息。

当我们的安全人员对我们的 AWS 访问进行了一些更改时,我们最初发现了这种情况,包括引入 AWS SSO 配置文件(很可能无关紧要)以及将状态存储桶从旧帐户移动到新的 Ops 帐户,因此我最好的猜测是 atm 是供应商的变化导致了这一点。公平地说,更改远程后端配置的过程也使用 terraform 优雅地完成。

在谷歌上搜索后,除了有人发布了类似 here 的内容外,我得到的结果很少。

为了让事情更加混乱,在此之前和之后完成的 API 调用(登录跟踪和我相信的状态锁定,例如对 dynamodb/GetItemAction=DescribeVpnConnections 的 POST)都得到 200响应代码返回,因此似乎没有立即导致此错误。

有关版本和系统配置的更多信息:

<块引用>

MacOS Big Sur 11.2.3(和亚特兰蒂斯) Terraform v0.14.8。 provider registry.terraform.io/hashicorp/aws v3.46.0 如上所述,我们使用的是远程 S3 后端。

例如,与“健康”帐户相比,我可以看到该点附近的日志如下:

2021/06/24 19:33:13 [INFO] backend/local: plan operation completed
2021/06/24 19:33:13 [INFO] backend/local: writing plan output to: plan.out

No changes. Infrastructure is up-to-date.

This means that Terraform did not detect any differences between your
configuration and real physical resources that exist. As a result, no
actions need to be performed.[0m

我想知道我们是否可以查明是哪个 TF 操作/AWS 调用导致了这种情况,以及它是否是 terraform 提供程序/模块发出的调用。鉴于所提供的信息很少,我更多的是在故障排除方面提供下一步操作的提示,而不是最终答案。

完全没有想法,有什么线索吗?如果您需要任何代码片段或更多日志,我可以提供,请告诉我,但实际上我看到的也差不多!

干杯,

0 个答案:

没有答案
相关问题