Как ограничить промежуточный сервер S3 + Cloudfront указанием c IP? - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь настроить мой промежуточный сервер для обслуживания через S3 и облачный фронт. Вот моя политика ведра ниже.

a) Если я получаю прямой доступ к URL-адресу S3, все работает нормально.

b) Если я получаю доступ к домену root облачного фронта, www.staging.example.com, все работает нормально.

Однако, как только я go до www.staging.example.com/login (или любой не-1014 * URL), я получаю ошибку 403 Forbidden AccessDenied. Как мне это исправить?

{
    "Version": "2012-10-17",
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::staging-server/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "XXX",
                        "XXX",
                    ]
                }
            }
        }
    ]
}

1 Ответ

0 голосов
/ 27 апреля 2020

Если вы намерены обслуживать сайт только через CloudFront, вам следует перенастроить политику сегмента S3, чтобы разрешить доступ к CloudFront Origin Access Identity вашего дистрибутива CloudFront, и удалить все условия IP-адреса из политики сегмента.

Чтобы ограничить доступ к распределению белым списком IP-адресов, настройте AWS WAF и IPSet . Используйте WAF v2, а не оригинальный WAF.

На вопрос, не относящийся к root, действительно ли у вас есть документ с именем login?

...