Предоставляйте CloudFront доступ только к VPC

У нас есть статический сайт, доступный через AWS CloudFront. Однако мы хотим ограничить доступ всем, кто находится только в VPC. Как мы можем этого добиться?

Мы провели некоторые исследования, но единственным жизнеспособным решением, которое мы увидели, было размещение WAF перед CloudFront. Но правильный ли это способ добиться этого?

Подписанные URL-адреса для нас не вариант, нам нужно, чтобы сайт работал для пользователей как обычный веб-сайт.


У нас есть пользователи в разных частях мира, которые подключаются к одному и тому же VPC. Но настоящая причина этого немного сложна. Это не просто набор статических файлов и некоторых политик компании и т. д. в игре.

У нас есть много пиринговых или транзитных шлюзов VPC, которые обрабатываются внешней командой, и у нас очень мало видимости. Таким образом, WAF с ограничением диапазона IP трудно реализовать или невозможно.


person Milindu Sanoj Kumarage    schedule 08.02.2020    source источник
comment
Почему вы хотите это сделать? Преимущество Amazon CloudFront заключается в том, что он кэширует контент ближе к пользователям. Доступ к раздаче CloudFront только из одного места не позволяет использовать CloudFront.   -  person John Rotenstein    schedule 08.02.2020
comment
У нас есть пользователи в разных частях мира, которые подключаются к одному и тому же VPC. Но настоящая причина этого немного сложна. Это не просто набор статических файлов и каких-то политик компании и т. д. Допустим, мы застряли на CloudFront.   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
Пожалуйста, дайте мне знать, если вы считаете, что ваша ситуация отличается от предложенного дублирующего ответа. Вы бы ограничили использование WAF с IP-адресами. Это было бы проще, если бы весь трафик покидал VPC через шлюз NAT, который может предоставлять один IP-адрес для внесения в белый список.   -  person John Rotenstein    schedule 08.02.2020
comment
@JohnRotenstein Можем ли мы ограничить доступ к CloudFront всем, кто находится в VCP с WAF? Но домен CloudFront по умолчанию, который они предоставляют, foobardfvfvsdfv.cloudfront.net, по-прежнему доступен для всех, не так ли? Я не знаком с WAF, и добавление дополнительной службы WAF впереди является правильным способом сделать это, как я уже упоминал в вопросе?   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
@JohnRotenstein также отмечает, что у нас много пиринговых или транзитных шлюзов VPC, которыми занимается внешняя команда, и у нас очень мало информации.   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
Единственный способ ограничить доступ к CloudFront — географическое ограничение (например, страны, регионы) или привязка WAF к раздаче CloudFront. Для ограничения WAF понадобятся IP-адреса, а не только исходящие из VPC. (Вы также можете ограничить доступ на основе подписанных URL-адресов/файлов cookie, но для этого потребуются изменения в вызывающем приложении.)   -  person John Rotenstein    schedule 08.02.2020
comment
Надеюсь, вы видите, что моя потребность отличается от дублированного вопроса. Не могли бы вы снять пометку с этого как дубликат? Давайте посмотрим, у кого есть обходной путь для достижения этой цели. Благодарю за разъяснение. Но подписанные URL-адреса также не являются решением для меня, как я уже упоминал в вопросе. Кроме того, предоставленный ими домен CloudFront по умолчанию, foobardfvfvsdfv.cloudfront.net, по-прежнему доступен для всех, не так ли? Можете ли вы преобразовать свой комментарий в ответ? Мы можем обсудить это там.   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
Я повторно открыл вопрос, но предлагаю вам добавить МНОГО деталей в свой вопрос, чтобы объяснить вашу конкретную ситуацию. Вы действительно не предоставили много информации в вопросе до сих пор.   -  person John Rotenstein    schedule 08.02.2020
comment
Я не хотел добавлять в вопрос слишком много нежелательных данных. Я думал, что выход из VPC заставит людей понять, что ограничение по IP — это не то, чего я хочу. Но я все равно добавил эту информацию к вопросу. Кроме того, вы можете добавить свои комментарии в ответ? У меня есть еще несколько вопросов.   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
Я думал, что выход из VPC заставит людей понять, что ограничение по IP — это не то, чего я хочу. Но весь трафик, выходящий из вашего VPC, должен исходить от эластичных IP-адресов, назначенных шлюзу NAT VPC. Так что это дает вам очень простой способ ограничить весь трафик VPC. Как еще вы могли бы предложить ограничить доступ к чему-либо в общедоступном Интернете только из VPC?   -  person Mark B    schedule 08.02.2020
comment
И возвращаясь к первоначальному комментарию Джона, ваши пользователи могут подключаться со всего мира, но все они подключаются ЧЕРЕЗ VPC, поэтому в этот момент все они получают доступ к CloudFront из одного места (регион AWS, где находится VPC). , так что вы определенно теряете весь смысл использования CloudFront.   -  person Mark B    schedule 08.02.2020
comment
@MarkB, но все они подключаются ЧЕРЕЗ VPC, я не был уверен в этом. Спасибо, что прояснили это. Но наличие людей по всему миру — не главная причина, как я уже сказал. У нас есть несколько учетных записей AWS, подключенных либо через VPC-пиринг, либо через транзитные шлюзы, и ими занимается сетевая команда. У нас нет никакой видимости по этому поводу. 1. Как я могу найти диапазон IP-адресов в таком сценарии? 2. Не может ли кто-нибудь по-прежнему получить доступ к CloudFront через домен CloudFront по умолчанию, foobardfvfvsdfv.cloudfront.net?   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
@MilinduSanojKumarage 1. но все они подключаются ЧЕРЕЗ VPC. Я не был уверен в этом: это буквально то, что вы спрашиваете, как настроить... 2. Как я могу найти диапазон IP-адресов: посмотрите в консоли AWS или спросите кого-нибудь с соответствующие разрешения, чтобы посмотреть. 3. Кто-то все еще не может получить доступ к CloudFront через домен CloudFront по умолчанию: Нет, если вы ограничите доступ только к VPC... Я чувствую, что мы ходим по кругу, и вы плохо понимаете, чего хотите.   -  person Mark B    schedule 08.02.2020
comment
1. @MarkB Я хочу ограничить CloudFront только кем-то в VPC. (В чем я не был уверен, если люди будут получать доступ к CloudFront из одной и той же точки, или разные люди в разных частях мира смогут получить к нему доступ через разные точки VCP, которые ближе к ним, но вы уточнили это. Спасибо за это.) 2. Кто-то, у кого есть доступ, сказал мне, что в учетной записи AWS, в которой находится этот CloudFront, нет шлюзов NAT. На что еще мне следует обратить внимание? Если можно конкретно, буду признателен.   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
3. WAF работает как промежуточный уровень между пользователем и CloudFront, верно? Если кто-то узнает об URL-адресе CloudFront, он не сможет получить к нему прямой доступ? Я новичок в VPC и WAF, и этот разговор помог мне понять некоторые вещи.   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
Вы не возражаете, если я переведу это в чат?   -  person Milindu Sanoj Kumarage    schedule 08.02.2020
comment
Давайте продолжим это обсуждение в чате.   -  person Mark B    schedule 08.02.2020