Сбой создания экземпляра ec2 с использованием роли IAM с terraform - PullRequest
0 голосов
/ 01 мая 2019

Я использую terraform для создания экземпляра EC2 с использованием профиля IAM.После установки всех правильных ролей и политик я все еще получаю сообщение об ошибке:

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: aws: iam ::: role / test-role

При поиске в Google я нашел статьи, в которых говорилось, что это должно работать, но мне, кажется, что-то не хватает.Любая помощь будет высоко оценен.Заранее спасибо !!

Ответы [ 2 ]

1 голос
/ 15 мая 2019

обновление: я запускаю это, устанавливая terraform непосредственно на машину ec2, но не уверен, что это может вызвать проблемы

Запуск Terraform в экземпляре EC2 без указания конкретных учетных данных потенциально может использовать API метаданных для получения учетных данных .

Вы можете проверить, можете ли вы вызывать API метаданных внутри экземпляра.

0 голосов
/ 01 мая 2019

UnauthorizedOperation означает, что у пользователя или роли, выполняющей terraform, нет прав для создания aws_instance.

Убедитесь, что у пользователя или роли, выполняющей terraform, есть соответствующие разрешения в AWS IAM

...