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 terintegrasi CMEK, termasuk Dataproc Metastore. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batasan kriptografis. Dengan menggunakan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Alih-alih 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 mirip 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 Metastore Dataproc dengan CMEK.

  • CMEK didukung untuk layanan Dataproc Metastore satu region dan multi-region (Pratinjau).

  • 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 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 tidak akan 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 di layanan yang ada.

  • Anda tidak dapat memutar CMEK yang digunakan oleh layanan yang mengaktifkan CMEK.

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

Mengonfigurasi CMEK untuk Metastore Dataproc

Jika belum memiliki kunci Cloud KMS, Anda dapat membuatnya untuk layanan Metastore Dataproc. 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 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, 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 untuk Metastore Dataproc:

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

    Jika Anda akan mengonfigurasi CMEK untuk layanan Dataproc Metastore multi-region, Anda harus memberikan izin Cloud KMS yang diperlukan untuk akun layanan Dataproc Metastore dan Cloud Storage kepada setiap kunci.

      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 console, buka halaman Dataproc Metastore:

    Buka Dataproc Metastore

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

    Halaman Buat layanan 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 Google Cloud console, buka halaman Dataproc Metastore:

    Buka Google Cloud konsol

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

    Halaman Detail layanan akan terbuka.

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

gcloud

  1. Untuk membuat layanan region tunggal dengan enkripsi CMEK, jalankan perintahGoogle 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.

Membuat layanan multi-region dengan kunci CMEK

Untuk layanan CMEK Dataproc Metastore multi-regional, beberapa kunci enkripsi harus disediakan. Hal ini mencakup satu kunci untuk setiap region penyusun layanan Dataproc Metastore multi-regional—satu kunci untuk region saksi Spanner dan satu kunci untuk benua.

Untuk mendapatkan informasi tentang layanan multi-region dan region tempat layanan tersebut dikonfigurasi, Anda dapat menjalankan perintah berikut.

gcloud metastore locations describe LOCATION
  • Ganti LOCATION dengan multi-region tempat Anda membuat layanan Dataproc Metastore.

Untuk membuat layanan multi-region dengan kunci CMEK

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

Konsol

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

    Buka Dataproc Metastore

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

    Halaman Buat layanan akan terbuka.

  3. Pilih Dataproc Metastore 2.

  4. Di bagian Harga dan Kapasitas, pilih Enterprise Plus - Dual region.

  5. Untuk Endpoint protocol, pilih endpoint yang sesuai.

  6. Di bagian Encryption, pilih Cloud KMS key.

  7. Pilih kunci yang akan digunakan untuk setiap region, misalnya region saksi Spanner dan benua.

  8. Konfigurasikan opsi layanan lainnya sesuai kebutuhan.

  9. Klik Kirim.

Verifikasi konfigurasi enkripsi layanan:

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

    Buka Dataproc Metastore

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

    Detail layanan akan terbuka.

  3. Di tab Konfigurasi, pastikan CMEK diaktifkan.

gcloud

  1. Untuk membuat layanan multi-region dengan enkripsi CMEK, jalankan perintah gcloud beta metastore services create:
gcloud beta metastore services create SERVICE \
    --location=LOCATION \
    --instance-size=INSTANCE_SIZE \
    --encryption-kms-keys=KMS_KEY1,KMS_KEY2,KMS_KEY_WITNESS,KMS_KEY_CONTINENT

Ganti kode berikut:

  • SERVICE: nama layanan Metastore Dataproc baru Anda.
  • LOCATION: Google Cloud multi-region tempat Anda ingin membuat layanan Dataproc Metastore. Anda juga dapat menetapkan lokasi default.
  • INSTANCE_SIZE: ukuran instance layanan Dataproc Metastore multi-regional Anda. Misalnya, kecil, sedang, atau besar.
  • KMS_KEY1, KMS_KEY2, KMS_KEY_WITNESS, KMS_KEY_CONTINENT: ID resource kunci untuk setiap kunci yang diperlukan, termasuk satu kunci di benua dan satu kunci di region saksi Spanner. Nama kunci tercantum dalam format berikut di project Anda: projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME.

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 darinya.

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 mengekspor, dump database yang diekspor dilindungi sesuai dengan setelan CMEK bucket penyimpanan tujuan.

Langkah berikutnya