Halaman ini menunjukkan cara menjadwalkan penghancuran permanen versi kunci Cloud Key Management Service. Di Cloud KMS, materi kunci kriptografis yang Anda gunakan untuk mengenkripsi, mendekripsi, menandatangani, dan memverifikasi data disimpan dalam versi kunci. Kunci memiliki nol atau beberapa versi kunci. Saat merotasi kunci, Anda membuat versi kunci baru.
Menghancurkan versi kunci berarti materi kunci akan dihapus secara permanen. Saat Anda menghancurkan versi kunci, detail lain seperti nama kunci dan nomor versi kunci tidak akan dihapus. Setelah kunci dihancurkan, data yang dienkripsi dengan versi kunci tersebut tidak dapat didekripsi.
Satu-satunya pengecualian adalah impor ulang kunci, yang memungkinkan Anda memulihkan kunci yang sebelumnya diimpor dengan memberikan materi kunci asli yang sama.
Karena penghancuran kunci umumnya tidak dapat dibatalkan, Cloud KMS tidak mengizinkan Anda menghancurkan versi kunci secara langsung. Sebagai gantinya, Anda menjadwalkan versi kunci untuk dimusnahkan. Versi kunci tetap dalam status dijadwalkan untuk dimusnahkan selama waktu yang dapat dikonfigurasi. Selama durasi dijadwalkan untuk dihancurkan, Anda dapat memulihkan versi kunci untuk membatalkan penghancurannya.
Durasi default dijadwalkan untuk penghancuran adalah 30 hari. Anda dapat menetapkan durasi khusus dijadwalkan untuk dimusnahkan bagi kunci selama pembuatan kunci. Organisasi Anda dapat menerapkan durasi minimum yang dijadwalkan untuk dimusnahkan dengan menetapkan batasan Durasi minimum yang dijadwalkan untuk dimusnahkan per kunci dalam kebijakan organisasi Anda.
Anda juga dapat mengelola akses ke kunci menggunakan Identity and Access Management (IAM). Operasi IAM konsisten dalam hitungan detik. Untuk mengetahui informasi selengkapnya, lihat Menggunakan IAM.
Anda juga dapat menonaktifkan versi kunci untuk sementara. Sebaiknya nonaktifkan versi kunci sebelum menjadwalkannya untuk dimusnahkan sebagai bagian dari prosedur Anda untuk memastikan bahwa kunci dapat dimusnahkan dengan aman. Bergantung pada kebijakan organisasi Anda, Anda mungkin diwajibkan untuk menonaktifkan versi kunci sebelum Anda dapat menjadwalkannya untuk dimusnahkan. Untuk mengetahui informasi selengkapnya tentang mengontrol pemusnahan versi kunci menggunakan kebijakan organisasi, lihat Mengontrol pemusnahan versi kunci.
Di bagian selanjutnya dari dokumen ini, menjadwalkan penghancuran kunci disebut sebagai menghancurkan kunci, meskipun penghancuran tidak dilakukan secara langsung.
Sebelum memulai
Memahami risikonya
Menghancurkan versi kunci adalah operasi permanen. Menghancurkan versi kunci yang masih diperlukan memiliki risiko, termasuk yang berikut:
Gangguan layanan: Jika Anda menghapus kunci yang diperlukan untuk memulai container atau instance, layanan atau aplikasi Anda dapat menjadi tidak tersedia.
Kehilangan data permanen: Jika Anda menghancurkan kunci yang digunakan untuk mengenkripsi data, data tersebut tidak akan tersedia. Data yang dienkripsi dengan kunci yang telah dihancurkan dianggap dihancurkan secara kriptografis. Dalam beberapa kasus, menghancurkan kunci dapat menyebabkan resource terenkripsi dihapus secara permanen.
Masalah peraturan atau kepatuhan: Jika Anda menghancurkan kunci yang diperlukan untuk mengakses data yang tunduk pada periode retensi sebelum periode retensi tersebut selesai, Anda mungkin melanggar persyaratan peraturan atau kepatuhan.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk menghancurkan dan memulihkan versi kunci,
minta administrator untuk memberi Anda
peran IAM Admin Cloud KMS (roles/cloudkms.admin
)
pada kunci.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Memeriksa apakah versi kunci sedang digunakan
Sebelum menghancurkan versi kunci, selesaikan langkah-langkah berikut untuk melihat apakah versi kunci sedang digunakan:
Melihat detail pelacakan penggunaan kunci untuk kunci. Jika ada resource yang dilindungi oleh versi kunci yang ingin Anda hancurkan, enkripsi ulang resource tersebut dengan versi kunci lain.
Aktifkan log untuk layanan atau aplikasi apa pun yang dapat menggunakan versi kunci.
Aktifkan log di project Cloud KMS yang berisi kunci.
Nonaktifkan versi kunci. Menonaktifkan versi kunci akan mencegah versi kunci digunakan. Dengan versi kunci yang dinonaktifkan, setiap upaya untuk menggunakan versi kunci akan gagal.
Pantau log hingga Anda yakin bahwa tidak ada aplikasi atau layanan yang masih mengandalkan versi kunci yang Anda nonaktifkan. Jika ada error yang menunjukkan kegagalan akses ke versi kunci, konfigurasi aplikasi atau resource untuk menggunakan versi kunci lain.
Durasi waktu yang Anda habiskan untuk memantau log sebelum menghancurkan versi kunci bergantung pada jenis kunci, pola penggunaannya, dan tingkat sensitivitasnya. Misalnya, sebelum menghancurkan versi kunci yang digunakan dalam proses yang berjalan setiap tiga bulan, nonaktifkan versi kunci tersebut hingga proses selesai dengan berhasil.
Periksa penggunaan kunci terhadap persyaratan kepatuhan yang berlaku. Misalnya, versi kunci dan data yang dienkripsi dengannya mungkin tunduk pada periode retensi data.
Langkah-langkah ini membantu Anda mengidentifikasi apakah kunci masih diperlukan atau tidak; namun, langkah-langkah ini tidak dapat menjamin bahwa versi kunci tidak lagi diperlukan. Organisasi Anda harus menerapkan prosedur dan pedoman untuk memastikan bahwa penghancuran versi kunci tidak akan menyebabkan efek negatif.
Menghancurkan versi kunci
Anda dapat menghancurkan versi kunci yang diaktifkan atau dinonaktifkan.
Konsol
Di Google Cloud console, buka halaman Key Management.
Centang kotak di samping versi kunci yang ingin Anda jadwalkan untuk penghancuran.
Klik Hancurkan di header.
Di perintah konfirmasi, masukkan nama kunci, lalu klik Jadwalkan Penghancuran.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
gcloud kms keys versions destroy KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
Ganti kode berikut:
KEY_VERSION
: nomor versi versi kunci yang ingin Anda hancurkan.KEY_NAME
: nama kunci yang versi kuncinya ingin Anda hapus.KEY_RING
: nama key ring yang berisi kunci.LOCATION
: lokasi Cloud KMS key ring.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help
.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu dan instal SDK C# Cloud KMS.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Cloud KMS Java SDK.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu dan instal Cloud KMS Node.js SDK.
PHP
Untuk menjalankan kode ini, pelajari terlebih dahulu cara menggunakan PHP di Google Cloud dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Cloud KMS Ruby SDK.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk mengetahui informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Hancurkan versi kunci dengan memanggil metode CryptoKeyVersions.destroy.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:destroy" \ --request "POST" \ --header "authorization: Bearer TOKEN"
Jika Anda tidak dapat menghancurkan versi kunci, organisasi Anda mungkin mewajibkan agar versi kunci dinonaktifkan sebelum dihancurkan. Coba nonaktifkan versi kunci sebelum menghancurkannya.
Saat Anda mengirimkan permintaan pemusnahan, status versi kunci akan menjadi dijadwalkan untuk dimusnahkan. Setelah durasi yang dijadwalkan untuk penghancuran yang dikonfigurasi kunci telah berakhir, status versi kunci akan menjadi dihancurkan, yang berarti penghapusan logis materi kunci dari sistem aktif telah dimulai, dan materi kunci tidak dapat dipulihkan oleh pelanggan. Materi utama dapat tetap berada di sistem Google hingga 45 hari sejak waktu penghancuran terjadwal.
Untuk menerima pemberitahuan saat versi kunci dijadwalkan untuk dihancurkan, lihat Menggunakan Cloud Monitoring dengan Cloud KMS.
Versi kunci yang dihancurkan bukan merupakan resource yang ditagih.
Menghancurkan kunci eksternal
Untuk menghapus secara permanen hubungan antara kunci Cloud EKM dan kunci eksternal, Anda dapat menghancurkan versi kunci. Setelah periode Dijadwalkan untuk dimusnahkan berakhir, kunci akan dimusnahkan. Setelah versi kunci dihancurkan, Anda tidak dapat lagi mengenkripsi data atau mendekripsi data yang dienkripsi dengan versi kunci Cloud EKM.
Menghancurkan versi kunci yang dikelola secara manual di Cloud KMS tidak akan mengubah kunci di pengelola kunci eksternal. Sebaiknya hancurkan kunci atau versi kunci terlebih dahulu di Google Cloud. Setelah versi kunci Cloud EKM dihancurkan, Anda dapat menghancurkan materi kunci di pengelola kunci eksternal.
Menghancurkan versi kunci eksternal terkoordinasi di Cloud KMS terlebih dahulu akan menghancurkan versi kunci di Google Cloud, lalu mengirimkan permintaan penghancuran ke EKM untuk menghancurkan materi kunci eksternal.
Memulihkan versi kunci
Selama periode saat status versi kunci dijadwalkan untuk dimusnahkan, Anda dapat memulihkan versi kunci dengan mengirimkan permintaan pemulihan.
Konsol
Buka halaman Key Management di konsol Google Cloud .
Klik nama key ring yang berisi kunci yang versi kuncinya akan Anda pulihkan.
Klik kunci yang versi kuncinya ingin Anda pulihkan.
Centang kotak di samping versi kunci yang ingin Anda pulihkan.
Klik Pulihkan di header.
Pada perintah konfirmasi, klik Pulihkan.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
gcloud kms keys versions restore key-version \ --key key \ --keyring key-ring \ --location location
Ganti key-version dengan versi kunci yang akan dipulihkan. Ganti key dengan nama kunci. Ganti key-ring dengan nama key ring tempat kunci berada. Ganti location dengan lokasi Cloud KMS untuk key ring.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help
.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu dan instal SDK C# Cloud KMS.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Cloud KMS Java SDK.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu dan instal Cloud KMS Node.js SDK.
PHP
Untuk menjalankan kode ini, pelajari terlebih dahulu cara menggunakan PHP di Google Cloud dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Cloud KMS Ruby SDK.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk mengetahui informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Pulihkan versi kunci dengan memanggil metode CryptoKeyVersions.restore.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings/key-ring-id/cryptoKeys/crypto-key-id/cryptoKeyVersions/version-id:restore" \ --request "POST" \ --header "authorization: Bearer token"
Setelah permintaan pemulihan selesai, status versi kunci akan menjadi dinonaktifkan. Anda harus mengaktifkan kunci sebelum dapat menggunakannya.
Izin IAM yang diperlukan
Untuk menghancurkan versi kunci, pemanggil memerlukan izin IAM cloudkms.cryptoKeyVersions.destroy
pada kunci, key ring, atau project, folder, atau organisasi.
Untuk memulihkan versi kunci, pemanggil memerlukan izin
cloudkms.cryptoKeyVersions.restore
.
Kedua izin ini diberikan ke peran Admin Cloud KMS
(roles/cloudkms.admin
).
Linimasa penghapusan
Cloud KMS berkomitmen untuk menghapus materi kunci pelanggan dari semua infrastruktur Google dalam waktu 45 hari sejak waktu penghancuran yang dijadwalkan. Hal ini mencakup penghapusan data dari sistem aktif dan cadangan pusat data. Data pelanggan lainnya tunduk pada jadwal penghapusan Google Cloud standar selama 180 hari.