Mengenkripsi data dengan kunci enkripsi yang dikelola pelanggan

Secara default, Dataproc Metastore mengenkripsi konten pelanggan dalam penyimpanan. Dataproc Metastore menangani enkripsi untuk Anda tanpa tindakan tambahan dari Anda. Opsi ini disebut Enkripsi default Google.

Jika ingin mengontrol kunci enkripsi, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud KMS dengan layanan yang terintegrasi dengan CMEK, termasuk Dataproc Metastore. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batasan kriptografisnya. Dengan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Bukan Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda. Andalah yang mengontrol dan mengelola kunci ini di Cloud KMS.

Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Dataproc Metastore Anda akan serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Sebelum memulai

Pertimbangan

Pertimbangkan poin-poin berikut saat menggunakan Dataproc Metastore dengan CMEK.

  • Database Cloud Monitoring tidak mendukung enkripsi CMEK. Sebagai gantinya, Google Cloud menggunakan kunci enkripsi Google untuk melindungi nama dan konfigurasi layanan Dataproc Metastore Anda.

  • Jika Anda ingin layanan Dataproc Metastore berjalan di dalam perimeter VPC Service Controls, Anda harus menambahkan Cloud Key Management Service (Cloud KMS) API ke perimeter.

  • Saat Anda menggunakan kunci Cloud External Key Manager, Google tidak memiliki kontrol atas ketersediaan kunci yang dikelola secara eksternal. Jika kunci tidak tersedia selama periode pembuatan layanan Dataproc Metastore, pembuatan layanan akan gagal. Setelah layanan Dataproc Metastore dibuat, jika kunci menjadi tidak tersedia, layanan akan menjadi tidak tersedia hingga kunci tersedia kembali. Untuk pertimbangan lainnya saat menggunakan kunci eksternal, lihat Pertimbangan Cloud EKM.

Batasan

Pertimbangkan batasan berikut saat menggunakan Dataproc Metastore dengan CMEK.

  • Anda tidak dapat mengaktifkan CMEK pada layanan yang ada.

  • Anda tidak dapat merotasi CMEK yang digunakan oleh layanan yang mendukung CMEK.

  • Anda tidak dapat menggunakan CMEK untuk mengenkripsi data pengguna selama pengiriman, seperti kueri dan respons pengguna.

Mengonfigurasi CMEK untuk Dataproc Metastore

Jika belum memiliki kunci Cloud KMS, Anda dapat membuatnya untuk layanan Dataproc Metastore. Jika tidak, Anda dapat melewati langkah ini dan menggunakan kunci yang sudah ada.

Opsional: Buat kunci Cloud KMS baru

Untuk membuat kunci Cloud KMS, Anda harus membuat key ring terlebih dahulu, lalu membuat kunci yang disimpan di dalam key ring.

Untuk membuat key ring

Untuk membuat ring kunci, jalankan perintah gcloud kms keyrings create berikut.

gcloud kms keyrings create KEY_RING \
  --project=PROJECT_ID \
  --location=LOCATION

Ganti kode berikut:

  • KEY_RING: nama untuk key ring Anda.
  • PROJECT_ID: ID Google Cloud project tempat Anda ingin membuat key ring.
  • LOCATION: region tempat Anda ingin membuat key ring.

Untuk membuat kunci

Untuk membuat kunci yang disimpan di dalam key ring Anda, jalankan perintah gcloud kms keys create berikut.

gcloud kms keys create KEY_NAME \
  --project=PROJECT_ID \
  --location=LOCATION \
  --keyring=KEY_RING \
  --purpose=encryption

Ganti kode berikut:

  • KEY_NAME: nama kunci.
  • KEY_RING: nama key ring yang Anda buat di langkah sebelumnya.

Memberikan izin kunci Cloud KMS

Gunakan perintah berikut untuk memberikan izin kunci Cloud KMS bagi Dataproc Metastore:

  1. Berikan izin ke akun layanan Dataproc Metastore Service Agent:

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member=serviceAccount:$(gcloud beta services identity create \
        --service=metastore.googleapis.com 2>&1 | awk '{print $4}') \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

  1. Berikan izin ke akun layanan Cloud Storage:

      gcloud storage service-agent --authorize-cmek projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

Membuat layanan region tunggal dengan kunci CMEK

Gunakan langkah-langkah berikut untuk mengonfigurasi enkripsi CMEK untuk layanan Dataproc Metastore satu region.

Konsol

  1. Di konsol Google Cloud , buka halaman Dataproc Metastore:

    Buka Dataproc Metastore

  2. Di bagian atas halaman Dataproc Metastore, klik Buat.

    Halaman Create service akan terbuka.

  3. Konfigurasi layanan Anda sesuai kebutuhan.

  4. Di bagian Enkripsi, klik Kunci enkripsi yang dikelola pelanggan (CMEK).

  5. Pilih kunci yang dikelola pelanggan.

  6. Klik Kirim.

Verifikasi konfigurasi enkripsi layanan:

  1. Di konsol Google Cloud , buka halaman Dataproc Metastore:

    Buka konsol Google Cloud

  2. Di halaman Dataproc Metastore, klik nama layanan yang ingin Anda lihat.

    Halaman Detail layanan akan terbuka.

  3. Di tab Configuration, pastikan detailnya menunjukkan bahwa CMEK diaktifkan.

gcloud

  1. Untuk membuat layanan region tunggal dengan enkripsi CMEK, jalankan perintah Google Cloud gcloud metastore services create:

    gcloud metastore services create SERVICE \
       --encryption-kms-key=KMS_KEY
    

    Ganti kode berikut:

    • SERVICE: nama layanan baru.
    • KMS_KEY: ID resource kunci.

Mengimpor dan mengekspor data dari dan ke layanan yang mendukung CMEK

Jika ingin data Anda tetap dienkripsi dengan kunci yang dikelola pelanggan selama impor, Anda harus menetapkan CMEK di bucket Cloud Storage sebelum mengimpor data dari bucket tersebut.

Anda dapat mengimpor dari bucket Cloud Storage yang tidak dilindungi CMEK. Setelah diimpor, data yang disimpan di Dataproc Metastore dilindungi sesuai dengan setelan CMEK layanan tujuan.

Saat diekspor, dump database yang diekspor dilindungi sesuai dengan setelan CMEK bucket penyimpanan tujuan.

Langkah berikutnya