0

希望在 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 角色?Terraform 不应该能够在没有分配 EC2 实例的情况下承担 IAM 角色吗?我是否需要扮演另一个角色才能在角色之间切换?

还是应该这样?

谢谢

4

1 回答 1

1

您的 EC2 实例需要一个实例角色,该角色赋予它代入您要用于 Terraform 的角色的权限。例如:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement11111",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::11111111111:role/TerraformRole"
        }
    ]
}
于 2018-05-31T10:59:30.200 回答