Menggunakan CMEK dengan Google Cloud Serverless untuk Apache Spark

Secara default, Google Cloud Serverless untuk Apache Spark mengenkripsi konten pelanggan dalam penyimpanan. Serverless untuk Apache Spark menangani enkripsi untuk Anda tanpa perlu 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 Serverless for 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. 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 Serverless for Apache Spark 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 oleh Google Cloud Serverless for Apache Spark ke disk persisten dan ke bucket staging Dataproc.

  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 Agen Layanan Compute Engine, Dataproc, dan 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 konsol Google Cloud , klik Include Google-provided role grants untuk mencantumkannya.
    2. Tetapkan peran Cloud KMS CryptoKey Encrypter/Decrypter ke akun layanan Agen Layanan Dataproc. 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 Google Cloud yang menjalankan Cloud KMS. Project ini juga dapat berupa project yang menjalankan resource Dataproc.

      PROJECT_NUMBER: nomor project (bukan project ID) Google Cloud project yang menjalankan resource Dataproc.

    3. Aktifkan Cloud KMS API di project yang menjalankan resource Serverless for Apache Spark.

    4. Jika peran Agen Layanan Dataproc tidak dilampirkan ke akun layanan Agen Layanan Dataproc, tambahkan izin serviceusage.services.use ke peran kustom yang dilampirkan ke akun layanan Agen Layanan Dataproc. Jika peran Agen Layanan Dataproc dilekatkan ke akun layanan Agen Layanan Dataproc, Anda dapat melewati langkah ini.

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

  4. Saat Anda mengirimkan beban kerja batch:

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

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