首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行时重新加载terraform提供程序以使用不同的AWS配置文件

如何在运行时重新加载terraform提供程序以使用不同的AWS配置文件
EN

Stack Overflow用户
提问于 2020-04-09 07:49:04
回答 1查看 200关注 0票数 0

如何在运行时重新加载terraform提供程序以使用不同的AWS配置文件。

创建一个新用户

代码语言:javascript
复制
resource "aws_iam_user" "user_lake_admin" {

  name = var.lake_admin_user_name
  path = "/"
  tags = {
    tag-key = "data-test"
  }
}
代码语言:javascript
复制
provider "aws" {
  access_key = aws_iam_access_key.user_lake_admin_AK_SK.id
  secret_key = aws_iam_access_key.user_lake_admin_AK_SK.secret
  region                  = "us-west-2"
  alias                   = "lake-admin-profile"
}

这个lake_admin用户是在同一个文件中创建的。

试着用

代码语言:javascript
复制
provider "aws" {
  access_key = aws_iam_access_key.user_lake_admin_AK_SK.id
  secret_key = aws_iam_access_key.user_lake_admin_AK_SK.secret
  region                  = "us-west-2"
  alias                   = "lake-admin-profile"
}
resource "aws_glue_catalog_database" "myDB" {
  name  = "my-db"
  provider = aws.lake-admin-profile
}

如我所知,terraform提供程序首先在所有terraform文件中执行。

,但有没有办法在执行terraform的过程中重新加载提供程序的配置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-14 18:25:09

你不能直接这么做。

您可以在一个根模块中应用用户的创建和状态,并在第二个提供程序中使用它的凭据。

为了部署基础设施,您可能会更好地使用IAM角色并承担角色提供程序来处理这种情况。

通常,您不需要使用特定的用户创建基础设施。这样做很少有好处。我想不出主创建基础结构对创建的基础结构有任何隐含的特定访问权的情况。

您可以使用deployment角色或IAM用户来部署帐户中的所有内容,然后分配基于资源的IAM策略来执行部署中的限制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61116301

复制
相关文章

相似问题

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