Menggunakan CMEK dengan Managed Service for Apache Spark

Secara default, Managed Service untuk Apache Spark mengenkripsi konten pelanggan dalam penyimpanan. Managed Service untuk Apache Spark 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 Managed Service untuk Apache Spark. 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. 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 Managed Service untuk Apache Spark Anda akan serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Menggunakan CMEK

Ikuti langkah-langkah di bagian ini untuk menggunakan CMEK guna mengenkripsi data yang ditulis Managed Service untuk Apache Spark ke disk persisten dan ke bucket staging Managed Service untuk Apache Spark.

Anda dapat menggunakan Cloud Key Management Service untuk membuat dan mengelola key ring dan kunci, atau menggunakan Cloud KMS Autokey untuk pembuatan key ring dan kunci otomatis yang disederhanakan.

Menggunakan Cloud KMS Autokey

  1. Aktifkan Autokey di folder yang berisi project Anda.
  2. Buat handle kunci. Saat membuat handle kunci, tentukan dataproc.googleapis.com/Batch atau dataproc.googleapis.com/Session sebagai --resource-type. Autokey akan membuat kunci dan menetapkannya ke handle kunci.
  3. Berikan izin ke akun layanan dan konfigurasi workload batch atau sesi Anda dengan mengikuti langkah 4 dan 5 di bagian Membuat dan menggunakan kunci secara manual yang mengikuti. Saat Anda mengirimkan workload, tentukan nama resource handle kunci, bukan nama resource kunci di kolom kmsKey.

Membuat dan menggunakan kunci secara manual

Ikuti langkah-langkah berikut untuk membuat kunci Cloud KMS secara manual dan menggunakannya dengan Managed Service untuk Apache Spark.

  1. Buat kunci menggunakan Cloud Key Management Service (Cloud KMS).

  2. Salin nama resource.

    Salin nama resource.
    Nama resource dibuat sebagai berikut:
    projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
    

  3. Aktifkan akun layanan Compute Engine, Managed Service untuk Apache Spark, dan Agen Layanan Cloud Storage untuk menggunakan kunci Anda:

    1. Lihat Melindungi resource menggunakan kunci Cloud KMS > Peran yang Diperlukan untuk menetapkan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan Agen Layanan Compute Engine. Jika akun layanan ini tidak tercantum di halaman IAM di Google Cloud konsol, klik Sertakan pemberian peran yang disediakan Google untuk mencantumkannya.
    2. Tetapkan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan Agen Layanan Managed Service untuk Apache Spark. Anda dapat menggunakan Google Cloud CLI untuk menetapkan peran:

       gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
       --member serviceAccount:service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com \
       --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      Ganti kode berikut:

      KMS_PROJECT_ID: ID project Anda yang menjalankan Cloud KMS. Google Cloud Project ini juga dapat menjadi project yang menjalankan resource Managed Service untuk Apache Spark.

      PROJECT_NUMBER: nomor project (bukan project ID) dari project Anda yang menjalankan resource Managed Service untuk Apache Spark. Google Cloud

    3. Aktifkan Cloud KMS API di project yang menjalankan resource Managed Service untuk Apache Spark.

    4. Jika peran Agen Layanan Managed Service untuk Apache Spark tidak dilampirkan ke akun layanan Agen Layanan Managed Service untuk Apache Spark, tambahkan izin serviceusage.services.use ke peran kustom yang dilampirkan ke akun layanan Agen Layanan Managed Service untuk Apache Spark. Jika peran Agen Layanan Managed Service untuk Apache Spark dilampirkan ke akun layanan Agen Layanan Managed Service untuk Apache Spark, Anda dapat melewati langkah ini.

    5. Ikuti langkah-langkah untuk menambahkan kunci Anda di bucket.

  4. Saat Anda mengirimkan workload batch:

    1. Tentukan kunci Anda dalam parameter batch kmsKey.
    2. Tentukan nama bucket Cloud Storage Anda dalam parameter batch stagingBucket.
  5. Saat Anda membuat sesi interaktif atau template sesi:

    1. Tentukan kunci Anda dalam parameter sesi kmsKey.
    2. Tentukan nama bucket Cloud Storage Anda dalam parameter sesi stagingBucket.