GCP: отключить частный доступ Google для бессерверного соединителя доступа к VPC

#google-cloud-platform #vpc #static-ip-address

#google-облачная платформа #vpc #статический ip-адрес

Вопрос:

Я пытаюсь отключить частный доступ Google, чего я могу достичь в подсети, но не для бессерверного соединителя доступа VPC. В качестве альтернативы, если возможно, отключить частный доступ в облачном NAT, который, я полагаю, также сработает. Есть ли какие-либо варианты для любого из них?

Причина в том, что мне требуется запрос от облачной функции для использования статического IP-адреса для целей белого списка. Это работает корректно для служб, отличных от Google, однако службы GCP не распознают IP, предположительно потому, что частный доступ Google маршрутизирует трафик внутри сети GCP.

Ответ №1:

Я думаю, что это невозможно. В основном потому, что Google говорит и повторяет снова: не доверяйте сети.

И правильный шаблон — использовать авторизацию IAM для доступа к частной функции.

Проблема будет в ваших внешних вызовах. Лучший способ, опять же, использовать IAM с учетной записью службы и файлом ключа учетной записи службы, развернутым в среде, отличной от Google. Однако не все системы совместимы с этим. Итак, вы можете представить что-то вроде этого

 External environment --> Cloud Function IP Check --IAM--> Private Cloud Function
                                                             ^
                                                             |
Google environment ----------------------IAM------------------
  

Вы можете использовать функцию для проверки IP-адреса, а затем для частного вызова (с использованием собственных учетных данных учетной записи службы) частной функции; например, прокси.

Другое решение

Если вы действительно хотите использовать только IP для аутентификации, даже если это не рекомендуется, я думаю, вы можете достичь этого с помощью бессерверного NEG на HTTP Global Load balancer.

Глобальный балансировщик нагрузки HTTP является прокси-сервером, и соединение HTTPS завершается на уровне балансировщика нагрузки. Таким образом, IP-адрес отправителя можно найти в заголовке

 External environment --> Global Load Balancer with pubic IP--> Cloud Function
                                      ^
                                      |
                                Public internet
                                      |
Google Environment --> NAT/VPC Connector 
  

IMO, для снижения уровня безопасности требуется множество настроек. Это решает вашу проблему, но это плохо!