Check ID:
Provider: GCP
Service:
Severity: CRITICAL
Categories:
Resource type:
cloudsql_instance_public_accessProvider: GCP
Service:
cloudsqlSeverity: CRITICAL
Categories:
internet-exposedResource type:
sqladmin.googleapis.com/InstanceWhat this check verifies
Cloud SQL authorized networks are checked for the open CIDR0.0.0.0/0 on instances using a public IP.
The finding flags configurations where a catch-all entry exists instead of specific client ranges.
Risk
Allowing0.0.0.0/0 makes the database reachable from the Internet, degrading confidentiality and availability. Attackers can brute-force credentials, probe for vulnerable endpoints, exfiltrate data via unauthorized queries, and trigger resource exhaustion through automated scanning.
Recommendation
Enforce least privilege network access:- Remove
0.0.0.0/0; allow only trusted, fixed IP ranges - Prefer private IP or Private Service Connect with VPC controls
- Use proxied access (Cloud SQL Auth Proxy) over direct public connections
- Apply org policies to prevent broad allowlists
Remediation
- CLI
- Terraform
- Dashboard steps
References
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/gcp/CloudSQL/publicly-accessible-cloud-sql-instances.html
- https://cloud.google.com/sql/docs/mysql/connection-org-policy
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_public_access. 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