Terraform - AWS EC2 IAM 角色

Terraform - AWS EC2 IAM Roles

期待 运行 Terraform 在 AWS 中使用 IAM 角色,删除 access/shared 键等。我这样做对吗,感觉有点奇怪。

所以我有我的 aws_provider.tf

provider "aws" {
region = "${var.aws_region}"
  assume_role {
    role_arn     = "${var.aws_terraform_admin_role}"
  }
}

除非我真的给我 EC2 实例 运行ning Terraform 那个角色它不会工作。

我是否遗漏了什么,我在考虑 AWS 方面和 IAM 角色?如果没有分配 EC2 实例,Terraform 是否应该能够承担 IAM 角色?我是否需要扮演另一个角色才能在角色之间切换?

或者这是应该的吗?

谢谢

您的 EC2 实例需要一个 instance role 来赋予它承担您想要用于 Terraform 的角色的权利。例如:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement11111",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::11111111111:role/TerraformRole"
        }
    ]
}