Menghapus resource Cloud KMS

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 DESTROYED tidak 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 status DESTROYED, IMPORT_FAILED, atau GENERATION_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

  1. 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 status DESTROYED, IMPORT_FAILED, atau GENERATION_FAILED.

    Output perintah akan menampilkan Operation. Anda memerlukan name operasi untuk langkah berikutnya.

  2. 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 done adalah true, berarti operasi telah selesai. Jika tidak ada error yang 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

  1. 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 memerlukan name operasi untuk langkah berikutnya.

  2. 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 done adalah true, operasi telah selesai. Jika tidak ada error yang 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