Получите «Не разрешено выполнять DescribeSecurityGroups» при создании нового проекта в AWS CodeBuild - PullRequest
0 голосов
/ 16 октября 2018

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

Not authorized to perform DescribeSecurityGroups

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Возможно, вам не хватает разрешений, связанных с VPC, в роли службы.Необходимо обновить роль, чтобы иметь следующую политику:

https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow", 
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeVpcs"
            ], 
            "Resource": "*" 
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterfacePermission"
            ],
            "Resource": "arn:aws:ec2:{{region}}:{{account-id}}:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:{{region}}:{{account-id}}:subnet/[[subnets]]"
                    ],
                    "ec2:AuthorizedService": "codebuild.amazonaws.com"
                }
            }
        }
    ]
}
0 голосов
/ 17 октября 2018

Это означает, что связанная роль IAM не имеет прикрепленной политики, позволяющей CodeBuild описывать группы безопасности .

Если вы пытаетесь создать новый проект сборки и выбрали «Новая служебная роль» (Создать служебную роль в своей учетной записи) , и в то же время добавлены VPC, Подсети и безопасностьГруппы в разделе Дополнительная настройка - вы получите «Не авторизован для выполнения DescribeSecurityGroups» ошибка.
По какой-то причине автоматически созданная политика AWS выглядит следующим образом:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters",
                "logs:PutLogEvents",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "ecr:UploadLayerPart",
                "ecr:PutImage",
                "ecr:InitiateLayerUpload",
                "ecr:GetAuthorizationToken",
                "ecr:CompleteLayerUpload",
                "ecr:BatchCheckLayerAvailability"
            ],
            "Resource": "*"
        }
    ]
}

Это не разрешает ничего, связанного с VPC / EC2, поэтому вы можете либо предварительно создать правильную политику и использовать ее, либо позволить AWS создать проект без VPC и изменить новую политику, добавив необходимые службы в блок «Действие»:

    "Action": [
        "ssm:GetParameters",
        "logs:PutLogEvents",
        "logs:CreateLogStream",
        "logs:CreateLogGroup",
        "ecr:UploadLayerPart",
        "ecr:PutImage",
        "ecr:InitiateLayerUpload",
        "ecr:GetAuthorizationToken",
        "ecr:CompleteLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets"
    ],
...