Назад | Перейти на главную страницу

Как настроить Cloud SQL Postgres, чтобы требовать SSL, но не сертификаты клиента?

Есть ли способ создать экземпляр Cloud SQL Postgres, который Обеспечивает SSL / TLS, но это не требует использования клиентских сертификатов? В pg_hba.conf, это будет строка, содержащая hostssl но не clientcert=1.

я пытался Применение SSL / TLS (settings.ipConfiguration.requireSsl по экземпляру, или gcloud sql instances patch [INSTANCE_NAME] --require-ssl) Но этот вариант кажется бесполезным, потому что:

  1. В соответствии с Управление вашими клиентскими сертификатами , вы можете создать только «до 10 клиентских сертификатов для каждого экземпляра». Это означает, что нам придется использовать один и тот же клиентский сертификат / закрытые ключи для нескольких пользователей или служб, поэтому секрет на самом деле не является секретом для наших сотрудников.
  2. После представления клиента sslkey/sslcert в psql, postgres по-прежнему запрашивает пароль. Это свидетельство того, что Cloud SQL sslCerts API вставляет clientcert=1 auth-option, в отличие от cert auth-method, в pg_hba.conf. Это означает, что каждому клиенту нужно обе сертификат клиента и пароль.

Cloud SQL всегда требует клиентского SSL-сертификата при настройке с помощью параметра: Разрешить только SSL-соединения. Также нет доступа к файлу pg_hba.conf для изменения метода аутентификации на сертификат для Cloud SQL.

В качестве обходного пути вы можете создать PostrgreSQL на вычислительном движке с использованием этой ссылки Google Cloud Marketplace, где у вас будет доступ к auth-методу в pg_hba.conf