(可选)设置SSL连接
GaussDB(DWS) 支持SSL认证方式的连接,以加密GaussDB(DWS) 客户端与数据库之间传输的数据。SSL连接方式的安全性高于普通模式,集群默认开启SSL功能允许来自客户端的SSL连接或非SSL连接,从安全性考虑,建议用户在客户端使用SSL连接方式。如果要强制使用SSL连接,需要为集群开启“服务器端是否强制使用SSL连接”。
在集群的“安全设置”页面可以设置是否开启“服务器端是否强制使用SSL连接”。
- 修改安全配置参数并保存生效可能需要重启集群,将导致集群暂时不可用。
- 修改集群安全配置必须同时满足以下两个条件:
- 集群状态为“可用”或“非均衡”。
- 任务信息不能处于“创建快照中”、“节点扩容”、“配置中”或“重启中”。
本章节为您介绍以下内容:
设置SSL连接
- 登录GaussDB(DWS) 管理控制台。
- 在左侧导航树中,单击“集群管理”。
- 在集群列表中,单击指定集群的名称,然后单击“安全设置”。
默认显示“配置状态”为“已同步”,表示页面显示的是数据库当前最新结果。
- 在“SSL连接”区域中,单击“服务器端是否强制使用SSL连接”的设置开关进行设置,建议开启。
:开启,表示服务器端强制要求SSL连接。
:关闭,表示服务器端对是否通过SSL连接不作强制要求,默认为关闭。
- 如果使用GaussDB(DWS) 提供的gsql客户端或ODBC驱动,GaussDB(DWS) 支持的SSL协议为TLSv1.2。
- 如果使用GaussDB(DWS) 提供的JDBC驱动,支持的SSL协议有SSLv3、TLSv1、TLSv1.1、TLSv1.2。客户端与数据库之间实际使用何种SSL协议,依赖客户端使用的JDK(Java Development Kit)版本,一般JDK支持多个SSL协议。
- 单击“应用”。
系统将自动应用保存SSL连接设置,在“安全设置”页面,“配置状态”显示“应用中”。当“配置状态”显示为“已同步”,表示配置已保存生效。
客户端和服务器端SSL连接参数组合情况
客户端最终是否使用SSL加密连接方式、是否验证服务器证书,取决于客户端参数sslmode与服务器端(即GaussDB(DWS) 集群侧)参数ssl、require_ssl。参数说明如下:
- ssl(服务器)
ssl参数表示是否开启SSL功能。on表示开启,off表示关闭。
- 对于集群版本高于1.3.1(包括1.3.1)的集群,默认为on,不支持在GaussDB(DWS) 管理控制台上设置。
- 对于集群版本低于1.3.1的集群,默认为on。ssl参数可通过GaussDB(DWS) 管理控制台上集群的“安全设置”页面中的“SSL连接”进行设置。
- require_ssl(服务器)
require_ssl参数是设置服务器端是否强制要求SSL连接,该参数只有当ssl为on时才有效。on表示服务器端强制要求SSL连接。off表示服务器端对是否通过SSL连接不作强制要求。
- 对于集群版本高于1.3.1(包括1.3.1)的集群,默认为off。require_ssl参数可通过GaussDB(DWS) 管理控制台上集群的“安全设置”页面中的“服务器端是否强制使用SSL连接”进行设置。
- 对于集群版本低于1.3.1的集群,默认为off,不支持在GaussDB(DWS) 管理控制台上设置。
- sslmode(客户端)
可在SQL客户端工具中进行设置。
- 在gsql命令行客户端中,为“PGSSLMODE”参数。
- 在Data Studio客户端中,为“SSL模式”参数。
客户端参数sslmode与服务器端参数ssl、require_ssl配置组合结果如下:
ssl(服务器) |
sslmode(客户端) |
require_ssl(服务器) |
结果 |
---|---|---|---|
on |
disable |
on |
由于服务器端要求使用 SSL,但客户端针对该连接禁用了 SSL,因此无法建立连接。 |
disable |
off |
连接未加密。 |
|
allow |
on |
连接经过加密。 |
|
allow |
off |
连接未加密。 |
|
prefer |
on |
连接经过加密。 |
|
prefer |
off |
连接经过加密。 |
|
require |
on |
连接经过加密。 |
|
require |
off |
连接经过加密。 |
|
verify-ca |
on |
连接经过加密,且验证了服务器证书。 |
|
verify-ca |
off |
连接经过加密,且验证了服务器证书。 |
|
off |
disable |
on |
连接未加密。 |
disable |
off |
连接未加密。 |
|
allow |
on |
连接未加密。 |
|
allow |
off |
连接未加密。 |
|
prefer |
on |
连接未加密。 |
|
prefer |
off |
连接未加密。 |
|
require |
on |
由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。 |
|
require |
off |
由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。 |
|
verify-ca |
on |
由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。 |
|
verify-ca |
off |
由于客户端要求使用 SSL,但服务器端禁用了 SSL,因此无法建立连接。 |