有没有办法创建一个 Cloud SQL Postgres 实例强制实施 SSL/TLS,但不需要使用客户端证书?pg_hba.conf
,这将是一行包含hostssl
但不是 clientcert=1
。
我努力了强制实施 SSL/TLS(settings.ipConfiguration.requireSsl
在实例上,或gcloud sql instances patch [INSTANCE_NAME] --require-ssl
)但这个选项似乎很没用,因为:
- 根据管理您的客户端证书 ,您只能“为每个实例创建最多 10 个客户端证书”。这意味着我们必须在多个用户或服务之间共享相同的客户端证书/私钥,因此这个秘密在我们的员工之间并不是真正的秘密。
- 在输入客户端
sslkey
/sslcert
in后,postgres 仍要求输入密码psql
。这证明 Cloud SQLsslCerts
API在clientcert=1
cert
pg_hba.conf
。这意味着每个客户都需要两个都客户端证书和密码。
答案1
当使用以下选项配置时,Cloud SQL 始终需要客户端 SSL 证书:仅允许 SSL 连接。也无法访问 pg_hba.conf 文件来将 Cloud SQL 的 auth-method 更改为 cert。
作为一种解决方法,您可以创建使用此 Google Cloud Marketplace 链接在 Compute 引擎上进行 PostrgreSQL,您将可以访问 pg_hba.conf 中的 auth-method