考虑到这些用例,是否有人对如何处理AWS的Terraform凭据有任何很酷的想法:
我的当前工作流需要根据操作更改AWS_ACCESS_KEY和AWS_SECRET_KEY:
terraform init --需要访问S3后端远程)
kitchen converge -需要访问测试环境+远程状态相同的原因)
kitchen verify -需要对测试environment.的访问
想法
我希望我可以将远程状态存储在相应的环境帐户中,但是在Terraform backendbackend中似乎不支持变量
发布于 2020-10-20 11:01:26
您将需要主帐户能够在每个env帐户上扮演一个角色来执行更改,而远程主帐户将保持所有状态。假设您有两个工作空间prod和dev,这是使用terraform worspaces的一个很好的方法,您可以尝试这样的方法:
variable "workspace_roles" {
default = {
dev = "arn:aws:iam::<dev account id>:role/terra_role"
prod = "arn:aws:iam::<prodaccount id>:role/terra_role"
}
}
provider "aws" {
assume_role = var.workspace_roles[terraform.workspace]
}https://stackoverflow.com/questions/64443343
复制相似问题