Как ограничить исходящий EC2 только для доступа к S3?
Я хочу ограничить исходящую группу безопасности из экземпляра EC2. Экземпляру нужен только доступ к корзине S3. Я только что узнал, что S3 использует порт HTTPS (443). Я мог бы просто применить это правило, чтобы разрешить любое соединение с любым ip, если это HTTPS, но возможно ли просто позволить экземпляру EC2 получить доступ к S3? Есть ли какой-либо ip, связанный с ведром S3, или я могу установить один?
5 ответов
Можно ли просто разрешить экземпляру EC2 доступ к S3? Есть ли какой-либо ip, связанный с ведром S3, или я могу установить один?
S3 использует много IP-адресов. Я подозреваю, что было бы трудно составить список их всех. Кроме того, отсутствует сопоставление IP-адресов и сегментов, и вы не можете указать IP-адрес для сегмента. S3 - это управляемый сервис, который запускает AWS, и он полностью контролирует использование своего IP-адреса для сервиса.
Если вам необходимо выполнить фильтрацию на этом уровне, проще всего использовать прямой прокси-сервер (например, squid) с ACL по умолчанию для запрета доступа, а затем разрешить только доступ к домену S3.
Вы можете использовать конечные точки VPC здесь.
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html
"Конечная точка VPC позволяет вам создать частное соединение между вашим VPC и другой службой AWS, не требуя доступа через Интернет, через экземпляр NAT, VPN-подключение или AWS Direct Connect. Конечные точки - это виртуальные устройства. Они масштабируются по горизонтали, резервируются и высокодоступные компоненты VPC, которые обеспечивают связь между экземплярами в ваших VPC и сервисах AWS без наложения рисков доступности или ограничений пропускной способности вашего сетевого трафика ".
Исходя из этого ответа, диапазоны IP-адресов AWS, доступные в JSON здесь ( https://ip-ranges.amazonaws.com/ip-ranges.json), теперь указывают, какие службы доступны из каких диапазонов IP-адресов (S3 имеет 136 записей на пишу это).
Поэтому, если у вас есть группа безопасности с этими записями, вы можете добавить S3 в белый список в качестве службы. Список изменится и может включать другие сервисы AWS, но это только начало.
AWS предоставляет список своих общедоступных диапазонов IP-адресов через JSON. (возможно, и другие форматы, но я не уверен.) Создание инструмента, обеспечивающего анализ JSON и применение надлежащих правил брандмауэра, должно быть относительно простым. Пожалуйста, смотрите следующую статью в блоге для получения дополнительной информации.:)
ИСПОЛЬЗУЙТЕ НИЖЕ CURL ВЫЗОВ И ЗАМЕНИТЕ РЕГИОН. Curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.region=="us-east-1") | выберите(.service=="S3") | .ip_prefix'