使用 SSL/TLS 证书进行授权

本页面介绍 Cloud SQL 如何使用自行管理的安全套接字层 (SSL)/传输层安全协议 (TLS) 证书安全地连接到 Cloud SQL 实例。

概览

Cloud SQL 支持使用传输层安全协议 (SSL/TLS) 连接到实例。如果传输中的数据位于物理边界内部,由 Google 或 Google 授权代理方掌控,我们通常会对这些数据进行身份验证,但默认情况下可能不会进行加密。如果您使用实例的公共 IP 地址连接到该实例,则必须强制使用 SSL/TLS 证书,以确保数据在传输期间安全无虞。SSL/TLS 是用于加密通过互联网发送的数据的标准协议。如果您的数据未经加密,则任何人都可以检查您的数据包并读取机密信息。

SSL/TLS 证书

您必须具有服务器证书授权机构 (CA) 证书才能进行 SSL 连接。当您创建实例时,Cloud SQL 会自动创建一个服务器证书。只要此服务器证书有效,您就无需主动管理服务器证书。但是,服务器证书是有失效日期的(即 10 年);此日期过后,该证书就不再有效,客户端也无法再使用该证书与您的实例之间建立安全连接。您也可以手动创建一个新证书

服务器证书轮替功能的工作原理

Cloud SQL 提供了一种轮替服务器证书的方法,使得新证书能在旧证书失效之前无缝换入。

Cloud SQL 实例的服务器证书失效前三个月左右,项目所有者会收到 Cloud SQL 发出的一封电子邮件,该邮件称该实例的证书轮替过程已开始。该电子邮件会提供实例的名称,并称 Cloud SQL 已向项目添加了新的服务器证书。现有服务器证书可以继续正常使用。实际上,实例在此时间段具有两个服务器证书。

在当前证书失效之前,下载新的 server-ca.pem 文件,其中包含当前服务器证书和新服务器证书的证书信息。更新您的 SQL Server 客户端以使用新文件,方法是将其复制到所有 SQL Server 客户端宿主机上,替换掉现有文件。

更新好所有 SQL Server 客户端后,向 Cloud SQL 实例发送命令以轮替至新的服务器证书。完成此操作后,系统将不再认可旧服务器证书,只有新服务器证书可以使用。

强制执行 SSL/TLS 加密

强制使用 SSL 可确保所有连接均已加密。

使用已获授权的网络

如果您的 Cloud SQL 实例使用的是公共 IP 地址,您需要在配置 SSL/TLS 时将 SQL Server 客户端的 IP 地址添加为已获授权的网络

在这种情况下,只有在 SQL Server 客户端的 IP 地址添加到此列表中后,这些客户端才有权进行连接。IP 地址可以限制为单个端点,也可以包含 CIDR 格式的范围。例如 10.50.51.310.50.51.0/26

SSL 证书有效期

与 Cloud SQL 实例关联的 SSL 证书的有效期为 10 年。该证书到期后,请执行 SSL 证书轮替。您还可以随时重置 Cloud SQL 实例的 SSL 配置。

后续步骤