Mengelola Resource Enkripsi

Halaman ini menunjukkan cara mengelola bucket penyimpanan Google Distributed Cloud (GDC) dengan air gap yang dienkripsi.

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.