---
id: "google-cloud-sql-auth-proxy"
type: "component"
kind: "database-proxy"
provider: "gcp"
category: "data"
docs: "https://cloud.google.com/sql/docs/mysql/sql-proxy"
url: "https://localhost:3000/catalogue/components/google-cloud-sql-auth-proxy"
---

# Cloud SQL Auth Proxy

Self-hosted connector giving IAM-authorised, TLS-encrypted access to Cloud SQL.

| | |
|---|---|
| Provider | [gcp](https://localhost:3000/catalogue?provider=gcp) |
| Kind | [Database proxy](https://localhost:3000/catalogue/kinds/database-proxy) |
| Category | Data |
| Official docs | [https://cloud.google.com/sql/docs/mysql/sql-proxy](https://cloud.google.com/sql/docs/mysql/sql-proxy) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `automaticIamDatabaseAuthentication` | boolean | — | no | false | inherited |
| `hedging` (advanced) | boolean | — | no | false | inherited |
| `iamAuthorization` | boolean | — | no | true | inherited |
| `loadShedding` (advanced) | boolean | — | no | false | inherited |
| `managed` | boolean | — | no | false | **false** |
| `mutualTls` | boolean | — | no | true | inherited |
| `poolSharded` (advanced) | boolean | — | no | false | inherited |
| `pooling` | boolean | — | no | true | **false** |
| `requestCoalescing` (advanced) | boolean | — | no | false | inherited |
| `routing` | enum | `none`, `shard-key`, `lookup` | no | "none" | **"none"** |
| `scatterGather` (advanced) | boolean | — | no | false | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 13

- [Amazon RDS Proxy](https://localhost:3000/catalogue/components/rds-proxy.md) `rds-proxy` — aws
- [Cloudflare Hyperdrive](https://localhost:3000/catalogue/components/cloudflare-hyperdrive.md) `cloudflare-hyperdrive` — cloudflare
- [Generic database proxy](https://localhost:3000/catalogue/components/database-proxy.md) `database-proxy` — default
- [MariaDB MaxScale](https://localhost:3000/catalogue/components/maxscale.md) `maxscale` — default
- [mongos](https://localhost:3000/catalogue/components/mongos.md) `mongos` — default
- [Odyssey](https://localhost:3000/catalogue/components/odyssey.md) `odyssey` — default
- [PgBouncer](https://localhost:3000/catalogue/components/pgbouncer.md) `pgbouncer` — default
- [PgCat](https://localhost:3000/catalogue/components/pgcat.md) `pgcat` — default
- [Pgpool-II](https://localhost:3000/catalogue/components/pgpool.md) `pgpool` — default
- [ProxySQL](https://localhost:3000/catalogue/components/proxysql.md) `proxysql` — default
- [Supavisor](https://localhost:3000/catalogue/components/supavisor.md) `supavisor` — default
- [Vitess](https://localhost:3000/catalogue/components/vitess.md) `vitess` — default
- [IBM Data Virtualization](https://localhost:3000/catalogue/components/ibm-data-virtualization.md) `ibm-data-virtualization` — ibm

## Use it in a design

```yaml
nodes:
  - { id: "google-cloud-sql-auth-proxy", component: "google-cloud-sql-auth-proxy" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Cloud SQL Auth Proxy: a connector binary you run beside your application. "About the Cloud
# SQL Auth Proxy" states it encrypts traffic with TLS 1.3 and verifies both identities with
# certificates, authorises connections through IAM, and does not provide connection pooling.
schemaVersion: "1"
type: "component"
id: "google-cloud-sql-auth-proxy"
kind: "database-proxy"
provider: "gcp"
docs: "https://cloud.google.com/sql/docs/mysql/sql-proxy"
defaults:
  pooling: false
  routing: "none"
  managed: false
properties:
  mutualTls:
    type: "boolean"
    default: true
  iamAuthorization:
    type: "boolean"
    default: true
  automaticIamDatabaseAuthentication:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/google-cloud-sql-auth-proxy
