为了提高链路安全性,您可以启用SSL(Secure Sockets Layer)加密,并将SSL CA证书安装到所需的应用服务中。SSL在传输层对网络连接进行加密,提供端点验证和数据加密,确保客户端与StarRocks实例之间的通信数据不会被未经授权的用户读取,从而增强数据的安全性与完整性。
前提条件
已创建实例,详情请参见创建实例。
使用限制
仅3.3.8-1.94-1.7.12及以上版本的实例支持使用SSL加密功能。
开启SSL加密
开启SSL加密后,客户端与StarRocks的连接将必须通过SSL加密进行。原有未配置SSL加密证书的客户端访问将会导致连接失败,请您在确认相关设置后再进行操作。
实例的FE节点将进行滚动重启。在此期间,导入任务和查询任务可能会出现短暂中断。请您选择在业务低峰期进行操作,并关注任务的变化。
进入实例详情页面。
在左侧导航栏,选择
。单击目标实例名称。
在实例详情页面的安全配置区域,单击SSL 加密后的开启。
在开启SSL加密对话框中,单击确认以使用默认证书。
如果您需要自定义证书,可打开自定义加密文件开关,并配置以下参数。
参数
说明
上传证书文件
单击上传文件,选择并上传PKCS#12格式的证书文件(扩展名为.p12)。此证书文件包含了您的公钥、私钥和可能的证书链。
说明在生产环境中,建议使用由认证机构颁发的证书。
加密文件访问密码
输入上传的证书文件的访问密码(即用来加密证书文件的密码)。确保此密码安全保存,并在需要使用该证书时提供。
密钥访问密码
输入用于访问私钥的密码。如果在生成该私钥时设定了密码,则需在此处提供该密码,以确保系统能够正确访问并使用私钥进行SSL身份验证和密钥交换。
(可选)查看SSL加密配置。
单击参数配置页签。
单击左侧的FE,即可看到以下SSL认证信息。
参数
说明
ssl_keystore_location
SSL证书和密钥的keystore文件路径。
ssl_keystore_password
keystore文件的访问密码,StarRocks读取keystore文件时需要提供该密码。
ssl_key_password
密钥的访问密码,StarRocks读取keystore文件中的密钥时需要提供该密码。
下载SSL加密证书
进入实例详情页面。
在左侧导航栏,选择
。单击目标实例名称。
在实例详情页面的安全配置区域,单击认证证书后的下载。
下载SSL证书至本地后,您可以在您的Web应用服务器上手动配置该SSL证书,以实现HTTPS加密通信。
说明由于不可见字符的原因,下载的证书是经过Base64编码的。在使用前,请先对证书进行解码操作。解码后的证书可以直接用于配置HTTPS加密通信,请确保妥善保管解码后的文件,避免泄露敏感信息。
客户端开启SSL认证
本文将向您介绍如何在以下客户端中启用SSL认证:
MySQL客户端
对于MySQL客户端,StarRocks兼容MySQL协议,默认启用SSL认证,无需额外配置。更多连接StarRocks实例的信息,请参见通过MySQL客户端方式连接StarRocks实例。
JDBC客户端
在JDBC URL中添加以下选项以启用SSL。更多连接StarRocks实例的信息,请参见通过JDBC方式连接StarRocks实例。
useSSL=true&verifyServerCertificate=false
参数说明:
useSSL=true
:启用SSL加密。verifyServerCertificate=false
:禁用服务器证书验证(适用于开发环境或测试环境)。说明在生产环境中,建议设置
verifyServerCertificate=true
并提供受信任的CA证书。
关闭SSL加密
关闭SSL加密后,客户端与StarRocks的连接将不再通过SSL进行加密。在此情况下,您需同时完成客户端的连接认证方式,可以确保客户端能够正常访问。请您在确认后再进行操作。
实例的FE节点将进行滚动重启。在此期间,导入任务和查询任务可能会出现短暂中断。请您选择在业务低峰期进行操作,并关注任务的变化。
在实例详情页面的安全配置区域,单击SSL 加密后的关闭。
在关闭SSL加密对话框中,单击确认。