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 database ini menggunakan kunci enkripsi Google untuk melindungi nama dan konfigurasi layanan Dataproc Metastore Anda.

  • Jika Anda ingin layanan Dataproc Metastore berjalan di dalam perimeter Kontrol Layanan VPC, 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 tidak tersedia, layanan akan menjadi tidak tersedia hingga kunci tersedia lagi. 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 ada.

Opsional: Membuat 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 key ring, 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, jalankan perintah berikut gcloud kms keys create.

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 pada langkah sebelumnya.

Memberikan izin kunci Cloud KMS

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

  1. Berikan izin ke akun layanan Agen Layanan Dataproc Metastore:

      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 satu region dengan kunci CMEK

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

Konsol

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

    Buka Dataproc Metastore

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

    Halaman Create service akan terbuka.

  3. Konfigurasi layanan Anda sesuai kebutuhan.

  4. Di bagian Encryption, klik Customer-managed encryption key (CMEK).

  5. Pilih kunci yang dikelola pelanggan.

  6. Klik Submit.

Verifikasi konfigurasi enkripsi layanan:

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

    Buka Google Cloud konsol

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

    Halaman Service detail akan terbuka.

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

gcloud

  1. Untuk membuat layanan satu region 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 Anda ingin data 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 akan dilindungi sesuai dengan setelan CMEK layanan tujuan.

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

Langkah berikutnya