Ensure That Cloud SQL Database Instances Do Not Have Public IPs

MEDIUM

Description

Description:

It is recommended to configure Second Generation Sql instance to use private IPs instead of public IPs.

Rationale:

To lower the organization's attack surface, Cloud SQL databases should not have public IPs. Private IPs provide improved network security and lower latency for your application.

Removing the public IP address on SQL instances may break some applications that relied on it for database connectivity.

Remediation

From Google Cloud Console

  1. Go to the Cloud SQL Instances page in the Google Cloud Console: https://console.cloud.google.com/sql/instances
  2. Click the instance name to open its Instance details page.
  3. Select the 'Connections' tab.
  4. Deselect the 'Public IP' checkbox.
  5. Click 'Save' to update the instance.

From Google Cloud CLI

  1. For every instance remove its public IP and assign a private IP instead:

gcloud sql instances patch --network= --no-assign-ip

  1. Confirm the changes using the following command::

gcloud sql instances describe

Prevention:

To prevent new SQL instances from getting configured with public IP addresses, set up a 'Restrict Public IP access on Cloud SQL instances' Organization policy at: https://console.cloud.google.com/iam-admin/orgpolicies/sql-restrictPublicIp.