Amazon web services 使用IAM角色的Terraform

Amazon web services 使用IAM角色的Terraform,amazon-web-services,amazon-iam,terraform,Amazon Web Services,Amazon Iam,Terraform,我一直在使用terraform的访问/密钥在AWS中创建/管理我们的基础设施。但是,我正在尝试改用IAM角色。我应该能够在我的帐户中使用一个角色,并在另一个帐户中担任该角色,并且应该能够在另一个帐户中运行计划、应用等来构建infra。有什么想法,请提出来 到目前为止,我正在使用进行测试,但由于某些原因,它对我不起作用,或者我对说明不清楚。我们使用非地形脚本使用IAM角色设置凭据,并假设角色。(类似)对于与okta一起使用,我们使用 我们获得tmp Credentails和令牌,将其保存在~/.a

我一直在使用terraform的访问/密钥在AWS中创建/管理我们的基础设施。但是,我正在尝试改用IAM角色。我应该能够在我的帐户中使用一个角色,并在另一个帐户中担任该角色,并且应该能够在另一个帐户中运行计划、应用等来构建infra。有什么想法,请提出来


到目前为止,我正在使用进行测试,但由于某些原因,它对我不起作用,或者我对说明不清楚。

我们使用非地形脚本使用IAM角色设置凭据,并假设角色。(类似)对于与okta一起使用,我们使用

我们获得tmp Credentails和令牌,将其保存在~/.aws/credentials中,作为各自的dev/prod etc配置文件,然后指向各自的terraform提供程序配置,如下所示:

provider "aws" {
  region                  = "${var.region}"
  shared_credentials_file = "${pathexpand("~/.aws/credentials")}"
  profile                 = "${var.dev_profile}"
}

获取您想要担任的角色的完整ARN。在提供程序配置中,将“假定角色”块与ARN一起使用:

提供程序“aws”
region=“”
担任{
role\u arn=“arn:aws:iam::ACCOUNT\u ID:role/role\u NAME”
}
}

您是否尝试使用假定角色?如果您收到任何错误,也请分享。我确实使用了假定角色。我还需要为将担任该角色的用户使用访问密钥/密钥吗?谢谢@jpancoast。我在阅读了更多关于他们的文档后发现了这一点,并且它起了作用。谢谢你的来信。
provider "aws"
  region = "<whatever region>"
  assume_role {
    role_arn     = "arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME"
  }
}