Secara default, Cloud Data Fusion mengenkripsi konten pelanggan dalam penyimpanan. Cloud Data Fusion 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 Cloud Data Fusion. 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 melacak penggunaan kunci, melihat log audit, dan mengontrol siklus proses kunci. Alih-alih Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda, Anda yang mengontrol dan mengelola kunci ini di Cloud KMS.
Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Cloud Data Fusion Anda serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
Cloud Data Fusion mendukung pelacakan penggunaan kunci Cloud KMS untuk resource Instance
.
CMEK memungkinkan Anda mengontrol data yang ditulis ke resource internal Google di project tenant dan data yang ditulis oleh pipeline Cloud Data Fusion, termasuk:
- Log dan metadata pipeline
- Metadata cluster Dataproc
- Berbagai sink data, tindakan, dan sumber data Cloud Storage, BigQuery, Pub/Sub, dan Spanner
Resource Cloud Data Fusion
Untuk mengetahui daftar plugin Cloud Data Fusion yang mendukung CMEK, lihat plugin yang didukung.
Cloud Data Fusion mendukung CMEK untuk cluster Dataproc. Cloud Data Fusion membuat cluster Dataproc sementara untuk digunakan dalam pipeline, lalu menghapus cluster tersebut saat pipeline selesai. CMEK melindungi metadata cluster yang ditulis ke:
- Persistent disk (PD) yang terpasang ke VM cluster
- Output driver tugas dan metadata lainnya yang ditulis ke bucket penyiapan Dataproc yang dibuat otomatis atau dibuat pengguna
Menyiapkan CMEK
Membuat kunci Cloud KMS
Buat kunci Cloud KMS di Google Cloud project yang berisi instance Cloud Data Fusion atau di project pengguna yang terpisah. Lokasi key ring Cloud KMS harus cocok dengan region tempat Anda membuat instance. Kunci multi-region atau region global tidak diizinkan di tingkat instance karena Cloud Data Fusion selalu dikaitkan dengan region tertentu.
Mendapatkan nama resource untuk kunci
REST API
Dapatkan nama resource kunci yang Anda buat dengan perintah berikut:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Ganti kode berikut:
- PROJECT_ID: project pelanggan yang menghosting instance Cloud Data Fusion
- REGION: region Google Cloud
yang dekat dengan lokasi Anda—misalnya,
us-east1
- KEY_RING_NAME: nama key ring yang mengelompokkan kunci kriptografi
- KEY_NAME: nama kunci Cloud KMS
Konsol
Buka halaman Key management.
Di samping kunci Anda, klik Lainnya
.Pilih Salin Nama Resource untuk menyalin nama resource ke papan klip.
Perbarui akun layanan project Anda untuk menggunakan kunci
Untuk menyiapkan akun layanan project Anda agar dapat menggunakan kunci Anda:
Wajib: Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) kepada agen layanan Cloud Data Fusion (lihat Memberikan peran ke akun layanan untuk resource tertentu). Akun ini dalam format berikut:service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
Memberikan peran Encrypter/Decrypter CryptoKey Cloud KMS kepada agen layanan Cloud Data Fusion memungkinkan Cloud Data Fusion menggunakan CMEK untuk mengenkripsi data pelanggan yang disimpan dalam project tenant.
Wajib: Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS kepada agen layanan Compute Engine (lihat Menetapkan kunci Cloud KMS ke akun layanan Cloud Storage). Akun ini, yang secara default diberi peran Agen Layanan Compute Engine, memiliki format:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Memberikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS kepada agen layanan Compute Engine memungkinkan Cloud Data Fusion menggunakan CMEK untuk mengenkripsi metadata disk persisten (PD) yang ditulis oleh cluster Dataproc yang berjalan di pipeline Anda.
Wajib: Beri peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS kepada agen layanan Cloud Storage (lihat Menetapkan kunci Cloud KMS ke agen layanan Cloud Storage). Agen layanan ini berbentuk:
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
Memberikan peran ini kepada agen layanan Cloud Storage memungkinkan Cloud Data Fusion menggunakan CMEK untuk mengenkripsi bucket Cloud Storage yang menyimpan dan menyimpan ke cache informasi pipeline dan data yang ditulis ke bucket penyiapan cluster Dataproc dan bucket Cloud Storage lainnya dalam project Anda yang digunakan oleh pipeline Anda.
Wajib: Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS kepada Agen Layanan Google Cloud Dataproc. Agen layanan ini memiliki format:
service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com
Opsional: Jika pipeline Anda menggunakan resource BigQuery, berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan BigQuery (lihat Memberikan izin enkripsi dan dekripsi). Akun ini berbentuk:
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
Opsional: Jika pipeline Anda menggunakan resource Pub/Sub, berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan Pub/Sub (lihat Menggunakan kunci enkripsi yang dikelola pelanggan). Akun ini berbentuk:
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
Opsional: Jika pipeline Anda menggunakan resource Spanner, berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan Spanner. Akun ini berbentuk:
service-PROJECT_NUMBER@gcp-sa-spanner.iam.gserviceaccount.com
Membuat instance Cloud Data Fusion dengan CMEK
CMEK tersedia di semua edisi Cloud Data Fusion versi 6.5.0 dan yang lebih baru.
REST API
Untuk membuat instance dengan kunci enkripsi yang dikelola pelanggan, tetapkan variabel lingkungan berikut:
export PROJECT=PROJECT_ID export LOCATION=REGION export INSTANCE=INSTANCE_ID export DATA_FUSION_API_NAME=datafusion.googleapis.com export KEY=KEY_NAME
Ganti kode berikut:
- PROJECT_ID: project pelanggan yang menghosting instance Cloud Data Fusion
- REGION: Google Cloud region yang
dekat
dengan lokasi Anda—misalnya,
us-east1
- INSTANCE_ID: nama instance Cloud Data Fusion
- KEY_NAME: nama resource kunci CMEK lengkap
Jalankan perintah berikut untuk membuat instance Cloud Data Fusion:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE -X POST -d '{"description": "CMEK-enabled CDF instance created through REST.", "type": "BASIC", "cryptoKeyConfig": {"key_reference": "$KEY"} }'
Konsol
Buka halaman Cloud Data Fusion.
Klik Instances, lalu klik Create an instance.
Di Advanced options, pilih Use a customer-managed encryption key (CMEK).
Di kolom Pilih kunci yang dikelola pelanggan, pilih nama resource untuk kunci.
Setelah Anda memasukkan semua detail instance, klik Buat. Jika instance siap digunakan, instance akan muncul di halaman Instances.
Memeriksa apakah CMEK diaktifkan pada instance
Konsol
Lihat detail instance:
Di konsol Google Cloud , buka halaman Cloud Data Fusion.
Klik Instance, lalu klik nama instance untuk membuka halaman Instance details.
Jika CMEK diaktifkan, kolom Encryption key akan ditampilkan sebagai Available.
Jika CMEK dinonaktifkan, kolom Encryption key akan ditampilkan sebagai Not available.
Menggunakan CMEK dengan plugin yang didukung
Saat Anda menetapkan nama kunci enkripsi, gunakan formulir berikut:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Tabel berikut menjelaskan perilaku kunci di plugin Cloud Data Fusion yang mendukung CMEK.
Plugin yang didukung | Perilaku tombol |
---|---|
Tujuan Cloud Data Fusion | |
Cloud Storage | Mengenkripsi data yang ditulis ke bucket yang dibuat oleh plugin. Jika bucket sudah ada, nilai ini akan diabaikan. |
Multi-file Cloud Storage | Mengenkripsi data yang ditulis ke bucket yang dibuat oleh plugin. |
BigQuery | Mengenkripsi data yang ditulis ke bucket, set data, atau tabel apa pun yang dibuat oleh plugin. |
Multi-tabel BigQuery | Mengenkripsi data yang ditulis ke bucket, set data, atau tabel apa pun yang dibuat oleh plugin. |
Pub/Sub | Mengenkripsi data yang ditulis ke topik apa pun yang dibuat oleh plugin. Jika topik sudah ada, nilai ini akan diabaikan. |
Spanner | Mengenkripsi data yang ditulis ke database apa pun yang dibuat oleh plugin. Jika database sudah ada, nilai ini akan diabaikan. |
Tindakan Cloud Data Fusion | |
Cloud Storage Create Cloud Storage Copy Cloud Storage Move Cloud Storage Done File Marker |
Mengenkripsi data yang ditulis ke bucket yang dibuat oleh plugin. Jika bucket sudah ada, nilai ini akan diabaikan. |
BigQuery Execute | Mengenkripsi data yang ditulis ke set data atau tabel yang dibuat plugin untuk menyimpan hasil kueri. Opsi ini hanya berlaku jika Anda menyimpan hasil kueri dalam tabel BigQuery. |
Sumber Cloud Data Fusion | |
Sumber BigQuery | Mengenkripsi data yang ditulis ke bucket yang dibuat oleh plugin. Jika bucket sudah ada, nilai ini akan diabaikan. |
Mesin SQL Cloud Data Fusion | |
Mesin Pushdown BigQuery | Mengenkripsi data yang ditulis ke bucket, set data, atau tabel apa pun yang dibuat oleh plugin. |
Menggunakan CMEK dengan metadata cluster Dataproc
Profil komputasi yang dibuat sebelumnya menggunakan kunci CMEK yang diberikan selama pembuatan instance untuk mengenkripsi Disk Persisten (PD) dan metadata bucket penyiapan yang ditulis oleh cluster Dataproc yang berjalan di pipeline Anda. Anda dapat mengubah untuk menggunakan kunci lain dengan melakukan salah satu hal berikut:
- Direkomendasikan: Buat profil komputasi Dataproc baru (Khusus edisi Enterprise).
- Mengedit profil komputasi Dataproc yang ada (edisi Developer, Basic, atau Enterprise).
Konsol
Buka instance Cloud Data Fusion:
Di konsol Google Cloud , buka halaman Cloud Data Fusion.
Untuk membuka instance di Cloud Data Fusion Studio, klik Instance, lalu klik View instance.
Klik Admin Sistem > Konfigurasi.
Klik drop-down System Compute Profiles.
Klik Buat Profil Baru, lalu pilih Dataproc.
Masukkan Label profil, Nama profil, dan Deskripsi.
Secara default, Dataproc membuat bucket staging dan temp setiap kali cluster sementara dibuat oleh Cloud Data Fusion. Cloud Data Fusion mendukung penerusan bucket penyiapan Dataproc sebagai argumen dalam profil komputasi. Untuk mengenkripsi bucket penyiapan, buat bucket yang mendukung CMEK dan teruskan sebagai argumen ke Dataproc dalam profil komputasi.
Secara default, Cloud Data Fusion otomatis membuat bucket Cloud Storage untuk melakukan penahapan dependensi yang digunakan oleh Dataproc. Jika Anda lebih memilih untuk menggunakan bucket Cloud Storage yang sudah ada di project Anda, ikuti langkah-langkah berikut:
Di bagian Setelan Umum, masukkan bucket Cloud Storage yang ada di kolom Bucket Cloud Storage.
Dapatkan ID resource kunci Cloud KMS Anda. Di bagian Setelan Umum, masukkan ID resource Anda di kolom Nama Kunci Enkripsi.
Klik Buat.
Jika lebih dari satu profil tercantum di bagian Profil Komputasi Sistem pada tab Konfigurasi, jadikan profil Dataproc baru sebagai profil default dengan mengarahkan kursor ke kolom nama profil dan mengklik bintang yang muncul.
Menggunakan CMEK dengan resource lain
Kunci CMEK yang diberikan ditetapkan ke preferensi sistem selama pembuatan instance Cloud Data Fusion. Layanan ini digunakan untuk mengenkripsi data yang ditulis ke resource yang baru dibuat oleh sink pipeline seperti sink Cloud Storage, BigQuery, Pub/Sub, atau Spanner.
Kunci ini hanya berlaku untuk resource yang baru dibuat. Jika resource sudah ada sebelum eksekusi pipeline, Anda harus menerapkan kunci CMEK ke resource yang sudah ada tersebut secara manual.
Anda dapat mengubah kunci CMEK dengan melakukan salah satu hal berikut:
- Menggunakan argumen runtime.
- Menetapkan preferensi sistem Cloud Data Fusion.
Argumen runtime
- Di halaman Pipeline Studio Cloud Data Fusion, klik panah drop-down di sebelah kanan tombol Run.
- Di kolom Name, masukkan
gcp.cmek.key.name
. - Di kolom Nilai, masukkan ID resource kunci Anda.
Klik Simpan.
Argumen runtime yang Anda tetapkan di sini hanya berlaku untuk eksekusi pipeline saat ini.
Preferensi
- Di UI Cloud Data Fusion, klik ADMIN SISTEM.
- Klik tab Configuration.
- Klik drop-down System Preferences.
- Klik Edit System Preferences.
- Pada kolom Kunci, masukkan
gcp.cmek.key.name
. - Di kolom Nilai, masukkan ID resource kunci Anda.
- Klik Simpan & Tutup.