sslMode property

String? sslMode
getter/setter pair

Specify how SSL/TLS is enforced in database connections.

If you must use the require_ssl flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED and require_ssl=false * ssl_mode=ENCRYPTED_ONLY and require_ssl=false * ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED and require_ssl=true For SQL Server: * ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED and require_ssl=false * ssl_mode=ENCRYPTED_ONLY and require_ssl=true The value of ssl_mode has priority over the value of require_ssl. For example, for the pair ssl_mode=ENCRYPTED_ONLY and require_ssl=false, ssl_mode=ENCRYPTED_ONLY means accept only SSL connections, while require_ssl=false means accept both non-SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect ssl_mode and accepts only SSL connections. Possible string values are:

  • "SSL_MODE_UNSPECIFIED" : The SSL mode is unknown.
  • "ALLOW_UNENCRYPTED_AND_ENCRYPTED" : Allow non-SSL/non-TLS and SSL/TLS connections. For SSL connections to MySQL and PostgreSQL, the client certificate isn't verified. When this value is used, the legacy require_ssl flag must be false or cleared to avoid a conflict between the values of the two flags.
  • "ENCRYPTED_ONLY" : Only allow connections encrypted with SSL/TLS. For SSL connections to MySQL and PostgreSQL, the client certificate isn't verified. When this value is used, the legacy require_ssl flag must be false or cleared to avoid a conflict between the values of the two flags.
  • "TRUSTED_CLIENT_CERTIFICATE_REQUIRED" : Only allow connections encrypted with SSL/TLS and with valid client certificates. When this value is used, the legacy require_ssl flag must be true or cleared to avoid the conflict between values of two flags. PostgreSQL clients or users that connect using IAM database authentication must use either the Cloud SQL Auth Proxy or Cloud SQL Connectors to enforce client identity verification. Only applicable to MySQL and PostgreSQL. Not applicable to SQL Server.

Implementation

core.String? sslMode;