Mengelola sertifikat SSL/TLS

Halaman ini menjelaskan cara mengelola sertifikat CA klien dan server.

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 Kelola sertifikat klien, klik nama sertifikat.
  6. Halaman Sertifikat Klien SSL terbuka dan menampilkan sertifikat klien (client-cert.pem) dengan tautan untuk mengunduh 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 salin 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 salin 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 Kelola sertifikat klien, cari sertifikat yang ingin Anda hapus dan klik Hapus..
  6. Di panel Delete client certificate, klik OK.

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

Merotasi sertifikat CA server

Jika Anda menerima pemberitahuan tentang masa berlaku sertifikat atau telah memulai rotasi, Anda harus melakukan langkah-langkah berikut untuk menyelesaikan rotasi:

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

Konsol

Download informasi sertifikat CA server yang 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 CA certificate.

    Jika tidak ada sertifikat yang memenuhi syarat, maka opsi rotasi tidak 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 CA certificate.
  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 beta 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 beta 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:

    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:

    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, maka dan terhubung menggunakan SSL/TLS ke instance Anda. Jika ini terjadi, Anda dapat kembali ke konfigurasi sertifikat sebelumnya.

Operasi rollback memindahkan sertifikat aktif ke file "mendatang" (menggantikan semua sertifikat "akan datang"). "Sebelumnya" menjadi sertifikat aktif, yang 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, maka opsi {i>rollback<i} tidak tersedia. Jika tidak, tindakan rollback akan selesai setelah beberapa detik.

gcloud

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

REST v1

  1. Download 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/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:

    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 "mendatang" pada saat permintaan Anda, maka 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 Buat sertifikat CA baru.
  6. Klik untuk meluaskan Kelola sertifikat.
  7. Pilih Rotasi CA certificate.

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

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

gcloud

  1. Memulai rotasi:
    gcloud beta 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 bisa mendapatkan informasi tentang sertifikat CA server, seperti kapan masa berlakunya habis 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 bagian Kelola sertifikat CA server, Anda dapat melihat tanggal habis masa berlaku sertifikat CA server Anda dalam tabel.

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

gcloud

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

REST v1

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

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 menjelaskan instance, Anda akan melihat detail tentang server Sertifikat CA:

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:

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