首页 文章

使用IAM角色而不是凭据使用terraform从EC2实例创建aws资源

提问于
浏览
1

我们正在制定一项要求,我们希望在AWS EC2实例上运行的terraform应用程序使用IAM角色而不是使用凭据(accesskey / secretkey)作为aws提供程序的一部分来在AWS中创建route53 . 注意:添加到实例的IAM角色已提供策略,该角色为route53fullaccess提供角色 . 当我们在terraform.tf中使用以下语法时,它工作正常 . 我们能够创建路线 . 句法:

*provider "aws" {
access_key = "${var.aws_accesskey}
secret_key = "${var.aws_secretkey}
region = "us-east-1"
}
resource "aws_route53_record {}*

但是,我们希望terraform脚本使用IAM Role运行,而不是使用凭据运行 . (不想维护凭证文件)步骤:1 . 从terraform.tf文件中删除提供程序块并运行构建 . 语法:资源“aws_route53_record {} 2.获取以下错误.Provider.aws:InvalidClientTokenid.3 . 通过terraform官方文档使用IAM Role . 它说使用元数据api . 但是没有工作样本 . (https://www.terraform.io/docs/providers/aws/index.html)如果它是一个基本问题,那么Terraforms的新手如此原谅我 . 有人可以帮助代码/工作样本来实现这一目标吗?

2 回答

  • 0

    在提供者的terraform脚本中为IAM角色插入以下行:

    role_arn =“arn:aws:iam ::: role / SQS-Role-demo”

  • 2

    看看这里,https://www.terraform.io/docs/providers/aws/#ec2-role它解释了这在AWS上是如何工作的 .

相关问题