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 Kelola 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 menyertakan 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 menyertakan 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 Kelola sertifikat klien, temukan sertifikat yang ingin Anda hapus, lalu 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 menyertakan 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 menyertakan 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 baru.
  2. Perbarui klien Anda untuk menggunakan informasi sertifikat CA server baru.
  3. 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 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 sertifikat CA 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. Update 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 mengupdate 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 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 diupdate dengan benar untuk menggunakan informasi sertifikat baru, klien tidak 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" menjadi sertifikat aktif, yang menampilkan konfigurasi sertifikat Anda ke status 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 sertifikat CA.

    Jika tidak ada sertifikat yang memenuhi syarat, opsi rollback 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 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 melihat respons JSON seperti berikut:

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 melihat respons JSON seperti berikut:

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 Buat sertifikat CA baru.
  6. Klik untuk meluaskan Kelola sertifikat.
  7. Pilih Rotasi sertifikat CA.

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

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

gcloud

  1. Mulai 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 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 sertifikat tersebut 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 bagian Mengelola sertifikat CA server, Anda dapat melihat tanggal habis masa berlaku sertifikat CA server 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 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:

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 selanjutnya