Mengenkripsi dan mendekripsi data dengan kunci simetris

Halaman ini menunjukkan cara menggunakan Cloud Key Management Service (Cloud KMS) untuk melakukan operasi kunci simetris berikut:

  • Enkripsi konten teks atau biner (plaintext) menggunakan kunci Cloud KMS.
  • Mendekripsi ciphertext yang dienkripsi dengan kunci Cloud KMS.

Jika Anda ingin menggunakan kunci asimetris untuk enkripsi, lihat Mengenkripsi dan mendekripsi data dengan kunci asimetris. Untuk mempelajari enkripsi simetris mentah, lihat enkripsi simetris mentah.

Sebelum memulai

  1. Buat key ring dan buat kunci.

  2. Pastikan pengguna yang memanggil metode enkripsi dan dekripsi memiliki izin cloudkms.cryptoKeyVersions.useToEncrypt dan cloudkms.cryptoKeyVersions.useToDecrypt pada kunci.

    Salah satu cara untuk mengizinkan pengguna mengenkripsi atau mendekripsi adalah dengan menambahkan pengguna ke peran IAM roles/cloudkms.cryptoKeyEncrypter, roles/cloudkms.cryptoKeyDecrypter, atau roles/cloudkms.cryptoKeyEncrypterDecrypter untuk kunci tersebut. Peran roles/cloudkms.admin tidak memberikan kedua izin ini. Untuk mengetahui informasi selengkapnya, lihat Izin dan Peran.

Enkripsi

gcloud

Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.

gcloud kms encrypt \
    --key KEY_NAME \
    --keyring KEY_RING \
    --location LOCATION  \
    --plaintext-file FILE_TO_ENCRYPT \
    --ciphertext-file ENCRYPTED_OUTPUT

Ganti kode berikut:

  • KEY_NAME: nama kunci yang ingin Anda gunakan untuk enkripsi.
  • KEY_RING: nama key ring yang berisi kunci.
  • LOCATION: lokasi Cloud KMS yang berisi key ring.
  • FILE_TO_ENCRYPT: jalur ke file yang ingin Anda enkripsi.
  • ENCRYPTED_OUTPUT: jalur tempat Anda ingin menyimpan output terenkripsi.

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.


using Google.Cloud.Kms.V1;
using