Connection Options: Security
|
Description
|
The default user ID that is used to connect to your database.
Default: None
|
|
Specifies the method the driver uses to authenticate the user to the server when a connection is established.
If set to 1 - Encrypt Password, the driver sends the user ID in clear text and an encrypted password to the server for authentication.
If set to 4 - Kerberos Authentication, the driver uses Kerberos authentication. This method supports both Windows Active Directory Kerberos and MIT Kerberos environments.
Setting this value to 4 - Kerberos Authentication also enables NTLMv2 and NTLMv1 authentication on Windows platforms. The protocol used for a connection is determined by the local security policy settings for the client.
If set to 13 - Active Directory Password, the driver uses Azure Active Directory (Azure AD) authentication when establishing a connection to an Azure SQL Database data store. All communications to the service are encrypted using SSL.
Default: 1 - Encrypt Password
|
|
The name of the GSS client library that the driver uses to communicate with the Key Distribution Center (KDC).
Default: native (the driver uses the GSS client for Windows Kerberos. )
|
|
The method the driver uses to encrypt data sent between the driver and the database server.
If set to 0 - None, data is not encrypted.
If set to 1 - SSL, data is encrypted using the SSL protocols specified in the Crypto Protocol Version connection option.
If set to 6 - RequestSSL, the login request and data are encrypted using SSL if the server is configured for SSL. If the server is not configured for SSL, an unencrypted connection is established. The SSL protocol used is determined by the setting of the Crypto Protocol Version connection option.
If set to 7 - LoginSSL, the login request is encrypted using SSL regardless of whether the server is configured for SSL. The data is encrypted using SSL if the server is configured for SSL, and the data is unencrypted if the server is not configured for SSL. The SSL protocol used is determined by the setting of the Crypto Protocol Version connection option.
Note: This option can only be set to 1 - SSL when Authentication Method is set to 1 - Encrypt Password.
Note: When establishing a connection to Microsoft Azure Synapse Analytics or Microsoft Analytics Platform System, the driver will enable SSL data encryption by default (1 - SSL).
Default: 0 - None
|
|
Specifies the cryptographic protocols to use when SSL is enabled using the Encryption Method connection option (EncryptionMethod=1).
Default: TLSv1.2, TLSv1.1, TLSv1
|
|
Determines whether the driver validates the certificate that is sent by the database server when SSL encryption is enabled (Encryption Method=1).
If enabled, the driver validates the certificate that is sent by the database server. Any certificate from the server must be issued by a trusted CA in the truststore file. If the Host Name In Certificate option is specified, the driver also validates the certificate using a host name. The Host Name In Certificate option provides additional security against man-in-the-middle (MITM) attacks by ensuring that the server the driver is connecting to is the server that was requested.
If disabled, the driver does not validate the certificate that is sent by the database server. The driver ignores any truststore information specified by the Trust Store and Trust Store Password options.
Default: Enabled
|
|
The directory that contains the truststore file and the truststore file name to be used when SSL is enabled (EncryptionMethod=1) and server authentication is used.
Default: None
|
|
Specifies the password that is used to access the truststore file when SSL is enabled (EncryptionMethod=1) and server authentication is used.
Default: None
|
|
A host name for certificate validation when SSL encryption is enabled (Encryption Method=1) and validation is enabled (Validate Server Certificate=1).
Default: None
|
|
Specifies whether the driver is enabled for Always Encrypted functionality when accessing data from encrypted columns.
If set to Enabled, the driver fully supports Always Encrypted functionality. The driver transparently decrypts result sets and returns them to the application. In addition, the driver transparently encrypts parameter values that are associated with encrypted columns.
If set to ResultsetOnly, the driver transparently decrypts result sets and returns them to the application. Queries containing parameters that affect encrypted columns will return an error.
If set to Disabled, the driver does not use Always Encrypted functionality. The driver does not attempt to decrypt data from encrypted columns, but will return data as binary formatted cipher text. However, statements containing parameters that reference encrypted columns are not supported and will return an error.
Default: Disabled
|
|
Determines whether the driver caches column encryption keys. This option is used when Always Encrypted is enabled (ColumnEncryption=Enabled | ResultsetOnly).
If set to -1, the driver caches column encryption keys on a per connection basis. The keys remain in the cache until the connection is closed or the application exits.
If set to 0, the driver does not cache column encryption keys.
Note: While caching can improve performance, column encryption keys are designed to be deleted periodically from the cache as a security measure. Therefore, we do not recommend caching keys for applications that remain connected for long periods of time.
Default: -1
|
|
Specifies the principal ID used to authenticate against the Azure Key Vault. This option is used only when Always Encrypted is enabled (ColumnEncryption=Enabled | ResultsetOnly) and Azure Key Vault is the keystore provider. The Azure Key Vault stores the column master key used for Always Encrypted functionality. To access the column master key, the principal ID and Client Secret must be used to authenticate against the Azure Key Vault.
Note: The driver currently supports only Azure App Registration as the principal ID.
Default: None
|
|
Specifies the Client Secret used to authenticate against the Azure Key Vault. This option is used only when the Always Encrypted feature is enabled (ColumnEncryption=Enabled | ResultsetOnly) and the Azure Key Vault is the keystore provider. The Azure Key Vault stores the column master key used for Always Encrypted functionality. To access the column master key, the Client Secret and principal ID must be used to authenticate against the Azure Key Vault.
Default: None
|