Terraform - AWS EC2 IAM角色

时间:2018-05-31 09:59:48

标签: amazon-web-services amazon-ec2 terraform aws-iam terraform-provider-aws

希望在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角色?我是否需要另外一个角色来允许在角色之间切换?

或者它应该是这样吗?

由于

1 个答案:

答案 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"
        }
    ]
}