Merotasi certificate authority

Google Distributed Cloud memungkinkan Anda merotasi certificate authority (CA) cluster pengguna untuk memperbarui sertifikat dan kunci pribadi yang mengautentikasi dan mengenkripsi komunikasi sistem. Merotasi CA cluster pengguna secara berkala dan setelah potensi insiden keamanan membantu Anda menjaga keamanan cluster. Rotasi CA otomatis memerlukan sertifikat yang aktif dan valid.

Jika masa berlaku sertifikat cluster Anda telah berakhir, Anda harus memperpanjang sertifikat cluster yang sudah tidak berlaku secara manual untuk memulihkan operasi cluster.

Cara kerja rotasi CA

Saat Anda menjalankan perintah bmctl update credentials certificate-authorities rotate, Google Distributed Cloud akan melakukan tindakan berikut:

  • Perintah ini membuat dan mengupload certificate authority (CA) cluster baru untuk CA cluster, CA etcd, dan CA front-proxy ke namespace cluster pengguna di cluster admin.

  • Pengontrol cluster admin mengganti certificate authority cluster pengguna dengan yang baru dibuat.

  • Pengontrol cluster admin mendistribusikan sertifikat CA publik baru dan pasangan kunci sertifikat entitas akhir ke komponen sistem cluster pengguna.

  • Perintah ini juga memperbarui Secret stackdriver-prometheus-etcd-scrape, yang dibuat oleh Google Distributed Cloud selama pembuatan cluster. Prometheus memerlukan secret ini untuk mengumpulkan metrik etcd.

Sebelum memulai

Sebelum merotasi certificate authority cluster, buat rencana sesuai dengan kondisi dan dampak berikut:

  • Pastikan cluster admin dan pengguna menggunakan versi 1.9.0 atau yang lebih tinggi sebelum memulai rotasi CA.

  • Rotasi CA bersifat inkremental, sehingga komponen sistem dapat berkomunikasi selama rotasi.

  • Rotasi CA memulai ulang server API, proses bidang kontrol lainnya, dan setiap node dalam cluster beberapa kali. Setiap tahap rotasi CA berlangsung mirip dengan upgrade cluster. Meskipun cluster pengguna tetap beroperasi selama rotasi CA, Anda harus memperkirakan bahwa workload akan dimulai ulang dan dijadwalkan ulang.

  • Jika cluster pengguna Anda tidak memiliki bidang kontrol ketersediaan tinggi, perkirakan periode singkat periode nonaktif bidang kontrol selama rotasi CA.

  • Operasi pengelolaan cluster tidak diizinkan selama rotasi CA.

  • Durasi rotasi CA bergantung pada ukuran cluster Anda. Misalnya, rotasi CA mungkin memerlukan waktu hampir dua jam untuk diselesaikan pada cluster dengan satu bidang kontrol dan 50 worker node.

Batasan

Kemampuan rotasi certificate authority memiliki batasan berikut:

  • Rotasi CA tidak memperbarui sertifikat yang dikeluarkan secara manual oleh administrator, meskipun CA cluster menandatangani sertifikat tersebut. Perbarui dan distribusikan ulang sertifikat yang diterbitkan secara manual setelah rotasi CA cluster pengguna selesai.

  • Setelah dimulai, rotasi CA tidak dapat dijeda atau di-roll back.

Memulai rotasi CA cluster

Secara default, sertifikat TLS memiliki masa berlaku 1 tahun, sedangkan sertifikat clientconfig-operator memiliki masa berlaku 10 tahun (untuk versi sebelum 1.36.100, masa berlaku sertifikat clientconfig-operator akan berakhir setelah lima tahun). Google Distributed Cloud memperpanjang sertifikat ini saat Anda merotasi certificate authority. Google Distributed Cloud juga memperpanjang sertifikat TLS 1 tahun selama upgrade cluster. Untuk versi sebelum 1.36.100, sebaiknya upgrade cluster Anda secara rutin agar tetap aman, didukung, dan untuk mencegah masa berlaku sertifikat TLS berakhir, serta lakukan rotasi CA setidaknya sekali setiap lima tahun.

Gunakan perintah berikut untuk memulai proses rotasi CA:

bmctl update credentials certificate-authorities rotate --cluster CLUSTER_NAME \
    --kubeconfig KUBECONFIG

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster yang ingin Anda rotasi CA-nya.
  • KUBECONFIG: jalur ke file kubeconfig cluster admin. Untuk cluster yang dikelola sendiri, file ini adalah file kubeconfig cluster.

Perintah bmctl akan keluar setelah CA berhasil dirotasi dan file kubeconfig baru dibuat. Jalur standar untuk file kubeconfig adalah bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

Memecahkan masalah rotasi CA cluster

Perintah bmctl update credentials menampilkan progres rotasi CA. File update-credentials.log terkait disimpan ke direktori bertanda waktu berikut:

bmctl-workspace/CLUSTER_NAME/log/update-credentials-TIMESTAMP