Невозможно создать группу безопасности AWS через Terraform - PullRequest
0 голосов
/ 29 марта 2019

Я использую Jenkins для автоматизации Terraform для создания моей среды AWS.Хотя у Jenkins есть разрешения на CreateSecurityGroup, я получаю эту ошибку, когда Jenkins запускает мой основной файл Terraform:

* aws_security_group.lambda_security_group: aws_security_group.lambda_security_group: UnauthorizedOperation: You are not authorized to perform this operation.status code: 403, request id: 08c21dbe-5b86-4ad1-8ff3-13611bdb178c

При наличии разрешения CreateSecurityGroup - мне любопытно, почему я не могу выполнить операцию.

Я гарантировал, что эти разрешения назначены роли Дженкинс, создающей группу безопасности:

        {
            "Sid": "AllowEC2Control",
            "Action": [
                "ec2:CreateSecurityGroup"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        }

Это код в моем файле Terraform:

Создание группы безопасности:

resource "aws_security_group" "lambda_security_group" {
  name = "security group"
  description = "Security group for data ingestion lambda"
  vpc_id = "${var.vpc_id}"

  egress {
    from_port = 0
    to_port = 0
    protocol = "-1"
    cidr_blocks = [
      "0.0.0.0/0"
    ]
  }

  tags {
    Service = "${var.tags_service_name}"
    environment = "${var.environment}"
  }
}

Создание лямбды:

resource "aws_lambda_function" "some_lambda" {
  function_name = "my_lambda"
  s3_bucket = "${aws_s3_bucket.my_data.bucket}"
  s3_key = "lambda.zip"
  role    = "${aws_iam_role.my_iam_role.arn}"
  handler = "lambda_function.lambda_handler"
  runtime = "python3.6"
  timeout = 900
  memory_size = 128
  source_code_hash = "${var.GIT_SHA}"
  vpc_config {
    security_group_ids = [
      "${aws_security_group.lambda_security_group.id}"
    ]
    subnet_ids = "${var.subnets}"
  }

К сожалению, я получаю сообщение об ошибке сверху, когда Дженкинс выполняет скрипт Terraform.Я ожидаю, что у меня будут необходимые разрешения для создания этой группы безопасности

1 Ответ

0 голосов
/ 31 марта 2019

Вы просто авторизуете свои jenkins для создания группы безопасности и в своем коде terraform, который хотите добавить и вывести тоже.

Вы должны также предоставить разрешение на выход. Здесь ссылка https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ec2-api-permissions.html#security-group

Чтобы иметь возможность добавлять / обновлять / удалять, измените ваше правило iam на

        {
            "Sid": "AllowEC2Control",
            "Action": [
                "ec2:CreateSecurityGroup",
                "ec2:*SecurityGroupEgress",
                "ec2:*SecurityGroupIngress",

            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...