Halaman ini menjelaskan cara menggunakan Secure Socket Layer (SSL), yang kini Transport Layer Security (TLS), dari aplikasi Anda untuk mengenkripsi koneksi ke instance Cloud SQL.
Ringkasan
Cloud SQL mendukung koneksi ke instance menggunakan protokol SSL/TLS. Koneksi SSL/TLS memberikan lapisan keamanan dengan mengenkripsi data dalam pengiriman antara klien dan database di instance Cloud SQL Anda. Secara opsional, koneksi SSL/TLS Anda dapat melakukan verifikasi identitas server dengan memvalidasi sertifikat server yang diinstal di instance Cloud SQL dan verifikasi identitas klien dengan memvalidasi sertifikat klien yang diinstal di klien.
Sertifikat Server
Saat Anda membuat instance, Cloud SQL akan otomatis membuat dan menginstal sertifikat server yang ditandatangani oleh certificate authority (CA). Anda dapat mendownload sertifikat CA ke mesin host klien dan menggunakannya untuk memverifikasi identitas Cloud SQL server dan CA. Secara opsional, Anda dapat memilih jenis CA yang digunakan Cloud SQL untuk menandatangani sertifikat server.
Sertifikat klien
Anda dapat membuat dan mendownload sertifikat klien bersama dengan kunci ke mesin host klien secara opsional untuk autentikasi bersama (verifikasi identitas server dan klien). Anda tidak dapat memilih jenis CA yang digunakan Cloud SQL untuk menandatangani sertifikat klien.
Menghubungkan menggunakan SSL/TLS
Saat terhubung ke instance Cloud SQL dari klien, Anda dapat menggunakan SSL/TLS untuk koneksi langsung serta untuk koneksi yang menggunakan Proxy Auth Cloud SQL atau Cloud SQL Language Connectors.
Untuk koneksi langsung, Google sangat merekomendasikan penerapan enkripsi SSL/TLS menggunakan setelan mode SSL di Cloud SQL. Secara opsional, Anda juga dapat menerapkan verifikasi sertifikat klien. Untuk informasi selengkapnya, lihat Menerapkan enkripsi SSL/TLS.
Untuk koneksi yang menggunakan Proxy Auth Cloud SQL atau Konektor Bahasa Cloud SQL, koneksi tersebut otomatis dienkripsi dengan SSL/TLS beserta verifikasi identitas klien dan server tanpa mengharuskan Anda mendownload sertifikat CA server dan sertifikat klien.
Untuk mengetahui informasi selengkapnya tentang opsi konektivitas Cloud SQL, lihat Tentang koneksi Cloud SQL.
Untuk informasi selengkapnya tentang konfigurasi SSL/TLS sisi klien, lihat dokumentasi untuk mesin database Anda.Hierarki certificate authority (CA)
Bagian ini menjelaskan dua jenis certificate authority (CA) server yang dapat Anda pilih untuk instance Cloud SQL. Anda memiliki dua opsi:
- CA per instance: dengan opsi ini, CA internal yang didedikasikan
untuk setiap instance Cloud SQL akan menandatangani
sertifikat server untuk instance tersebut.
Cloud SQL membuat dan mengelola CA ini. Untuk memilih CA per instance,
tentukan
GOOGLE_MANAGED_INTERNAL_CA
untuk setelanserverCaMode
(Cloud SQL Admin API) atau tanda--server-ca-mode
(gcloud CLI) saat Anda membuat instance. Jika Anda tidak menentukan setelan atau tanda, opsi ini adalah nilai default untuk instance. CA Bersama: dengan opsi ini, hierarki CA yang terdiri dari root CA dan CA server subordinat akan digunakan. CA server bawahan di region menandatangani sertifikat server dan dibagikan di seluruh instance di region. Cloud SQL menghosting dan mengelola CA root dan CA server bawahan di Layanan Certificate Authority (CA Service) Google Cloud. Cloud SQL juga menangani rotasi CA root dan CA server subordinasi serta menyediakan link yang tersedia secara publik ke paket sertifikat CA untuk didownload. Untuk memilih CA bersama, tentukan
GOOGLE_MANAGED_CAS_CA
untuk setelanserverCaMode
(Cloud SQL Admin API) atau tanda--server-ca-mode
(gcloud CLI) saat Anda membuat instance.
Setelah membuat instance, Anda dapat melihat hierarki CA yang dikonfigurasi untuk
instance Cloud SQL menggunakan perintah gcloud sql instances describe
.
Untuk mengetahui informasi selengkapnya, lihat Melihat informasi instance.
Tabel berikut membandingkan dua opsi hierarki CA.
Fitur | CA per instance | CA Bersama |
---|---|---|
Struktur CA | CA terpisah untuk setiap instance | Root CA dan CA subordinat yang digunakan bersama di seluruh instance di region yang sama |
Atribut kriptografis | Kunci RSA 2048-bit dengan algoritma SHA256 | Elliptic Curve Digital Signature Algorithm (ECDSA) dengan kunci 384-bit dengan algoritma SHA384 |
Periode validitas CA | 10 tahun | 25 tahun untuk CA root dan 10 tahun untuk CA subordinat |
Periode validitas sertifikat server | 10 tahun | 1 tahun |
Rotasi CA yang dimulai pengguna? | Ya | Tidak. Rotasi CA dikelola oleh Cloud SQL |
Rotasi sertifikat server yang dimulai pengguna? | Ya | Ya |
Anchor kepercayaan CA untuk koneksi TLS | CA unik per instance adalah anchor kepercayaan untuk instance yang sesuai. | Root CA dan CA subordinasi adalah anchor kepercayaan untuk semua instance di region tertentu. |
Verifikasi identitas server | Memverifikasi CA akan memverifikasi identitas server karena setiap instance memiliki CA yang unik. | Memverifikasi nama host beserta memverifikasi CA diperlukan untuk verifikasi identitas server karena CA server dibagikan di seluruh instance. |
Kolom Nama Alternatif Subjek (SAN) di sertifikat server | Kolom SAN berisi nama host (nama DNS instance) hanya untuk instance yang diaktifkan dengan Private Service Connect. Nama host dapat digunakan untuk verifikasi identitas server. Jika terhubung ke instance Cloud SQL menggunakan nama DNS sebagai nama host, Anda harus menyiapkan resolusi DNS. | Kolom SAN berisi nama host (nama DNS instance) untuk semua jenis instance. Nama host dapat digunakan untuk verifikasi identitas server. Jika terhubung ke instance Cloud SQL menggunakan nama DNS sebagai nama host, Anda harus menyiapkan resolusi DNS. |
CA per instance yang dihosting oleh Cloud SQL
Hierarki CA ini adalah konfigurasi mode CA server default.
Cloud SQL membuat CA server yang ditandatangani sendiri baru untuk setiap
instance saat Anda membuat instance.
Untuk menggunakan setelan ini, konfigurasikan serverCaMode
ke GOOGLE_MANAGED_INTERNAL_CA
atau biarkan setelan konfigurasi tidak ditentukan saat Anda membuat instance.
Diagram berikut menunjukkan hierarki CA per instance.
CA bersama yang dihosting oleh Layanan CA
Mode CA server ini terdiri dari root CA dan CA server bawahan di setiap region. CA server subordinasi menerbitkan sertifikat server dan dibagikan di seluruh instance di region. Cloud SQL menangani rotasi CA server regional bersama dan menyediakan link yang tersedia secara publik untuk mendownload paket sertifikat CA.
Anda dapat mengonfigurasi instance untuk menggunakan hierarki CA server tempat CA
penerbit dibagikan di seluruh instance di region yang sama. Untuk menggunakan setelan ini, konfigurasikan serverCaMode
ke GOOGLE_MANAGED_CAS_CA
saat Anda membuat instance.
Diagram berikut menunjukkan hierarki CA bersama.
Cara kerja rotasi sertifikat server
Cloud SQL menyediakan cara untuk merotasi sertifikat server Anda, sehingga sertifikat baru dapat ditukar dengan lancar sebelum sertifikat lama berakhir. expired.
Perintah rotasi yang akan digunakan bergantung pada apakah Anda menggunakan sertifikat server yang diterbitkan oleh CA per instance atau sertifikat server yang diterbitkan oleh CA bersama.
Sekitar tiga bulan sebelum masa berlaku sertifikat server untuk instance Cloud SQL berakhir, pemilik project akan menerima email dari Cloud SQL, yang menyatakan bahwa proses rotasi sertifikat untuk instance tersebut telah dimulai. Email tersebut memberikan nama instance, dan mengatakan bahwa Cloud SQL telah menambahkan sertifikat server baru ke project. Sertifikat server yang ada terus berfungsi secara normal. Akibatnya, instance memiliki dua sertifikat server selama periode ini.
Sebelum masa berlaku sertifikat saat ini berakhir, download file server-ca.pem
baru,
yang berisi informasi sertifikat untuk sertifikat server saat ini dan
baru. Update klien PostgreSQL Anda untuk menggunakan file baru,
dengan menyalinnya ke semua mesin host klien PostgreSQL Anda, sehingga
file yang sudah ada akan diganti.
Setelah semua klien PostgreSQL Anda diupdate, kirim perintah rotasi (untuk CA per instance) atau perintah rotasi (untuk CA bersama) ke instance Cloud SQL untuk melakukan rotasi ke sertifikat server baru. Setelah selesai, sertifikat server lama tidak akan lagi dikenali, dan hanya sertifikat server baru yang dapat digunakan.
Sertifikat klien tidak terpengaruh oleh rotasi sertifikat server.Masa berlaku sertifikat SSL telah berakhir
Secara default, instance Cloud SQL menggunakan setelan default GOOGLE_MANAGED_INTERNAL_CA
sebagai serverCaMode
. Sertifikat SSL
memiliki masa berlaku 10 tahun. Sebelum masa berlaku sertifikat ini
berakhir, lakukan rotasi CA.
Untuk instance yang menggunakan CA bersama
(serverCaMode
disetel ke GOOGLE_MANAGED_CAS_CA
),
periode habis masa berlaku sertifikat server adalah 1 tahun.
Sebelum masa berlaku habis, lakukan rotasi sertifikat SSL. Sertifikat root certificate authority (CA) memiliki periode habis masa berlaku 25 tahun dan sertifikat CA bersama subordinat memiliki periode habis masa berlaku 10 tahun.
Cloud SQL menangani rotasi kunci enkripsi.
Jika klien dikonfigurasi untuk memverifikasi CA atau memverifikasi nama host di sertifikat server, koneksi klien tersebut ke instance Cloud SQL dengan sertifikat server yang telah berakhir masa berlakunya akan gagal. Untuk mencegah gangguan pada koneksi klien, rotasi sertifikat server sebelum masa berlaku sertifikat berakhir.
Baik Anda menggunakan CA per instance atau mode server CA bersama, Anda dapat mereset konfigurasi SSL instance Cloud SQL Anda kapan saja.
Langkah selanjutnya
Konfigurasikan SSL/TLS pada instance Cloud SQL.
Pelajari lebih lanjut cara penanganan enkripsi di Google Cloud.
- Hubungkan menggunakan SSL/TLS ke instance Cloud SQL.
- Kelola SSL/TLS di instance Cloud SQL Anda.
- Pelajari lebih lanjut cara PostgreSQL menggunakan SSL/TLS.