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

特权

非超级用户: 对 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)