ALTER TLS CONFIGURATION
更改指定的 TLS CONFIGURATION 对象。有关现有 TLS CONFIGURATION 对象的信息,请查询 TLS_CONFIGURATIONS。
语法
ALTER TLS CONFIGURATION tls_config_name {
[ CERTIFICATE { NULL | cert_name }
[ ADD CA CERTIFICATES ca_cert_name [,...] ]
[ REMOVE CA CERTIFICATES ca_cert_name [,...] ]
[ CIPHER SUITES { '' | 'openssl_cipher [,...]' } ]
[ TLSMODE 'tlsmode' ]
[ OWNER TO user_name ]
}
参数
-
tls_config_name
- 要更改的 TLS CONFIGURATION 对象。
NULL
- 从 TLS 配置中移除非 CA 证书。
-
cert_name
- 使用 CREATE CERTIFICATE 创建的证书。
您必须拥有证书的使用权限(来自 证书 的所有权或 对其密钥的使用,如果有的话)将其添加到 TLS 配置。
-
ca_cert_name
- 使用 CREATE CERTIFICATE 创建的 CA 证书。
您必须拥有证书的使用权限(来自 证书 的所有权或 对其密钥的使用,如果有的话)将其添加到 TLS 配置。
-
openssl_cipher
- 要使用的密码套件的逗号分隔列表,而不是默认的密码套件集。为该参数提供空字符串会清除备用密码套件列表,并指示指定的 TLS CONFIGURATION 使用默认密码套件集。
要查看启用的密码套件,请使用 LIST_ENABLED_CIPHERS。
- tlsmode
- Vertica 如何建立 TLS 连接并处理证书(以下几项之一,按安全性升序排列):
-
DISABLE
:禁用 TLS。此参数的所有其他选项都启用 TLS。 -
ENABLE
:启用 TLS。Vertica 不检查客户端证书。 -
TRY_VERIFY
:如果出现以下任一情况,则建立 TLS 连接:-
另一台主机出示有效证书
-
另一台主机不提供证书
如果其他主机提供无效证书,则连接将使用纯文本。
-
-
VERIFY_CA
:如果 Vertica 验证其他主机的证书来自受信任的 CA,则连接成功。如果其他主机不提供证书,则连接使用纯文本。 -
VERIFY_FULL
:如果 Vertica 验证其他主机的证书来自受信任的 CA,并且证书的cn
(通用名称)或subjectAltName
属性与其他主机的主机名或 IP 地址匹配,则连接成功。请注意,对于客户端证书,
cn
将用于用户名,因此subjectAltName
必须与其他主机的主机名或 IP 地址匹配。
VERIFY_FULL
不受客户端-服务器 TLS 和 HTTPS(分别为参数 ServerTLSConfig 和 HttpsTLSConfig)支持,其行为类似于VERIFY_CA
。注意
Vertica 和另一方中,哪个充当客户端,哪个充当服务器,这取决于连接类型。更具体地说,设置为参数的 TLS 配置会将 Vertica 视为客户端,将另一方(在本示例中为 LDAP 服务器)视为服务器:
对于所有其他连接类型,Vertica 是服务器,另一方是客户端:
-
InternodeTLSConfig(其他 Vertica 节点既是客户端又是服务器)
-
特权
非超级用户: 对 TLS CONFIGURATION 的 ALTER 权限。
示例
要配置客户端-服务器 TLS,请参阅配置客户端-服务器 TLS。
要为 LDAP Link 服务及其试运行函数配置 TLS,请参阅 LDAP Link 的 TLS。
要为 LDAP 身份验证记录配置 TLS,请参阅 LDAP 身份验证的 TLS。
要从 LDAPLink TLS 配置中移除所有证书和 CA 证书:
=> SELECT * FROM tls_configurations WHERE name='LDAPLink';
name | owner | certificate | ca_certificate | cipher_suites | mode
----------+---------+-------------+----------------+---------------+---------
LDAPLink | dbadmin | server_cert | ca | | DISABLE
LDAPLink | dbadmin | server_cert | ica | | DISABLE
(2 rows)
=> ALTER TLS CONFIGURATION LDAPLink CERTIFICATE NULL REMOVE CA CERTIFICATES ca, ica;
ALTER TLS CONFIGURATION
=> SELECT * FROM tls_configurations WHERE name='LDAPLink';
name | owner | certificate | ca_certificate | cipher_suites | mode
----------+---------+-------------+----------------+---------------+---------
LDAPLink | dbadmin | | | | DISABLE
(3 rows)
要为客户端-服务器 TLS 使用一组备用密码套件:
=> ALTER TLS CONFIGURATION server CIPHER SUITES
'DHE-PSK-AES256-CBC-SHA384,
DHE-PSK-AES128-GCM-SHA256,
PSK-AES128-CBC-SHA256';
ALTER TLS CONFIGURATION
=> SELECT name, cipher_suites FROM tls_configurations WHERE name='server';
name | cipher_suites
server | DHE-PSK-AES256-CBC-SHA384,DHE-PSK-AES128-GCM-SHA256,PSK-AES128-CBC-SHA256
(1 row)