首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用InSpec和远程状态处理分布式环境中的Terraform提供程序凭据

使用InSpec和远程状态处理分布式环境中的Terraform提供程序凭据
EN

Stack Overflow用户
提问于 2020-10-20 10:32:51
回答 1查看 84关注 0票数 0

考虑到这些用例,是否有人对如何处理AWS的Terraform凭据有任何很酷的想法:

  • 分布式环境(prod/pre/qa/test/dev),具有各个AWS帐户
  • S3的所有环境的后端远程状态,在一个单一的AWS帐户
  • 测试厨房中使用InSpec.

我的当前工作流需要根据操作更改AWS_ACCESS_KEYAWS_SECRET_KEY

  • terraform init --需要访问S3后端远程
    • Non-functional --需要访问特定环境+远程状态
      • Non-functional(一组凭据不能同时访问env +远程state)

    )

  • kitchen converge -需要访问测试环境+远程状态
    • Non-functional (与above)

相同的原因)

  • kitchen verify -需要对测试environment.

的访问

想法

我希望我可以将远程状态存储在相应的环境帐户中,但是在Terraform backendbackend中似乎不支持变量

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-20 11:01:26

您将需要主帐户能够在每个env帐户上扮演一个角色来执行更改,而远程主帐户将保持所有状态。假设您有两个工作空间prod和dev,这是使用terraform worspaces的一个很好的方法,您可以尝试这样的方法:

代码语言:javascript
复制
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]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64443343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档