TLS 配置

TLS 配置是一个数据库对象,它封装了配置 TLS 所需的所有设置和证书。设置 TLS 配置后,您可以通过将其设置为以下一个或多个数据库参数的值来使用该配置,其中每个参数都控制着 Vertica 数据库与客户端或服务器之间某种类型连接的 TLS:

  • ServerTLSConfig

  • HttpsTLSConfig

  • LDAPLinkTLSConfig

  • LDAPAuthTLSConfig

  • InternodeTLSConfig

这些参数默认设置为预定义的 TLS 配置,因此如果您只想配置 TLS,则应使用 ALTER TLS CONFIGURATION 来修改预定义的 TLS 配置。否则,您可以使用 CREATE TLS CONFIGURATION创建自定义 TLS 配置

重用现有 TLS 配置

要重用现有 TLS 配置,请使用 ALTER TLS CONFIGURATION

下表列出了每个 TLS 连接类型参数及其关联的连接类型和预定义的 TLS 配置:

创建自定义 TLS 配置

您可以使用 CREATE TLS CONFIGURATION 创建 TLS 配置。

以下示例将创建一个 TLS 配置,并通过在 ServerTLSConfig 中设置该配置来为客户端-服务器 TLS 启用它:

  • 创建密钥和证书:

    
    -- create CA certificate
    => CREATE KEY k_ca TYPE 'RSA' LENGTH 4096;
    => CREATE CA CERTIFICATE ca
       SUBJECT '/C=US/ST=Massachusetts/L=Cambridge/O=Micro Focus/OU=Vertica/CN=Vertica Root CA'
       VALID FOR 3650
       EXTENSIONS 'nsComment' = 'Vertica generated root CA cert'
       KEY k_ca;
    
    -- create server certificate
    => CREATE KEY k_server TYPE 'RSA' LENGTH 2048;
    => CREATE CERTIFICATE server
        SUBJECT '/C=US/ST=Massachusetts/L=Cambridge/O=Micro Focus/OU=Vertica/CN=Vertica Cluster/emailAddress=example@example.com'
        SIGNED BY ca
        KEY k_server;
    
  • 创建 TLS 配置:

    => CREATE TLS CONFIGURATION new_tls_config CERTIFICATE server_cert TLSMODE 'ENABLE';
    
  • 将 ServerTLSConfig 参数设置为对客户端-服务器 TLS 使用新的 TLS 配置:

    => ALTER DATABASE SET DEFAULT PARAMTER ServerTLSConfig=new_tls_config;