Dokumen ini menunjukkan cara menghapus kunci dan versi kunci Cloud Key Management Service secara permanen. Operasi ini tidak dapat dibatalkan.
Di Cloud KMS, penghancuran dan penghapusan adalah operasi yang berbeda:
Penghancuran: Menonaktifkan versi kunci secara permanen, termasuk menghancurkan materi kunci yang mendasarinya secara tidak dapat diubah setelah periode penghancuran yang ditentukan. Versi kunci dalam status
DESTROYEDtidak dapat digunakan untuk operasi kriptografi dan tidak lagi ditagih. Anda dapat menghancurkan versi kunci yang digunakan untuk mengenkripsi data guna menghancurkan kripto data yang Anda inginkan agar tidak dapat dipulihkan secara permanen. Versi kunci yang dihancurkan masih disertakan dalam daftar resource Cloud KMS.Penghapusan: Menghapus kunci atau versi kunci dari daftar resource Cloud KMS di konsol Google Cloud , Google Cloud CLI, Cloud Key Management Service API, dan library klien. Untuk project dengan banyak kunci atau versi kunci yang tidak lagi aktif, penghapusan akan menyederhanakan operasi penelusuran dan daftar. Nama CryptoKey yang dihapus tidak dapat digunakan kembali. Anda dapat melihat daftar nama CryptoKey yang dihapus dan tidak dapat digunakan kembali menggunakan metode
retiredResources.list.
Sebelum memulai
Untuk mendapatkan izin yang
diperlukan untuk menghapus dan melihat resource Cloud KMS,
minta administrator Anda untuk memberi Anda
peran IAM administrator Cloud KMS (roles/cloudkms.admin)
pada kunci.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menghapus dan melihat resource Cloud KMS. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menghapus dan melihat resource Cloud KMS:
-
Untuk menghapus versi kunci:
cloudkms.cryptoKeyVersions.delete -
Untuk menghapus kunci:
cloudkms.cryptoKeys.delete -
Untuk melihat resource yang dihapus:
-
cloudkms.retiredResources.get -
cloudkms.retiredResources.list
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menghapus versi kunci
Anda dapat menghapus versi kunci jika berada dalam status DESTROYED, IMPORT_FAILED, atau
GENERATION_FAILED. Jika versi kunci diimpor, versi kunci hanya dapat
dihapus jika impor gagal.
Untuk menghapus versi kunci secara permanen, ikuti langkah-langkah berikut:
gcloud
Untuk menghapus versi kunci, jalankan perintah berikut:
gcloud kms keys versions delete KEY_VERSION \
--location=LOCATION \
--keyring=KEY_RING \
--key=KEY_NAME
Ganti kode berikut:
KEY_VERSION: nomor versi kunci yang ingin Anda hapus secara permanen. Versi kunci yang ditunjukkan harus dalam statusDESTROYED,IMPORT_FAILED, atauGENERATION_FAILED.LOCATION: lokasi Cloud KMS key ring.KEY_RING: nama key ring yang berisi kunci.KEY_NAME: nama kunci yang berisi versi kunci yang ingin Anda hapus secara permanen.
REST
Untuk menghapus versi kunci, panggil metode
cryptoKeyVersions.delete. Metode ini menampilkan operasi yang berjalan lama yang dapat Anda polling untuk mengonfirmasi bahwa versi kunci telah dihapus.curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION" \ --request "DELETE" \ --header "authorization: Bearer TOKEN"
Ganti kode berikut:
PROJECT_ID: ID project yang berisi key ring.LOCATION: lokasi Cloud KMS key ring.KEY_RING: nama key ring yang berisi kunci.KEY_NAME: nama kunci yang berisi versi kunci yang ingin Anda hapus secara permanen.KEY_VERSION: nomor versi kunci yang ingin Anda hapus secara permanen. Versi kunci yang ditunjukkan harus dalam statusDESTROYED,IMPORT_FAILED, atauGENERATION_FAILED.
Output perintah akan menampilkan
Operation. Anda memerlukannameoperasi untuk langkah berikutnya.Untuk mengonfirmasi bahwa versi kunci telah dihapus, Anda dapat memanggil metode
operations.get:curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \ --request "GET" \ --header "authorization: Bearer TOKEN"Ganti kode berikut:
PROJECT_ID: ID project yang berisi key ring.LOCATION: lokasi Cloud KMS key ring.OPERATION_NAME: nama operasi yang ditampilkan oleh metode sebelumnya.
Jika output metode ini menunjukkan bahwa
doneadalahtrue, berarti operasi telah selesai. Jika tidak adaerroryang ditunjukkan, versi kunci telah dihapus secara permanen.
Menghapus kunci
Anda dapat menghapus kunci jika memenuhi kondisi berikut:
- Kunci tidak berisi versi kunci yang belum dihapus.
- Kunci tidak memiliki rotasi kunci otomatis yang dijadwalkan.
- Kunci tidak dibuat oleh Autokey Cloud KMS.
Untuk menghapus kunci secara permanen, ikuti langkah-langkah berikut:
gcloud
Untuk menghapus kunci, jalankan perintah berikut:
gcloud kms keys delete KEY_NAME \
--location=LOCATION \
--keyring=KEY_RING
Ganti kode berikut:
KEY_NAME: nama kunci yang ingin Anda hapus secara permanen. Kunci tidak boleh berisi versi kunci yang belum dihapus, dan tidak boleh berupa kunci yang dibuat oleh Autokey.LOCATION: lokasi Cloud KMS key ring.KEY_RING: nama key ring yang berisi kunci.
REST
Untuk menghapus kunci, panggil metode
cryptoKey.delete. Metode ini menampilkan operasi yang berjalan lama yang dapat Anda polling untuk mengonfirmasi bahwa kunci telah dihapus.curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \ --request "DELETE" \ --header "authorization: Bearer TOKEN"
Ganti kode berikut:
PROJECT_ID: ID project yang berisi key ring.LOCATION: lokasi Cloud KMS key ring.KEY_RING: nama key ring yang berisi kunci.KEY_NAME: nama kunci yang ingin Anda hapus secara permanen. Kunci tidak boleh berisi versi kunci yang belum dihapus, dan tidak boleh berupa kunci yang dibuat oleh Autokey.
Output perintah menampilkan
Operation. Anda memerlukannameoperasi untuk langkah berikutnya.Untuk mengonfirmasi bahwa kunci telah dihapus, Anda dapat memanggil metode
operations.get:curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \ --request "GET" \ --header "authorization: Bearer TOKEN"Ganti kode berikut:
PROJECT_ID: ID project yang berisi key ring.LOCATION: lokasi Cloud KMS key ring.OPERATION_NAME: nama operasi yang ditampilkan oleh metode sebelumnya.
Jika output metode ini menunjukkan bahwa
doneadalahtrue, operasi telah selesai. Jika tidak adaerroryang ditunjukkan, berarti kunci telah dihapus secara permanen.
Melihat nama resource yang tidak digunakan lagi
Nama kunci yang telah dihapus tidak dapat digunakan kembali dalam project yang sama.Google Cloud Hal ini mencegah dua kunci yang berbeda memiliki
ID resource yang sama. Nama untuk kunci yang dihapus disimpan dalam
objek retiredResources. Anda dapat membuat kueri retiredResources untuk melihat nama yang tidak dapat digunakan kembali untuk resource Cloud KMS baru.
Untuk melihat daftar semua resource yang dihentikan, ikuti langkah-langkah berikut:
gcloud
Jalankan perintah berikut:
gcloud kms retired-resources list \
--location=LOCATION
Ganti kode berikut:
LOCATION: lokasi tempat Anda ingin melihat resource yang dihentikan.
REST
Gunakan metode retiredResources.list:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/" \
--request "GET" \
--header "authorization: Bearer TOKEN"
Ganti kode berikut:
PROJECT_ID: ID project tempat Anda ingin melihat resource yang tidak digunakan lagi.LOCATION: lokasi tempat Anda ingin melihat resource yang dihentikan.
Untuk melihat metadata resource yang tidak digunakan lagi, ikuti langkah-langkah berikut:
gcloud
Jalankan perintah berikut:
gcloud kms retired-resources describe RETIRED_RESOURCE \
--location=LOCATION
Ganti kode berikut:
RETIRED_RESOURCE: nama resource yang ingin Anda lihat.LOCATION: lokasi tempat Anda ingin melihat resource yang dihentikan.
REST
Gunakan metode retiredResources.get:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/RETIRED_RESOURCE" \
--request "GET" \
--header "authorization: Bearer TOKEN"
Ganti kode berikut:
PROJECT_ID: ID project tempat Anda ingin melihat resource yang dihentikan.LOCATION: lokasi tempat Anda ingin melihat resource yang dihentikan.RETIRED_RESOURCE: nama resource yang ingin Anda lihat.
Output metode ini mencakup resourceType, deleteTime, dan
ID resource lengkap dari resource yang dihapus.
Langkah berikutnya
- Pelajari lebih lanjut cara menghancurkan dan memulihkan versi kunci.