如何配置 Cloud SQL Postgres 以要求 SSL 但不需要客户端证书?

如何配置 Cloud SQL Postgres 以要求 SSL 但不需要客户端证书?

有没有办法创建一个 Cloud SQL Postgres 实例强制实施 SSL/TLS,但不需要使用客户端证书?pg_hba.conf,这将是一行包含hostssl不是 clientcert=1

我努力了强制实施 SSL/TLSsettings.ipConfiguration.requireSsl在实例上,或gcloud sql instances patch [INSTANCE_NAME] --require-ssl)但这个选项似乎很没用,因为:

  1. 根据管理您的客户端证书 ,您只能“为每个实例创建最多 10 个客户端证书”。这意味着我们必须在多个用户或服务之间共享相同的客户端证书/私钥,因此这个秘密在我们的员工之间并不是真正的秘密。
  2. 在输入客户端sslkey/ sslcertin后,postgres 仍要求输入密码psql。这证明 Cloud SQL sslCertsAPI在clientcert=1certpg_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

相关内容