你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Database for MariaDB 中的 SSL/TLS 连接

重要

Azure Database for MariaDB 已列入停用计划。 强烈建议迁移到 Azure Database for MySQL。 有关迁移到 Azure Database for MySQL 的详细信息,请参阅 Azure Database for MariaDB 发生了什么情况?

Azure Database for MariaDB 支持使用安全套接字层 (SSL) 将数据库服务器连接到客户端应用程序。 通过在数据库服务器与客户端应用程序之间强制实施 SSL 连接,可以加密服务器与应用程序之间的数据流,有助于防止“中间人”攻击。

注意

根据客户的反馈,我们已将现有 Baltimore 根 CA 颁发的根证书的弃用时间延长至 2021 年 2 月 15 日 (2021/02/15)。

重要

SSL 根证书设置为 2021 年 2 月 15 日 (2021/02/15) 到期。 请更新应用程序以使用新证书。 若要了解详细信息,请参阅计划的证书更新

默认设置

默认情况下,应将数据库服务配置为需要 SSL 连接才可连接到 MariaDB。 建议尽量不要禁用 SSL 选项。

通过 Azure 门户和 CLI 预配新的 Azure Database for MariaDB 服务器时,默认情况下会强制实施 SSL 连接。

在某些情况下,应用程序需要具备从受信任的证书颁发机构 (CA) 证书文件生成的本地证书文件才能实现安全连接。 目前,客户只能使用预定义的证书连接到位于 https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem 的 Azure Database for MariaDB 服务器。

同样,以下链接指向主权云中的服务器证书:Azure 政府由世纪互联运行的 Microsoft AzureAzure 德国

Azure 门户中显示了各种编程语言的连接字符串。 这些连接字符串包含连接到数据库所需的 SSL 参数。 在 Azure 门户中,选择服务器。 在“设置”标题下,选择“连接字符串” 。 SSL 参数因连接器而异,例如“ssl=true”、“sslmode=require”或“sslmode=required”,以及其他变体。

若要了解如何在开发应用程序期间启用或禁用 SSL 连接,请参阅如何配置 SSL

Azure Database for MariaDB 中的 TLS 强制执行

对于使用传输层安全性 (TLS) 连接到数据库服务器的客户端,Azure Database for MariaDB 支持加密。 TLS 是一种行业标准协议,可确保在数据库服务器与客户端应用程序之间实现安全的网络连接,使你能够满足合规性要求。

TLS 设置

Azure Database for MariaDB 提供了为客户端连接强制使用 TLS 版本的功能。 若要强制执行 TLS 版本,请使用“最低 TLS 版本”选项设置。 此选项设置允许以下值:

最低 TLS 设置 支持的客户端 TLS 版本
TLSEnforcementDisabled(默认值) 不需要 TLS
TLS1_0 TLS 1.0、TLS 1.1、TLS 1.2 及更高版本
TLS1_1 TLS 1.1、TLS 1.2 及更高版本
TLS1_2 TLS 版本 1.2 及更高版本

例如,将此最低 TLS 设置版本的值设置为 TLS 1.0 意味着服务器将允许使用 TLS 1.0、1.1 和 1.2 + 的客户端进行连接。 或者,将此选项设置为 1.2 意味着仅允许使用 TLS 1.2+ 的客户端进行连接,并且将拒绝 TLS 1.0 和 TLS 1.1 的所有连接。

注意

默认情况下,Azure Database for MariaDB 不会强制执行最低 TLS 版本要求(TLSEnforcementDisabled 设置)。

一旦强制实施最低 TLS 版本要求后,以后将无法禁用最低版本强制实施。

若要了解如何为 Azure Database for MariaDB 设置 TLS 设置,请参阅如何配置 TLS 设置

Azure Database for MariaDB 的密码支持

作为 SSL/TLS 通信的一部分,将验证密码套件,并且仅允许支持密码套件与数据库服务器通信。 密码套件验证在网关层中控制,而不是在节点本身上显式控制。 如果密码套件与下面列出的某个套件不匹配,系统会拒绝传入的客户端连接。

支持的密码套件

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

后续步骤