> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/appsec-rules/iac-security/public-exposure/appsec-gcp-11.md).

# GCP SQL database is publicly accessible misconfiguration detected in code

## Rule Details

|                        |                                      |
| ---------------------- | ------------------------------------ |
| Cortex AppSec Rule ID  | APPSEC\_GCP\_11                      |
| Category - Subcategory | Public Exposure - Database Endpoints |
| Provider               | GCP                                  |
| Severity               | HIGH                                 |
| Framework              | Terraform, Terraform Plan            |

## Impact

Cloud SQL is a fully managed relational database service for MySQL, PostgreSQL, and SQL Server. It offers data encryption at rest and in transit, Private connectivity with VPC and user-controlled network access with firewall protection. It is possible to configure Cloud SQL to have a public IPv4 address. This means your cluster can accept connections from specific IP addresses, or a range of addresses, by adding authorized addresses to your instance. We do not recommend this option. We recommend you ensure Cloud SQL Database Instances are not publicly accessible, to help secure against attackers scanning the internet in search of public databases.

## How to Fix

*Resource:* google\_compute\_network

* *Arguments:* private\_network (Optional) The VPC network from which the Cloud SQL instance is accessible for private IP.

## For example, projects/myProject/global/networks/default. Specifying a network enables private IP. Either ipv4\_enabled must be enabled or a private\_network must be configured. This setting can be updated, but it cannot be removed after it is set. \[source,go]

resource "google\_compute\_network" "private\_network" { provider = google-beta

name = "private-network" }

resource "google\_compute\_global\_address" "private\_ip\_address" { provider = google-beta

## name = "private-ip-address" purpose = "VPC\_PEERING" address\_type = "INTERNAL" prefix\_length = 16 network = google\_compute\_network.private\_network.id }


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/appsec-rules/iac-security/public-exposure/appsec-gcp-11.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
