希望在AWS中使用IAM角色运行Terraform,删除访问/共享密钥等。我这样做是对的,感觉有些奇怪。
所以我有我的aws_provider.tf
provider "aws" {
region = "${var.aws_region}"
assume_role {
role_arn = "${var.aws_terraform_admin_role}"
}
}
除非我真的给我运行Terraform的EC2实例,否则它将无效。
我在这里遗漏了什么,我正在思考AWS方面和IAM角色?如果没有为EC2实例分配,Terraform是否应该能够承担IAM角色?我是否需要另外一个角色来允许在角色之间切换?
或者它应该是这样吗?
由于
答案 0 :(得分:1)
您的EC2实例需要一个instance role,使其有权承担您要用于Terraform的角色。例如:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement11111",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::11111111111:role/TerraformRole"
}
]
}