【问题标题】:ec2 instance create fails using IAM role with terraform使用带有 terraform 的 IAM 角色创建 ec2 实例失败
【发布时间】:2019-09-20 03:34:22
【问题描述】:

我正在使用 terraform 使用 IAM 配置文件创建 EC2 实例。设置了所有正确的角色和策略后,我仍然收到错误消息:

UnauthorizedOperation:您无权执行此操作。状态码:403

这是我的 main.tf:

provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "aws_test" {
  ami = "ami-image"
  instance_type = "t2.micro"
  iam_instance_profile = "test-role"
}

这是我的 aws 政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:*"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:InstanceType": [
                        "t2.micro"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*"
        }
    ]
}

这是我在 main.tf 中使用的角色 arn

arn:aws:iam:::role/test-role

在谷歌上搜索,我发现文章告诉我这应该可以工作,但我似乎遗漏了一些东西。任何帮助将不胜感激。 提前致谢!!

【问题讨论】:

  • 您确定拒绝访问错误与 iam_instance_profile 有关吗?
  • 错误说未经授权的操作确实暗示该角色没有适当的权限,不是吗?令人困惑的部分是附加到该角色的策略具有所有正确的权限
  • 表示运行 Terraform 的用户没有正确的权限。这是错误的全部范围吗?执行 Terraform 的用户/角色有什么权限?
  • 错误只说了这么多,我还在该角色正在使用的策略中附加了策略,似乎提供了所有必需的权限
  • 不,不是您授予实例的权限,而是您对用于运行 Terraform 的用户/角色的权限。

标签: amazon-ec2 terraform amazon-iam


【解决方案1】:

更新:我通过在 ec2 机器上直接安装 terraform 来运行它,不确定这是否会导致问题

在不提供特定凭证的情况下在 EC2 实例中运行 Terraform 将potentially use the Metadata API to retrieve credential

您可以检查是否可以在实例内部调用元数据 API。

【讨论】:

    【解决方案2】:

    UnauthorizedOperation 表示运行terraform 的用户或角色没有创建aws_instance 的权限。

    确保运行 terraform 的用户或角色在 AWS IAM 中具有适当的权限

    【讨论】:

      猜你喜欢
      • 2019-12-17
      • 2021-03-01
      • 2018-11-10
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 2017-10-01
      相关资源
      最近更新 更多