Security parameters
Use these client authentication configuration parameters and general security parameters to configure TLS.
-
To configure Vertica for client-server TLS, see Configuring client-server TLS.
-
To configure JDBC and ODBC clients for TLS, see Configuring TLS for JDBC clients and Configuring TLS for ODBC Clients.
-
For Kerberos-related parameters, see Kerberos configuration parameters.
Database parameters
Parameter | Description |
---|---|
DataSSLParams |
This parameter has been deprecated. Use the data_channel TLS CONFIGURATION instead. Enables encryption using SSL on the data channel. The value of this parameter is a comma-separated list of the following:
You should set In the following example, the SSL Certificate contains two certificates, where the certificate for the non-root CA verifies the certificate for the cluster. This is called an SSL Certificate Chain.
|
DefaultIdleSessionTimeout |
Indicates a default session timeout value for all users where
|
DHParams |
String, a Diffie-Hellman group of at least 2048 bits in the form:
You can generate your own or use the pre-calculated Modular Exponential (MODP) Diffie-Hellman groups specified in RFC 3526. Changes to this parameter do not take effect until you restart the database. Default: RFC 3526 2048-bit MODP Group 14:
|
DoUserSpecificFilteringInSysTables |
Boolean, specifies whether a non-superuser can view details of another user:
Default: 0 |
EnableAllRolesOnLogin |
Boolean, specifies whether to automatically enable all roles granted to a user on login:
Default: 0 (disable) |
EnabledCipherSuites |
Specifies which SSL cipher suites to use for secure client-server communication. Changes to this parameter apply only to new connections. Default: Vertica uses the Microsoft Schannel default cipher suites. For more information, see the Schannel documentation. |
EncryptSpreadComm |
Enables Spread encryption on the control channel, set to one of the following strings:
If the parameter is empty, Spread communication is unencrypted. In general, you should enable this parameter before modifying other security parameters. Enabling this parameter requires database restart. |
GlobalHeirUsername |
A string that specifies which user inherits objects after their owners are dropped. This setting ensures preservation of data that would otherwise be lost. Set this parameter to one of the following string values:
NoteBe sure to include the angle brackets < >. For more information about usage, see Examples. Default: |
ImportExportTLSMode |
When using CONNECT TO VERTICA to connect to another Vertica cluster for import or export, specifies the degree of stringency for using TLS. Possible values are:
Default: |
PasswordLockTimeUnit |
The time units for which an account is locked by
For example, to configure the default profile to lock user accounts for 30 minutes after three unsuccessful login attempts:
|
RequireFIPS |
Boolean, specifies whether the FIPS mode is enabled:
On startup, Vertica automatically sets this parameter from the contents of the file For details, see FIPS compliance for the Vertica server. Default: 0 |
SecurityAlgorithm |
Sets the algorithm for the function that hash authentication uses, one of the following:
For example:
Default: |
SystemCABundlePath |
The absolute path to a certificate bundle of trusted CAs. This CA bundle is used when establishing TLS connections to external services such as AWS or Azure through their respective SDKs and libcurl. The CA bundle file must be in the same location on all nodes. If this parameter is empty, Vertica searches the "standard" paths for the CA bundles, which differs between distributions:
Example:
Default: Empty |
TLS CONFIGURATION parameters
To set your Vertica database's TLSMode, private key, server certificate, and CA certificate(s), see ALTER TLS CONFIGURATION. In versions prior to 11.0.0, these parameters were known as EnableSSL, SSLPrivateKey, SSLCertificate, and SSLCA, respectively.
Examples
Set the database parameter GlobalHeirUsername
:
=> \du
List of users
User name | Is Superuser
-----------+--------------
Joe | f
SuzyQ | f
dbadmin | t
(3 rows)
=> ALTER DATABASE DEFAULT SET PARAMETER GlobalHeirUsername='SuzyQ';
ALTER DATABASE
=> \c - Joe
You are now connected as user "Joe".
=> CREATE TABLE t1 (a int);
CREATE TABLE
=> \c
You are now connected as user "dbadmin".
=> \dt t1
List of tables
Schema | Name | Kind | Owner | Comment
--------+------+-------+-------+---------
public | t1 | table | Joe |
(1 row)
=> DROP USER Joe;
NOTICE 4927: The Table t1 depends on User Joe
ROLLBACK 3128: DROP failed due to dependencies
DETAIL: Cannot drop User Joe because other objects depend on it
HINT: Use DROP ... CASCADE to drop the dependent objects too
=> DROP USER Joe CASCADE;
DROP USER
=> \dt t1
List of tables
Schema | Name | Kind | Owner | Comment
--------+------+-------+-------+---------
public | t1 | table | SuzyQ |
(1 row)