Mengelola sertifikat SSL/TLS

Halaman ini menjelaskan cara mengelola sertifikat CA klien dan server Anda.

Mengelola sertifikat klien

Gunakan prosedur berikut untuk mengelola sertifikat klien di Cloud SQL.

Mengambil sertifikat klien

Anda dapat mengambil bagian kunci publik dari sertifikat klien. Namun, Anda tidak dapat mengambil kunci pribadi. Jika kunci pribadi hilang, Anda harus membuat sertifikat baru.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Pilih Koneksi dari menu navigasi SQL.
  4. Pilih tab Keamanan.
  5. Di Mengelola sertifikat klien, klik nama sertifikat.
  6. Halaman Sertifikat Klien SSL akan terbuka dan menampilkan sertifikat klien (client-cert.pem) dengan link untuk mendownload sertifikat.

gcloud

Ambil kunci publik sertifikat klien dengan perintah ssl client-certs describe:

gcloud sql ssl client-certs describe CERT_NAME \
--instance=INSTANCE_NAME \
--format="value(cert)" > client-cert.pem

REST v1

  1. Cantumkan sertifikat pada instance untuk mendapatkan sidik jari sertifikat yang ingin Anda ambil:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Catat kolom sha1Fingerprint untuk sertifikat yang ingin Anda ambil. Jangan sertakan tanda kutip.

  2. Ambil sertifikat:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance
    • sha1FingerPrint: sha1FingerPrint sertifikat

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  3. Salin semua data sertifikat yang terdapat di dalam tanda kutip ke dalam file, misalnya client-cert.pem. Jangan menyalin tanda kutip itu sendiri.

REST v1beta4

  1. Cantumkan sertifikat pada instance untuk mendapatkan sidik jari sertifikat yang ingin Anda ambil:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Catat kolom sha1Fingerprint untuk sertifikat yang ingin Anda ambil. Jangan sertakan tanda kutip.

  2. Ambil sertifikat:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance
    • sha1FingerPrint: sha1FingerPrint sertifikat

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  3. Salin semua data sertifikat yang terdapat di dalam tanda kutip ke dalam file, misalnya client-cert.pem. Jangan menyalin tanda kutip itu sendiri.

Menghapus sertifikat klien

Saat Anda menghapus sertifikat klien, server database akan diperbarui dan tidak perlu dimulai ulang.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Pilih Koneksi dari menu navigasi SQL.
  4. Pilih tab Keamanan.
  5. Di Mengelola sertifikat klien, temukan sertifikat yang ingin dihapus, lalu klik Hapus..
  6. Di panel Hapus sertifikat klien, klik Oke.

gcloud

Hapus sertifikat klien menggunakan perintah ssl client-certs delete:

gcloud sql ssl client-certs delete CERT_NAME \
--instance=INSTANCE_NAME

REST v1

  1. Cantumkan sertifikat pada instance untuk mendapatkan sidik jari sertifikat yang ingin Anda hapus:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Catat kolom sha1Fingerprint untuk sertifikat yang ingin Anda hapus. Jangan sertakan tanda kutip.

  2. Menghapus sertifikat:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance
    • sha1FingerPrint: sha1FingerPrint sertifikat

    Metode HTTP dan URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

  1. Cantumkan sertifikat pada instance untuk mendapatkan sidik jari sertifikat yang ingin Anda hapus:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Catat kolom sha1Fingerprint untuk sertifikat yang ingin Anda hapus. Jangan sertakan tanda kutip.

  2. Menghapus sertifikat:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance
    • sha1FingerPrint: sha1FingerPrint sertifikat

    Metode HTTP dan URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Mengelola sertifikat CA server (CA per instance)

Bagian ini menjelaskan cara mengelola sertifikat CA server yang dibuat secara internal oleh Cloud SQL. Ini adalah mode CA server default di Cloud SQL. Dalam hierarki otoritas sertifikasi ini, Cloud SQL membuat CA server untuk setiap instance.

Merotasi sertifikat CA server

Jika Anda menerima pemberitahuan tentang masa berlaku sertifikat atau ingin memulai rotasi, lakukan langkah-langkah berikut untuk menyelesaikan rotasi. Sebelum memulai rotasi, Anda harus memiliki CA server baru di instance. Jika CA server baru telah dibuat, Anda dapat melewati langkah pertama dalam prosedur berikut.

  1. Buat CA server baru.
  2. Download informasi sertifikat CA server baru.
  3. Perbarui klien Anda untuk menggunakan informasi sertifikat CA server yang baru.
  4. Selesaikan rotasi, yang memindahkan sertifikat aktif ke slot "sebelumnya" dan memperbarui sertifikat yang baru ditambahkan menjadi sertifikat aktif.

Konsol

Download informasi sertifikat CA server baru:

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Pilih Koneksi dari menu navigasi SQL.
  4. Pilih tab Keamanan.
  5. Klik untuk meluaskan Kelola sertifikat.
  6. Pilih Rotasi sertifikat CA.

    Jika tidak ada sertifikat yang memenuhi syarat, opsi rotasi tidak akan tersedia.

  7. Klik Download Sertifikat.

Informasi sertifikat CA server, yang dienkode sebagai file PEM, didownload ke lingkungan lokal Anda:

  • Perbarui semua klien MySQL Anda untuk menggunakan informasi baru dengan menyalin file yang didownload ke mesin host klien, menggantikan file server-ca.pem yang sudah ada.

Setelah Anda memperbarui klien, selesaikan rotasi:

  1. Kembali ke tab Keamanan.
  2. Klik untuk meluaskan Kelola sertifikat.
  3. Pilih Rotasi sertifikat CA.
  4. Pastikan klien Anda terhubung dengan benar.

    Jika ada klien yang tidak terhubung menggunakan sertifikat yang baru dirotasi, Anda dapat memilih Rollback CA certificate untuk rollback ke konfigurasi sebelumnya.

gcloud

  1. Buat sertifikat CA server:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE
  2. Download informasi sertifikat ke file PEM lokal:
    gcloud sql ssl server-ca-certs list \
    --format="value(cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/FILE_NAME.pem
  3. Perbarui semua klien Anda untuk menggunakan informasi baru ini dengan menyalin file yang didownload ke mesin host klien, menggantikan file server-ca.pem yang sudah ada.
  4. Setelah Anda memperbarui klien, selesaikan rotasi:
    gcloud sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Pastikan klien Anda terhubung dengan benar.

    Jika ada klien yang tidak terhubung menggunakan sertifikat yang baru dirotasi, Anda dapat melakukan rollback ke konfigurasi sebelumnya.

REST v1

  1. Download sertifikat CA server Anda:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/listServerCas

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Selesaikan rotasi:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rotateServerCa

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

  1. Download sertifikat CA server Anda:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Selesaikan rotasi:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Me-roll back operasi rotasi sertifikat

Setelah Anda menyelesaikan rotasi sertifikat, semua klien Anda harus menggunakan sertifikat baru untuk terhubung ke instance Cloud SQL. Jika klien tidak diperbarui dengan benar untuk menggunakan informasi sertifikat baru, klien tidak akan dapat terhubung menggunakan SSL/TLS ke instance Anda. Jika hal ini terjadi, Anda dapat melakukan roll back ke konfigurasi sertifikat sebelumnya.

Operasi rollback akan memindahkan sertifikat aktif ke slot "mendatang" (menggantikan sertifikat "mendatang"). Sertifikat "sebelumnya" akan menjadi sertifikat yang aktif, mengembalikan konfigurasi sertifikat ke keadaan sebelum Anda menyelesaikan rotasi.

Untuk melakukan roll back ke konfigurasi sertifikat sebelumnya:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Pilih Koneksi dari menu navigasi SQL.
  4. Pilih tab Keamanan.
  5. Klik untuk meluaskan Kelola sertifikat.
  6. Pilih Rollback CA certificate.

    Jika tidak ada sertifikat yang memenuhi syarat, opsi rollback tidak akan tersedia. Jika tidak, tindakan rollback akan selesai setelah beberapa detik.

gcloud

gcloud sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
   

REST v1

  1. Download sertifikat CA server Anda:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/listServerCas

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Salin kolom sha1Fingerprint untuk versi yang ingin Anda roll back.

    Cari versi dengan nilai createTime yang lebih awal sebelum versi dengan nilai sha1Fingerprint yang ditunjukkan sebagai activeVersion.

  3. Roll back rotasi:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rotateServerCa

    Meminta isi JSON:

    {
      "rotateServerCaContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

  1. Download sertifikat CA server Anda:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Salin kolom sha1Fingerprint untuk versi yang ingin Anda roll back.

    Cari versi dengan nilai createTime yang lebih awal sebelum versi dengan nilai sha1Fingerprint yang ditunjukkan sebagai activeVersion.

  3. Roll back rotasi:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Meminta isi JSON:

    {
      "rotateServerCaContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Memulai rotasi

Anda tidak perlu menunggu email dari Cloud SQL untuk memulai rotasi. Anda dapat memulainya kapan saja. Saat Anda memulai rotasi, sertifikat baru akan dibuat dan ditempatkan ke slot "mendatang". Jika sertifikat sudah ada di slot "mendatang" pada saat permintaan Anda, sertifikat tersebut akan dihapus. Hanya boleh ada satu sertifikat mendatang.

Untuk memulai rotasi:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Pilih Koneksi dari menu navigasi SQL.
  4. Pilih tab Keamanan.
  5. Klik Create new CA certificate.
  6. Klik untuk meluaskan Kelola sertifikat.
  7. Pilih Rotasi sertifikat CA.

    Jika tidak ada sertifikat yang memenuhi syarat, opsi rotasi tidak akan tersedia.

  8. Selesaikan rotasi seperti yang dijelaskan dalam Merotasi sertifikat CA server.

gcloud

  1. Memulai rotasi:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
         
  2. Selesaikan rotasi seperti yang dijelaskan dalam Merotasi sertifikat CA server.

REST v1

  1. Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rotateServerCa

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Selesaikan rotasi seperti yang dijelaskan dalam Merotasi sertifikat CA server.

REST v1beta4

  1. Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Selesaikan rotasi seperti yang dijelaskan dalam Merotasi sertifikat CA server.

Mendapatkan informasi tentang sertifikat CA server

Anda dapat memperoleh informasi tentang sertifikat CA server, seperti kapan masa berlaku sertifikat berakhir atau tingkat enkripsi yang disediakannya.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Pilih Koneksi dari menu navigasi SQL.
  4. Pilih tab Keamanan.

    Di Kelola sertifikat CA server, Anda dapat melihat tanggal habis masa berlaku sertifikat CA server di tabel.

    Untuk melihat jenis sertifikat, gunakan perintah gcloud sql ssl server-ca-certs list --instance=INSTANCE_NAME.

gcloud

gcloud sql ssl server-ca-certs list \
--instance=INSTANCE_NAME

REST v1

Saat mendeskripsikan instance, Anda dapat melihat detail tentang sertifikat CA server:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=serverCaCert

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

Saat mendeskripsikan instance, Anda dapat melihat detail tentang sertifikat CA server:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=serverCaCert

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Melihat konten sertifikat CA

Anda dapat menggunakan openssl storeutl untuk melihat konten sertifikat CA.

Saat menjalankan perintah beta sql ssl server-ca-certs list, Anda mungkin mendapatkan beberapa sertifikat CA dari operasi terkait rotasi sebelumnya.

gcloud

  1. Jalankan perintah berikut:
    gcloud beta sql ssl server-ca-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Ganti INSTANCE_NAME dengan nama instance.

  2. Gunakan openssl untuk memeriksa konten sertifikat CA.
  3. openssl storeutl -noout -text temp_cert.pem
       

Melihat konten sertifikat server

Anda dapat menggunakan openssl s_client untuk melihat konten sertifikat server.

gcloud

Untuk melihat konten sertifikat server, jalankan perintah berikut:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Ganti INSTANCE_IP_ADDRESS dengan alamat IP instance.

Mengelola sertifikat server (CA bersama)

Bagian ini menjelaskan cara mengelola sertifikat server pada instance yang menggunakan CA bersama. Anda dapat memilih untuk menggunakan CA bersama sebagai mode CA server untuk instance dengan menentukan GOOGLE_MANAGED_CAS_CA untuk setelan serverCaMode (Cloud SQL Admin API) atau flag --server-ca-mode (gcloud CLI) saat Anda membuat instance.

Merotasi sertifikat server

Jika Anda menerima pemberitahuan tentang masa berlaku sertifikat atau ingin memulai rotasi, lakukan langkah-langkah berikut untuk menyelesaikan rotasi. Sebelum Anda memulai rotasi, harus ada sertifikat server baru yang dibuat untuk rotasi mendatang. Jika sudah ada sertifikat server baru yang dibuat untuk rotasi mendatang, Anda dapat melewati langkah pertama dalam prosedur berikut.

Untuk merotasi sertifikat server di instance Anda, lakukan langkah-langkah berikut:

  1. Jika Anda memerlukan sertifikat server baru, buat sertifikat tersebut.

  2. Jika klien Anda sudah memercayai CA root, langkah ini bersifat opsional. Namun, jika Anda perlu memperbarui klien dengan informasi CA server, lakukan hal berikut:

    1. Download informasi CA server terbaru.
    2. Perbarui klien Anda untuk menggunakan informasi CA server terbaru.
  3. Selesaikan rotasi dengan memindahkan sertifikat aktif ke slot sebelumnya, dan memperbarui sertifikat baru menjadi sertifikat aktif.

Konsol

Anda tidak dapat menggunakan konsol Google Cloud untuk mengganti sertifikat server di instance yang menggunakan CA Service selama Pratinjau. Sebagai gantinya, gunakan perintah gcloud beta sql ssl server-certs rotate atau perintah Cloud SQL Admin API.

gcloud

  1. Untuk membuat sertifikat server, gunakan perintah berikut:
    gcloud beta sql ssl server-certs create \
    --instance=INSTANCE
  2. Ganti INSTANCE dengan nama instance.
  3. Pastikan Anda menggunakan paket CA terbaru. Jika Anda tidak menggunakan paket CA terbaru, jalankan perintah berikut untuk mendownload informasi CA server terbaru untuk instance ke file PEM lokal:
    gcloud beta sql ssl server-certs list \
    --format="value(ca_cert.cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/server-ca.pem

    Atau, download paket CA dari tabel paket sertifikat CA root dan regional di halaman ini.

    Kemudian, perbarui semua klien Anda untuk menggunakan informasi CA server baru dengan menyalin file yang didownload ke mesin host klien, menggantikan file server-ca.pem yang sudah ada.

  4. Setelah Anda memperbarui semua klien (jika pembaruan klien diperlukan), selesaikan rotasi:
    gcloud beta sql ssl server-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Pastikan klien Anda terhubung dengan benar.

    Jika ada klien yang tidak terhubung menggunakan sertifikat server yang baru dirotasi, lakukan rollback ke konfigurasi sebelumnya.

REST v1

  1. Buat sertifikat server.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/addServerCertificate

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Jika perlu mendownload informasi sertifikat CA server, Anda dapat menggunakan perintah berikut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  3. Selesaikan rotasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

  1. Buat sertifikat server.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/addServerCertificate

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Jika perlu mendownload informasi sertifikat CA server, Anda dapat menggunakan perintah berikut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  3. Selesaikan rotasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Membatalkan rotasi sertifikat

Setelah Anda menyelesaikan rotasi sertifikat server, semua klien Anda harus menggunakan sertifikat baru untuk terhubung ke instance Cloud SQL. Jika klien tidak diperbarui dengan benar untuk menggunakan informasi sertifikat baru, klien tidak akan dapat terhubung menggunakan SSL/TLS ke instance Anda. Jika hal ini terjadi, Anda dapat melakukan roll back ke konfigurasi sertifikat sebelumnya.

Operasi rollback akan memindahkan sertifikat aktif ke slot "mendatang", yang menggantikan sertifikat "mendatang". Sertifikat "sebelumnya" menjadi sertifikat aktif dan mengembalikan konfigurasi sertifikat ke keadaan sebelumnya sebelum Anda menyelesaikan rotasi.

Konsol

Anda tidak dapat menggunakan konsol Google Cloud untuk mengembalikan sertifikat server pada instance yang menggunakan CA Service selama Pratinjau. Sebagai gantinya, gunakan perintah gcloud beta sql ssl server-certs rollback atau perintah Cloud SQL Admin API.

gcloud

gcloud beta sql ssl server-certs rollback \
--instance=INSTANCE_NAME
   

REST v1

  1. Cantumkan sertifikat server Anda.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Salin kolom sha1Fingerprint untuk versi yang ingin Anda roll back.

    Cari versi dengan nilai createTime yang lebih awal sebelum versi dengan nilai sha1Fingerprint yang ditunjukkan sebagai activeVersion.

  3. Roll back rotasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Meminta isi JSON:

    {
      "rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

  1. Cantumkan sertifikat server Anda.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Salin kolom sha1Fingerprint untuk versi yang ingin Anda roll back.

    Cari versi dengan nilai createTime yang lebih awal sebelum versi dengan nilai sha1Fingerprint yang ditunjukkan sebagai activeVersion.

  3. Roll back rotasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: project ID
    • INSTANCE_ID: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Meminta isi JSON:

    {
      "rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Melihat konten sertifikat CA

Anda dapat menggunakan utilitas openssl storeutl untuk melihat konten sertifikat CA.

Saat menjalankan perintah beta sql ssl server-certs list, Anda selalu mendapatkan beberapa sertifikat CA karena rantai kepercayaan. Anda juga mungkin mendapatkan beberapa sertifikat CA dari operasi terkait rotasi sebelumnya.

gcloud

  1. Jalankan perintah berikut:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Ganti INSTANCE_NAME dengan nama instance.

  2. Gunakan openssl untuk memeriksa konten sertifikat CA.
  3. openssl storeutl -noout -text temp_cert.pem
       

Melihat konten sertifikat server

Anda dapat menggunakan utilitas openssl dan perintah daftar server-certs sql ssl beta untuk melihat konten sertifikat server.

Saat menjalankan perintah gcloud CLI, Anda selalu mendapatkan beberapa sertifikat CA karena rantai kepercayaan. Anda juga mungkin mendapatkan beberapa sertifikat CA dari operasi terkait rotasi sebelumnya.

gcloud

Hanya menggunakan openssl s_client:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Ganti INSTANCE_IP_ADDRESS dengan alamat IP instance.

Menggunakan gcloud CLI dan openssl storeutl:

  1. Jalankan perintah berikut:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(ssl_cert.cert)' > temp_cert.pem

    Ganti INSTANCE_NAME dengan nama instance.

  2. Gunakan openssl untuk memeriksa konten sertifikat server.
  3. openssl storeutl -noout -text temp_cert.pem
       

Mendownload paket root certificate dan CA regional

Anda dapat mendownload paket sertifikat CA root dan regional dari tabel berikut.

Nama region Lokasi Paket sertifikat
Global
CA untuk semua region Semua lokasi global.pem
Asia
asia-east1 Taiwan asia-east1.pem
asia-east2 Hong Kong asia-east2.pem
asia-northeast1 Tokyo asia-northeast1.pem
asia-northeast2 Osaka asia-northeast2.pem
asia-northeast3 Seoul asia-northeast3.pem
asia-south1 Mumbai asia-south1.pem
asia-south2 Delhi asia-south2.pem
asia-southeast1 Singapura asia-southeast1.pem
asia-southeast2 Jakarta asia-southeast2.pem
Afrika
africa-south1 Johannesburg africa-south1.pem
Australia
australia-southeast1 Sydney australia-southeast1.pem
australia-southeast2 Melbourne australia-southeast2.pem
Eropa
europe-central2 Warsawa europe-central2.pem
europe-north1 Finlandia europe-north1.pem
europe-southwest1 Madrid europe-southwest1.pem
europe-west1 Belgia europe-west1.pem
europe-west2 London europe-west2.pem
europe-west3 Frankfurt europe-west3.pem
europe-west4 Belanda europe-west4.pem
europe-west6 Zürich europe-west6.pem
europe-west8 Milan europe-west8.pem
europe-west9 Paris europe-west9.pem
europe-west10 Berlin europe-west10.pem
europe-west12 Turin europe-west12.pem
Timur Tengah
me-central1 Doha me-central1.pem
me-central2 Dammam me-central2.pem
me-west1 Tel Aviv me-west1.pem
Amerika Utara
northamerica-northeast1 Montréal northamerica-northeast1.pem
northamerica-northeast2 Toronto northamerica-northeast2.pem
northamerica-south1 Meksiko northamerica-south1.pem
us-central1 Iowa us-central1.pem
us-east1 South Carolina us-east1.pem
us-east4 Northern Virginia us-east4.pem
us-east5 Columbus us-east5.pem
us-south1 Dallas us-south1.pem
us-west1 Oregon us-west1.pem
us-west2 Los Angeles us-west2.pem
us-west3 Salt Lake City us-west3.pem
us-west4 Las Vegas us-west4.pem
Amerika Selatan
southamerica-east1 Sao Paulo southamerica-east1.pem
southamerica-west1 Santiago southamerica-west1.pem

Mereset konfigurasi SSL/TLS

Anda dapat sepenuhnya mereset konfigurasi SSL/TLS.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Pilih Koneksi dari menu navigasi SQL.
  4. Buka bagian Reset konfigurasi SSL.
  5. Klik Reset Konfigurasi SSL.

gcloud

  1. Muat ulang sertifikat:

    gcloud sql instances reset-ssl-config INSTANCE_NAME
  2. gcloud sql instances restart INSTANCE_NAME
  3. Buat sertifikat klien baru.

REST v1beta4

  1. Muat ulang sertifikat:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/resetSslConfig

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  2. Buat sertifikat klien baru.

Langkah berikutnya