У нас есть один из наших проектов, использующий базу данных Google CloudSQL Postgres. Нам очень нравится cloudqlproxy и то, как он сохраняет доступ к БД, заблокированный за нашими учетными записями Google (которые имеют 2FA).
У нас есть еще один проект, использующий БД в другом управляемом сервисе. Отказ от этой службы - не вариант, но мы хотели бы попытаться обезопасить вход в нее - сейчас это просто старые учетные данные пользователя / пароля psql, защищающие ее.
Я думаю, что решением может быть установка контейнера, в котором запущен аналогичный прокси-сервер, который выполняет более разумную аутентификацию, прежде чем открывать порт прокси для членов нашей команды.
Простая идея - установить в середине поле, которое выполняет SSH с переадресацией портов, а затем добавить в белый список сервера PSQL только это поле, но некоторые из нашей команды не очень технические, поэтому нам нужно будет создать несколько сценариев вокруг него и это не кажется отличным решением.
Идеальное решение было бы довольно близко к cloudqlproxy, чтобы оно могло использовать существующие учетные записи, вместо того, чтобы нам приходилось создавать новую учетную запись и каким-то образом связывать ее с какой-то 2FA.
Я погуглил, но изо всех сил пытаюсь найти хорошее решение. Может быть, весь подход неверен, и есть другой способ достичь цели лучшей защиты сервера.
Я думаю, лучший способ добиться того, чего вы хотите, - это Облачный VPN или Cloud Interconnect.
Более конкретно:
Облачный VPN безопасно подключает вашу одноранговую сеть к вашей сети виртуального частного облака (VPC) Google Cloud (GCP) через соединение IPsecVPN. Трафик, передаваемый между двумя сетями, шифруется одним шлюзом VPN, а затем дешифруется другим шлюзом VPN. Это защищает ваши данные при их передаче через Интернет. Вы также можете подключить друг к другу два экземпляра Cloud VPN.
Cloud Interconnect расширяет вашу локальную сеть до сети Google с помощью высокодоступного соединения с малой задержкой. Вы можете использовать Dedicated Interconnect для прямого подключения к Google или использовать Partner Interconnect для подключения к Google через поддерживаемого поставщика услуг.
Вы также можете найти Эта статья полезно, так как предоставляет несколько основных примеров