Mengelola bucket penyimpanan terenkripsi

Halaman ini memandu Anda mengelola bucket penyimpanan terenkripsi, khususnya berfokus pada pembaruan dan rotasi AEADKeys untuk enkripsi v2. Bagian ini membahas prasyarat dan langkah-langkah untuk menggunakan perintah kubectl guna mengelola AEADKeys dan secret kekRef. Informasi ini memungkinkan Anda menerapkan keamanan data yang kuat dan meminimalkan risiko penyusupan kunci enkripsi melalui pengelolaan siklus proses yang efektif.

Halaman ini ditujukan untuk audiens seperti admin IT dalam grup operator infrastruktur atau developer dalam grup operator aplikasi yang mengelola setelan enkripsi untuk bucket penyimpanan di lingkungan Google Distributed Cloud (GDC) dengan air gap. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.

Sebelum memulai

Bucket penyimpanan adalah resource yang dicakup dalam project tertentu. Project bertindak sebagai penampung, yang mengelompokkan bucket Anda dan memungkinkan pengelolaannya melalui server Management API. Sebelum dapat melakukan operasi di halaman ini, Anda harus membuat project baru atau memilih project yang sudah ada dan memiliki izin yang memadai.

Peran IAM yang diperlukan

Hubungi IAM Project Admin Anda untuk meminta peran berikut di namespace project Anda:

  • Bucket Project Admin (project-bucket-admin): membuat, memperbarui, dan menghapus bucket penyimpanan.
  • Bucket Object Project Viewer (project-bucket-object-viewer): melihat dan memeriksa detail bucket dan objek penyimpanan.

Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bucket.

Menyiapkan lingkungan Anda

Untuk menjalankan perintah terhadap server API pengelolaan atau server API global, lakukan hal berikut:

  1. Login dan buat file kubeconfig untuk server API pengelolaan zona jika Anda belum memilikinya.
  2. Untuk bucket dual-zone, lakukan hal berikut:
    • Pastikan dengan Operator Infrastruktur (IO) Anda bahwa resource kustom BucketLocationConfig telah dibuat untuk zona yang disambungkan.
    • Buat file kubeconfig untuk server API global.

Mengelola resource enkripsi

Bucket dengan enkripsi v2 akan memiliki kekRef rahasia dan beberapa AEADKey yang dibuat, dengan kekRef digunakan untuk mereferensikan AEADKey default aktif yang digunakan dan AEADKey mencakup AEADKey aktif dan arsip milik bucket.

Memperbarui AEADKeys default aktif untuk bucket

Sebagai praktik terbaik, muat ulang AEADKeys default bucket Anda setelah sekitar 42 miliar penulisan objek. Langkah proaktif ini meningkatkan keamanan dan mencegah kehabisan kunci. Proses pembaruan akan membuat kekRef baru dan menonaktifkan AEADKeys sebelumnya. Untuk memulai proses pembaruan, hapus secret kekRef yang terkait dengan bucket.

KekRef sebelumnya dapat diambil dengan menjalankan perintah berikut untuk mengambil:

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

Kemudian, Anda dapat menjalankan perintah berikut untuk menghapus kekRef yang ada:

kubectl delete secrets OLD_KEKREF_NAME -n  NAMESPACE_NAME

Setelah berhasil dihapus, Anda dapat menjalankan perintah berikut untuk mengonfirmasi bahwa kekRef baru telah dibuat berdasarkan AGE:

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

Pastikan AEADKeys default baru telah dibuat berdasarkan AGE:

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

Merotasi AEADKey default untuk bucket

Jika AEADKey untuk bucket Anda disusupi, Anda harus merotasi kunci enkripsi kunci yang terkait dengan bucket tersebut secara manual.

Untuk memulai prosesnya, Anda harus memperbarui kunci default aktif terlebih dahulu. Tindakan ini akan membuat AEADKeys default aktif yang baru, dan menandai kunci enkripsi kunci sebelumnya sebagai dinonaktifkan. Setelah kunci default diperbarui, upload objek berikutnya akan menggunakan AEADKey baru sebagai kunci enkripsi kunci. AEADKeys sebelumnya tidak dihancurkan, sehingga Anda masih dapat mendekripsi objek yang sudah ada yang sebelumnya dienkripsi menggunakan kunci tersebut.

Selanjutnya, ikuti langkah-langkah untuk mendownload dan mengupload ulang objek di bucket Anda dan menghapus objek lama.

Setelah mengupload ulang semua objek di bucket, Anda dapat menghapus AEADKey yang tidak aktif dan objek lama. Identifikasi AEADKeys yang dinonaktifkan berdasarkan AGE:

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

Terakhir, ikuti langkah-langkah untuk menghapus AEADKeys.