Membuat kunci enkripsi dengan Cloud KMS

Panduan memulai ini menunjukkan cara membuat dan menggunakan kunci enkripsi dengan Cloud Key Management Service pada project yang Anda miliki. Petunjuk ini menggunakan Google Cloud Console untuk membuat key ring, kunci, dan versi kunci di Cloud KMS. Untuk mengetahui petunjuk yang menggunakan metode lain, lihat Panduan cara kerja.

Panduan memulai ini menggunakan command line untuk mengirim permintaan ke Cloud KMS API. Untuk mengetahui contoh pemrograman yang menggunakan library klien untuk mengirim permintaan ke Cloud KMS API, lihat Mengenkripsi dan Mendekripsi.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Aktifkan API Cloud KMS.

    Mengaktifkan API

  5. Menginstal Google Cloud CLI.
  6. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  7. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  8. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  9. Aktifkan API Cloud KMS.

    Mengaktifkan API

  10. Menginstal Google Cloud CLI.
  11. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init

Key ring dan kunci

Untuk mengenkripsi dan mendekripsi konten, Anda memerlukan kunci Cloud KMS, yang merupakan bagian dari key ring.

Buat key ring bernama test, dan kunci bernama quickstart. Lihat ringkasan hierarki objek untuk mengetahui informasi selengkapnya tentang objek ini dan kaitannya.

gcloud kms keyrings create "test" \
    --location "global"
gcloud kms keys create "quickstart" \
    --location "global" \
    --keyring "test" \
    --purpose "encryption"

Anda dapat menggunakan opsi list untuk melihat nama dan metadata kunci yang baru saja dibuat.

gcloud kms keys list \
    --location "global" \
    --keyring "test"

Anda akan melihat:

NAME                                                                      PURPOSE          PRIMARY_STATE
projects/project-id/locations/global/keyRings/test/cryptoKeys/quickstart  ENCRYPT_DECRYPT  ENABLED

Mengenkripsi data

Setelah memiliki kunci, Anda dapat menggunakan kunci tersebut untuk mengenkripsi teks atau konten biner.

Simpan beberapa teks yang akan dienkripsi dalam file bernama "mysecret.txt".

echo -n "Some text to be encrypted" > mysecret.txt

Untuk mengenkripsi data dengan gcloud kms encrypt, berikan informasi kunci Anda, tentukan nama file teks biasa yang akan dienkripsi, dan tentukan nama file yang akan berisi konten terenkripsi:

gcloud kms encrypt \
    --location "global" \
    --keyring "test" \
    --key "quickstart" \
    --plaintext-file ./mysecret.txt \
    --ciphertext-file ./mysecret.txt.encrypted

Metode encrypt menyimpan konten terenkripsi Anda dalam file yang ditentukan oleh flag --ciphertext-file.

Mendekripsi ciphertext

Untuk mendekripsi data dengan gcloud kms decrypt, berikan informasi kunci Anda, tentukan nama file terenkripsi (file ciphertext) yang akan didekripsi, dan tentukan nama file yang akan berisi konten yang didekripsi:

gcloud kms decrypt \
    --location "global" \
    --keyring "test" \
    --key "quickstart" \
    --ciphertext-file ./mysecret.txt.encrypted \
    --plaintext-file ./mysecret.txt.decrypted

Metode decrypt menyimpan konten yang didekripsi dalam file yang ditentukan oleh tanda --plaintext-file.

Untuk mendekripsi konten terenkripsi, Anda harus menggunakan kunci yang sama dengan yang digunakan untuk mengenkripsi konten tersebut.

Pembersihan

Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Cantumkan versi yang tersedia untuk kunci Anda:

gcloud kms keys versions list \
    --location "global" \
    --keyring "test" \
    --key "quickstart"

Untuk menghancurkan versi, jalankan perintah berikut, dengan mengganti key-version dengan nomor versi kunci yang akan dihancurkan:

gcloud kms keys versions destroy key-version \
    --location "global" \
    --keyring "test" \
    --key "quickstart"

Langkah selanjutnya