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:
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
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
Di Google Cloud console, buka halaman Dataproc Metastore:
Di bagian atas halaman Dataproc Metastore, klik Create.
Halaman Buat layanan akan terbuka.
Konfigurasi layanan Anda sesuai kebutuhan.
Di bagian Enkripsi, klik Kunci enkripsi yang dikelola pelanggan (CMEK).
Pilih kunci yang dikelola pelanggan.
Klik Kirim.
Verifikasi konfigurasi enkripsi layanan:
Di Google Cloud console, buka halaman Dataproc Metastore:
Di halaman Dataproc Metastore, klik nama layanan yang ingin Anda lihat.
Halaman Detail layanan akan terbuka.
Di tab Configuration, pastikan detail menunjukkan bahwa CMEK diaktifkan.
gcloud
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
Di Google Cloud konsol, buka halaman Metastore Dataproc:
Di bagian atas halaman Dataproc Metastore, klik Create.
Halaman Buat layanan akan terbuka.
Pilih Dataproc Metastore 2.
Di bagian Harga dan Kapasitas, pilih Enterprise Plus - Dual region.
Untuk Endpoint protocol, pilih endpoint yang sesuai.
Di bagian Encryption, pilih Cloud KMS key.
Pilih kunci yang akan digunakan untuk setiap region, misalnya region saksi Spanner dan benua.
Konfigurasikan opsi layanan lainnya sesuai kebutuhan.
Klik Kirim.
Verifikasi konfigurasi enkripsi layanan:
Di Google Cloud konsol, buka halaman Metastore Dataproc:
Di halaman Dataproc Metastore, klik nama layanan yang ingin Anda lihat.
Detail layanan akan terbuka.
Di tab Konfigurasi, pastikan CMEK diaktifkan.
gcloud
- 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.