Политика AWS не соблюдает - PullRequest
0 голосов
/ 26 апреля 2018

На ElasticBeanstalk, в разделе «Журналы», при доступе к этой вкладке я сразу получаю сообщение об ошибке, An error occurred retrieving logs: Access Denied.

Если я щелкну по запросу последние 100 строк журнала, я получу еще одну ошибку в событиях EB.

Failed retrieveEnvironmentInfo activity. Reason: Access Denied

В журнале событий я получаю две ошибки:

ERROR   Failed retrieveEnvironmentInfo activity. Reason: Access Denied
INFO    [Instance: i-0aa53b9c5f88fe09b] Successfully finished tailing 36 log(s)
INFO    Pulled logs for environment instances.
ERROR   Service:Amazon S3, Message:Access Denied

Моя ролевая политика atm позволяет мне выполнять следующие операции:

 "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "autoscaling:*",
                "cloudformation:*",
                "cloudwatch:*",
                "dynamodb:*",
                "ec2:Describe*",
                "ec2:Get*",
                "ec2messages:Get*",
                "elasticbeanstalk:*",
                "iam:*",
                "kms:ListAliases",
                "lambda:Get*",
                "lambda:List*",
                "logs:Describe*",
                "logs:FilterLogEvents",
                "logs:Get*",
                "logs:List*",
                "logs:ListTagsLogGroup",
                "logs:TestMetricFilter",
                "sdb:Get*",
                "s3:Get*",
                "s3:List*",
                "ses:*",
                "sns:*",
                "sqs:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "cloudformation:DeleteStack",
                "dynamodb:DeleteTable",
                "elasticbeanstalk:DeleteEnvironment*",
                "elasticbeanstalk:DeleteApplication",
                "iam:Create*",
                "iam:Delete*",
                "iam:Remove*",
                "s3:DeleteBucket",
                "sqs:DeleteQueue"
            ],
            "Resource": "*"
        }

У меня также есть моя политика EB.

        "autoscaling:Describe*",
        "autoscaling:SuspendProcesses",
        "autoscaling:ResumeProcesses",
        "cloudwatch:*",
        "cloudformation:List*",
        "cloudformation:Describe*",
        "cloudformation:Get*",
        "elasticbeanstalk:*",
        "elasticfilesystem:Describe*",
        "elasticloadbalancing:DescribeLoadBalancers",
        "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
        "health:Describe*",
        "health:Get*",
        "health:List*",
        "lambda:UpdateFunctionCode",
        "lambda:CreateAlias",
        "logs:*",
        "s3:Get*",
        "s3:List*",
        "s3:Head*",
        "s3:Put*",
        "s3:DeleteObject"
    ],
    "Effect": "Allow",
    "Resource": "*"

Итак, когда вы используете ELB и пытаетесь просмотреть журналы, использует ли он политику роли пользователя или политику службы для проверки разрешения? это кажется довольно странным.

1 Ответ

0 голосов
/ 02 августа 2018

У меня была похожая проблема, и я смог ее решить, добавив в свою политику следующее.

{
        "Effect": "Allow",
        "Action": [
            "s3:*"
        ],
        "Resource": "arn:aws:s3:::elasticbeanstalk-*"
    }

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

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticbeanstalk:List*",
                "elasticbeanstalk:Describe*",
                "elasticbeanstalk:Describe*",
                "elasticbeanstalk:Request*",
                "elasticbeanstalk:Retrieve*",
                "ec2:Describe*",
                "ec2:Get*",
                "cloudformation:Describe*",
                "cloudformation:List*",
                "cloudformation:Get*",
                "autoscaling:Describe*",
                "elasticloadbalancing:Describe*",
                "s3:Head*",
                "s3:List*",
                "s3:Get*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": "arn:aws:s3:::elasticbeanstalk-*"
        }
    ]
}
...