Назад | Перейти на главную страницу

Разрешения ElasticBeanstalk, необходимые для развертывания новой версии через интерфейс командной строки AWS

У меня есть настройка политики IAM, которая, как я думал, обеспечивает правильные разрешения для развертывания новой версии приложения Elastic Beanstalk. Я все еще получаю InsufficientPrivilegesException, в частности:

aws elasticbeanstalk update-environment --environment-name LearnTfsBff --version-label LearnTfsBff-30

При вызове операции UpdateEnvironment произошла ошибка (InsfficientPrivilegesException): доступ запрещен

Это политика, установленная для пользователя развертывания:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "autoscaling:*",
                "cloudformation:GetTemplate",
                "cloudformation:DescribeStackResource",
                "cloudformation:DescribeStackResources",
                "autoscaling:*",
                "cloudfront:CreateInvalidation",
                "ec2:describeVpcs",
                "ec2:DescribeImages",
                "elasticbeanstalk:CreateApplicationVersion",
                "elasticbeanstalk:DescribeApplications",
                "elasticbeanstalk:DescribeApplicationVersions",
                "elasticbeanstalk:DescribeEnvironments",
                "elasticbeanstalk:UpdateEnvironment",
                "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
                "elasticloadbalancing:DescribeInstanceHealth",
                "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
                "s3:ListAllMyBuckets",
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::learn-tfs-builds"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": "arn:aws:s3:::learn-tfs-*"
        }
    ]
}

Я пробовал добавить "elasticbeanstalk:*" как разрешенное действие, и это не решило проблему с привилегиями. я добавил "*" как разрешено, и это решает проблему, но не является допустимым решением.

Как я могу отладить, какие конкретные разрешения необходимы в AWS?

Спасибо,

Сэм

Из это руководство похоже, вам может потребоваться доступ S3 для ведра эластичного beanstalk, IE:

{
"Action": [
 "s3:PutObject",
 "s3:PutObjectAcl",
 "s3:GetObject",
 "s3:GetObjectAcl",
 "s3:ListBucket",
 "s3:DeleteObject",
 "s3:GetBucketPolicy",
 "s3:CreateBucket"
],
"Effect": "Allow",
"Resource": [
 "arn:aws:s3:::elasticbeanstalk-[region]-[accountid]",
 "arn:aws:s3:::elasticbeanstalk-[region]-[accountid]/*"
]
}