📣

TiDB Cloud Serverless 现已更名为
Starter
!此页面由 AI 自动翻译,英文原文请见
此处。

TLS 连接到 TiDB Cloud Serverless

在你的客户端与 TiDB Cloud Serverless 集群之间建立安全的 TLS 连接,是连接数据库的基本安全实践之一。TiDB Cloud Serverless 的服务器证书由独立的第三方证书颁发机构签发。你可以无需下载服务器端数字证书,轻松连接到你的 TiDB Cloud Serverless 集群。

前提条件

连接到 TiDB Cloud Serverless 集群的 TLS 连接

TiDB Cloud 控制台 中,你可以获取不同连接方式的示例,并按如下步骤连接到你的 TiDB Cloud Serverless 集群:

  1. 进入你的项目的 Clusters 页面,然后点击你的集群名称,进入其概览页面。

  2. 点击右上角的 Connect。会弹出一个对话框。

  3. 在对话框中,保持连接类型的默认设置为 Public,并选择你偏好的连接方式和操作系统。

  4. 如果你还没有设置密码,点击 Generate Password,为你的 TiDB Cloud Serverless 集群生成一个随机密码。该密码会自动嵌入到用于连接集群的示例连接字符串中,便于你快速连接。

  5. 使用连接字符串连接到你的集群。

根证书管理

根证书的颁发与有效期

TiDB Cloud Serverless 使用 Let's Encrypt 作为客户端与 TiDB Cloud Serverless 集群之间 TLS 连接的证书颁发机构(CA)。一旦 TiDB Cloud Serverless 证书过期,将自动轮换,不会影响你的集群正常运行及已建立的 TLS 安全连接。

如果客户端默认使用系统的根 CA 存储(如 Java 和 Go),你可以无需指定 CA 根路径,轻松安全地连接到 TiDB Cloud Serverless 集群。但部分驱动和 ORM 并不使用系统根 CA 存储,这种情况下,你需要将驱动或 ORM 的 CA 根路径配置为你的系统根 CA 存储。例如,在 macOS 上使用 mysqlclient 通过 Python 连接 TiDB Cloud Serverless 集群时,需要在 ssl 参数中设置 ca: /etc/ssl/cert.pem

如果你使用的是如 DBeaver 这样的 GUI 客户端,且不支持包含多个证书的证书文件,则必须下载 ISRG Root X1 证书。

根证书默认路径

在不同操作系统中,根证书的默认存储路径如下:

MacOS

/etc/ssl/cert.pem

Debian / Ubuntu / Arch

/etc/ssl/certs/ca-certificates.crt

RedHat / Fedora / CentOS / Mageia

/etc/pki/tls/certs/ca-bundle.crt

Alpine

/etc/ssl/cert.pem

OpenSUSE

/etc/ssl/ca-bundle.pem

Windows

Windows 没有提供特定的 CA 根路径,而是通过 注册表 存储证书。因此,在 Windows 上指定 CA 根路径时,请按照以下步骤操作:

  1. 下载 ISRG Root X1 证书,并将其保存到你选择的路径,例如 <path_to_ca>
  2. 连接 TiDB Cloud Serverless 集群时,将该路径(<path_to_ca>)作为你的 CA 根路径。

常见问题

连接 TiDB Cloud Serverless 集群支持哪些 TLS 版本?

出于安全考虑,TiDB Cloud Serverless 仅支持 TLS 1.2 和 TLS 1.3,不支持 TLS 1.0 和 TLS 1.1。详情请参见 IETF Deprecating TLS 1.0 and TLS 1.1

我的连接客户端与 TiDB Cloud Serverless 支持双向 TLS 认证吗?

不支持。

TiDB Cloud Serverless 仅支持单向 TLS 认证,即你的客户端使用公钥验证 TiDB Cloud 集群证书私钥的签名,而集群不会验证客户端。

TiDB Cloud Serverless 是否必须配置 TLS 才能建立安全连接?

对于标准连接,TiDB Cloud Serverless 只允许 TLS 连接,禁止非 SSL/TLS 连接。原因是 SSL/TLS 是你通过互联网连接 TiDB Cloud Serverless 集群时,降低数据暴露风险的最基本安全措施之一。

对于私有端点连接,由于其支持高度安全的单向访问 TiDB Cloud 服务且不会将你的数据暴露在公网,是否配置 TLS 是可选的。

文档内容是否有帮助?