Kebijakan organisasi Cloud SQL

Halaman ini menjelaskan cara menggunakan kebijakan organisasi dengan project Cloud SQL Anda. Untuk mulai membuat kebijakan organisasi, lihat Menambahkan kebijakan organisasi.

Ringkasan

Kebijakan organisasi memungkinkan administrator organisasi menetapkan batasan tentang cara pengguna dapat mengonfigurasi instance di bawah organisasi tersebut. Kebijakan organisasi menggunakan aturan, yang disebut batasan, yang ditempatkan administrator organisasi di project, folder, atau organisasi. Batasan akan menerapkan kebijakan di semua instance. Misalnya, jika Anda mencoba untuk menambahkan instance ke entity yang memiliki kebijakan organisasi, batasan tersebut akan menjalankan pemeriksaan untuk memastikan konfigurasi instance mengikuti persyaratan batasan tersebut. Jika hasil pemeriksaan gagal, Cloud SQL tidak akan membuat instance.

Saat Anda menambahkan project ke organisasi atau folder yang menggunakan kebijakan organisasi, project tersebut akan mewarisi batasan kebijakan tersebut.

Untuk mengetahui informasi selengkapnya tentang kebijakan organisasi, lihat Layanan Kebijakan Organisasi, Constraint, dan Evaluasi Hierarki.

Ada dua jenis kebijakan organisasi yang khusus untuk Cloud SQL:

Kebijakan organisasi koneksi

Kebijakan organisasi koneksi memberikan kontrol terpusat atas pada setelan IP publik untuk Cloud SQL, guna mengurangi area serangan keamanan instance Cloud SQL dari Internet. Administrator kebijakan organisasi dapat menggunakan kebijakan koneksi untuk membatasi konfigurasi IP publik Cloud SQL di tingkat project, folder, atau organisasi.

Batasan kebijakan organisasi koneksi

Untuk kebijakan organisasi koneksi, ada dua jenis batasan yang menerapkan akses ke instance Cloud SQL.

Batasan Deskripsi Default
Batasi akses IP Publik di instance Cloud SQL Batasan boolean ini membatasi konfigurasi IP publik di instance Cloud SQL, tempat batasan ini ditetapkan True. Batasan ini tidak berlaku surut. Instance Cloud SQL dengan akses IP publik yang ada masih berfungsi bahkan setelah batasan ini diterapkan.

Secara default, akses IP publik ke instance Cloud SQL diizinkan.

constraints/sql.restrictPublicIp
IZINKAN
Batasi Jaringan yang Diizinkan di instance Cloud SQL Jika ditetapkan ke True, batasan boolean ini akan membatasi penambahan Jaringan yang Diizinkan untuk akses database yang tidak di-proxy-kan ke instance Cloud SQL. Batasan ini tidak berlaku surut. Instance Cloud SQL dengan Jaringan yang Diizinkan yang ada masih berfungsi bahkan setelah batasan ini diterapkan.
Secara default, Anda dapat menambahkan Jaringan yang Diizinkan ke instance Cloud SQL.

constraints/sql.restrictAuthorizedNetworks
IZINKAN

Pembatasan untuk kebijakan organisasi koneksi

Saat menetapkan kebijakan organisasi untuk setiap project, Anda perlu menentukan apakah salah satu dari hal berikut berlaku untuk project Anda:

Konflik alamat IP publik replika baca

Replika baca Cloud SQL terhubung ke instance utama melalui koneksi database yang tidak di-proxy-kan. Anda dapat gunakan setelan Jaringan yang Diizinkan pada instance utama untuk mengonfigurasi alamat replika baca IP publik baik secara eksplisit atau implisit.

Jika instance utama dan replika berada dalam region yang sama dan mengaktifkan IP pribadi, tidak akan ada konflik dengan batasan kebijakan organisasi koneksi.

Inkompatibilitas dalam menggunakan gcloud sql connect

Perintah gcloud sql connect menggunakan alamat IP publik untuk terhubung ke instance Cloud SQL secara langsung. Oleh karena itu, nilai ini tidak kompatibel dengan batasan sql.restrictPublicIp. Hal ini umumnya menjadi masalah untuk instance yang menggunakan IP pribadi.

Selain itu, perintah gcloud sql connect tidak menggunakan proxy, membuatnya tidak kompatibel dengan batasan sql.restrictAuthorizedNetworks.

Sebagai gantinya, gunakan perintah versi beta:

gcloud beta auth login
gcloud beta sql connect [INSTANCE_ID]

Versi ini menggunakan Proxy Auth Cloud SQL. Lihat gcloud beta sql connect sebagai referensi.

Saat pertama kali Anda menjalankan perintah ini, Anda akan diminta untuk menginstal komponen gcloud Proxy Auth Cloud SQL. Untuk itu, Anda perlu memiliki izin tulis ke direktori penginstalan SDK gcloud di mesin klien Anda.

Akses layanan yang dihosting GCP

Jika aplikasi Anda memerlukan akses ke instance Cloud SQL dari layanan lain yang dihosting GCP, seperti App Engine, aplikasi tersebut harus menggunakan alamat IP publik. Jangan terapkan batasan sql.restrictPublicIp pada project. Namun, Anda dapat menerapkan sql.restrictAuthorizedNetworks, karena koneksi dari App Engine melalui koneksi yang aman (di-proxy-kan).

Alamat IP pribadi non-RFC 1918

Koneksi ke instance Cloud SQL yang menggunakan alamat IP pribadi akan otomatis diizinkan untuk rentang alamat RFC 1918. Dengan begitu, semua klien pribadi dapat mengakses database tanpa melalui proxy. Anda harus mengonfigurasi rentang alamat non-RFC 1918 sebagai jaringan yang diizinkan.

Untuk menggunakan rentang IP pribadi non-RFC 1918 yang tidak dikonfigurasi dalam jaringan yang diizinkan, Anda dapat melakukan salah satu atau kedua tindakan berikut:

  1. Jangan terapkan sql.restrictAuthorizedNetworks. Jika jaringan yang diizinkan juga menerapkan sql.restrictPublicIp, Anda tidak dapat mengonfigurasinya di konsol. Sebagai gantinya, gunakan Cloud SQL API atau gcloud CLI.
  2. Gunakan koneksi yang di-proxy-kan untuk instance IP pribadi.

Masalah Umum untuk kebijakan organisasi koneksi

Batasi batasan Jaringan yang Diizinkan

Untuk instance Cloud SQL yang memiliki entri Jaringan yang Diizinkan yang sudah ada sebelumnya, entri Jaringan yang Diizinkan tambahan akan diizinkan, bahkan saat menggunakan Pembatasan Jaringan yang Diizinkan (sql.restrictAuthorizedNetworks). Hal ini juga memengaruhi instance yang telah mengaktifkan replika hanya baca atau failover, karena memiliki entri Jaringan yang Diizinkan untuk replika yang tidak terlihat oleh pengguna.

Masalah umum ini akan dihapus jika batasan hanya mengizinkan penghapusan, bukan penambahan, entri Jaringan yang Diizinkan.

Kebijakan organisasi kunci enkripsi yang dikelola pelanggan (CMEK)

Cloud SQL mendukung dua batasan kebijakan organisasi yang membantu memastikan perlindungan CMEK di seluruh organisasi: constraints/gcp.restrictNonCmekServices dan constraints/gcp.restrictCmekCryptoKeyProjects.

Batasan constraints/gcp.restrictNonCmekServices memerlukan perlindungan CMEK untuk sqladmin.googleapis.com. Saat Anda menambahkan batasan ini dan menambahkan sqladmin.googleapis.com ke daftar kebijakan layanan Deny, Cloud SQL akan menolak pembuatan instance baru kecuali jika diaktifkan dengan CMEK.

Batasan constraints/gcp.restrictCmekCryptoKeyProjects membatasi Cloud KMS Bigtable yang akan digunakan untuk perlindungan CMEK dalam instance Cloud SQL untuk PostgreSQL. Dengan batasan ini, ketika Cloud SQL membuat instance baru dengan CMEK, CryptoKey harus berasal dari project, folder, atau organisasi yang diizinkan.

Batasan ini hanya diterapkan pada instance Cloud SQL untuk PostgreSQL yang baru dibuat.

Untuk mengetahui informasi ringkasan selengkapnya, lihat kebijakan organisasi CMEK. Untuk informasi tentang batasan kebijakan organisasi CMEK, lihat Batasan kebijakan organisasi.

Aturan penegakan kebijakan organisasi

Cloud SQL menerapkan kebijakan organisasi selama operasi berikut:

  • Pembuatan instance
  • Pembuatan replika
  • Mulai ulang instance
  • Migrasi instance
  • Clone instance

Seperti semua batasan kebijakan organisasi, perubahan kebijakan tidak berlaku secara surut pada instance yang ada.

  • Kebijakan baru tidak akan memengaruhi instance yang ada.
  • Konfigurasi instance yang ada tetap valid, kecuali jika pengguna mengubah konfigurasi instance dari status kepatuhan menjadi ketidakpatuhan menggunakan Console, gcloud CLI, atau RPC.
  • Update pemeliharaan terjadwal tidak menyebabkan penegakan kebijakan, karena pemeliharaan tidak mengubah konfigurasi instance.

Langkah selanjutnya