Доступ к AWS Lambda запрещен - PullRequest
       9

Доступ к AWS Lambda запрещен

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

Краткое описание моей настройки.

  1. У меня есть корзина AWS S3 с доступом Not Public, который называется myBucket
  2. У меня есть дистрибутив CloudFront черезmyBucket
  3. Я создал лямбда-функцию (серверный обработчик изображений)

Желаемое поведение состоит в том, что мои изображения доступны только через мой дистрибутив CloudFront (а не напрямую черезS3 URL), и что я должен иметь возможность вызывать свою лямбда-функцию через URL-адрес CloudFront.

Теперь получается, что я могу получить свое изображение следующим образом:

https://d32by75bmg47jh.cloudfront.net/portrait.jpeg

Но я не могу получить изображение, вызвав лямбду:

https://d32by75bmg47jh.cloudfront.net/fit-in/500x500/portrait.jpeg

Я получаю ошибку Access Denied при попытке вызвать его с помощью лямбды.

Моя политика Bucket выглядит следующим образом:

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E2FGH21TNURTU9"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::myBucket/*"
        }
}

В моем Lambda Console настроена функция Lambda для использования роли выполнения: lambda_basic_execution IAM Console эта политика выглядит следующим образом:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::myBucket/*"
        }
    ]
}

Почему я все еще получаю Отказ в доступе, когда пытаюсь получить доступ к своему изображению через лямбду?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...