Check ID:
Provider: GCP
Service:
Severity: HIGH
Categories:
Resource type:
cloudsql_instance_ssl_connectionsProvider: GCP
Service:
cloudsqlSeverity: HIGH
Categories:
encryptionResource type:
sqladmin.googleapis.com/InstanceWhat this check verifies
Cloud SQL instances enforce SSL/TLS-only connections, rejecting plaintext traffic. The connection policy requires encryption for all clients (e.g.,ENCRYPTED_ONLY or TRUSTED_CLIENT_CERTIFICATE_REQUIRED) instead of allowing both encrypted and unencrypted connections.
Risk
Without enforced TLS, database traffic is exposed to interception.- MITM can read creds and query results (confidentiality)
- Inject/alter statements to corrupt data (integrity)
Recommendation
Require TLS for all connections. PreferTRUSTED_CLIENT_CERTIFICATE_REQUIRED or use Cloud SQL Auth Proxy/Connectors for encrypted, authenticated channels.
- Disallow mixed plaintext/SSL modes
- Rotate and monitor certificates
- Combine with least privilege and private access
Remediation
- CLI
- Terraform
- Dashboard steps
References
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/gcp/CloudSQL/enable-ssl-for-incoming-connections.html
- https://cloud.google.com/sql/docs/postgres/configure-ssl-instance/
Where this check fires
This check runs on every scheduled scan against your GCP account. Findings appear at Cloud Security → Findings filterable byCheck ID = cloudsql_instance_ssl_connections. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to GCP checks