本页面总结了 Cloud SQL 语言连接器以及如何将其用于您的实例。
Cloud SQL 语言连接器是在连接到 Cloud SQL 实例时提供加密和 IAM 授权的库。Cloud SQL 语言连接器代表用户的应用创建与代理端服务器的已获授权连接,并将该连接传递到应用的数据库驱动程序。Cloud SQL 语言连接器无法提供 Cloud SQL 实例的网络路径(如果尚不存在)。
Cloud SQL 语言连接器使用客户端组件连接到 Cloud SQL 实例上的代理服务器。该连接器会创建一个临时证书,以授权持有者连接到服务器端代理。服务器端代理要求提供有效的 TLS 证书才能连接,从而限制对 Cloud SQL 数据库的访问。
Cloud SQL 支持以下 Cloud SQL 语言连接器:
Cloud SQL 建议使用 Cloud SQL 语言连接器连接到 Cloud SQL 实例。您还可以使用数据库客户端或 Cloud SQL Auth 代理连接到 Cloud SQL 实例。如需详细了解如何连接到 Cloud SQL 实例,请参阅连接选项简介。
要求
如果 Cloud SQL 实例使用共享证书授权机构 (CA) 作为其 serverCaMode,在客户端,请确保您使用的 Cloud SQL 语言连接器满足以下版本要求:
- Cloud SQL Java 连接器:v1.21.0 或更高版本
- Cloud SQL Go 连接器:v1.12.0 或更高版本
- Cloud SQL Node.js 连接器:v1.4.0 或更高版本
如果 Cloud SQL 实例使用客户管理的 CA 作为其 serverCaMode,在客户端,请确保您使用的 Cloud SQL 语言连接器满足以下版本要求:
- Cloud SQL Java 连接器:v1.22.0 或更高版本
- Cloud SQL Go 连接器:v1.14.0 或更高版本
- Cloud SQL Node.js 连接器:v1.6.0 或更高版本
当实例使用客户管理的 CA 作为其服务器 CA 模式时,您可以为实例配置自定义 DNS 名称。您可以在服务器证书的自定义主题备用名称 (SAN) 字段中提供自定义 DNS 名称。
为实例设置自定义 DNS 名称后,您可以使用该 DNS 名称从 Cloud SQL 语言连接器连接到实例。
Cloud SQL 语言连接器的优势
Cloud SQL 语言连接器具有以下连接到 Cloud SQL 实例的优势:
- IAM 授权:使用身份和访问权限管理 (IAM) 权限来控制谁或什么可以连接到 Cloud SQL 实例。
- 便利:无需管理 SSL 证书、配置防火墙规则或启用已获授权的网络。
限制
如果您���使用情境感知访问权限和 IAM 数据库身份验证,则无法使用 Cloud SQL 语言连接器。当您尝试登录实例时,IAM 身份验证会失败。
强制使用 Cloud SQL 语言连接器
通过强制使用连接器,您可以强制仅使用 Cloud SQL Auth 代理或 Cloud SQL 语言连接器连接到 Cloud SQL 实例。强制使用连接器后,Cloud SQL 会拒绝与数据库的直接连接。
如果您使用的是启用了 Private Service Connect 的实例,则存在限制。如果该实例已要求强制使用连接器,则您无法为该实例创建读取副本。同样,如果该实例具有读取副本,则您无法对该实例要求强制使用连接器。
如需详细了解如何强制要求仅使用 Cloud SQL Auth 代理或 Cloud SQL 语言连接器连接到实例,请参阅使用 Cloud SQL 语言连接器连接。