Запретить исходящий трафик на виртуальной машине Google Cloud, но разрешить доступ к облачному хранилищу

В Google Cloud у меня есть виртуальная машина, которую я хотел бы почти полностью отключить от Интернета (по соображениям безопасности). Я знаю, что могу отключить его с помощью правил iptables и Cloud Firewall, включая исходящий трафик.

Однако мне по-прежнему требуется, чтобы виртуальная машина читала и записывала данные в корзину облачного хранилища, которая, конечно же, использует HTTPS и (довольно) случайные внешние IP-адреса.

Есть ли способ разрешить доступ к облачному хранилищу, но запретить все остальное исходящее?

До сих пор я полагал, что, вероятно, смогу настроить прокси-сервер HTTPS, который разрешает доступ только к определенным доменам, но это похоже на взлом (плюс требуется другая услуга).


person Niklas B    schedule 12.10.2017    source источник


Ответы (1)


Оказывается, вы можете (не уверен, с каких пор, я не видел эту функцию раньше) настроить «Частный доступ к Google», который подходит для моего варианта использования.

Из документации:

Частный доступ Google позволяет экземплярам виртуальных машин (ВМ) в подсети для доступа к API и службам Google, используя внутренний IP-адрес, а не внешний IP-адрес. Внешние IP-адреса маршрутизируемы и доступны через Интернет. Внутренние (частные) IP-адреса являются внутренними для Google Cloud Platform и не маршрутизируются или недоступны через Интернет. Вы можете использовать частный доступ Google, чтобы позволить виртуальным машинам без доступа в Интернет получать доступ к службам Google.

Инструкции слишком длинные, чтобы уместиться в вопросах и ответах, но Настройка частного доступа к Google должна работать (Google, как правило, неплохо умеет не менять URL-адреса документации).

Вы можете пометить подсеть, которая должна разрешать "частный IP-доступ к Google", используя:

gcloud compute networks subnets update subnet-a \
    --enable-private-ip-google-access

Описание этого параметра из документации:

 --enable-private-ip-google-access
    Enable/disable access to Google Cloud APIs from this subnet for
    instances without a public ip address.
person Niklas B    schedule 12.10.2017
comment
Имейте в виду, что частный доступ Google позволяет виртуальной машине подключаться ко всем службам Google. Не только Google Cloud Storage. Виртуальная машина также может разрешить любой домен DNS. - person Matt-y-er; 22.01.2018