Dokumen ini menjelaskan cara menggunakan Secret Manager sebagai penyimpanan kredensial dengan Dataproc Serverless untuk menyimpan dan mengakses data sensitif yang diproses oleh workload serverless dengan aman.
Ringkasan
Secret Manager dapat melindungi data sensitif Anda, seperti kunci API, sandi, dan sertifikat. Anda dapat menggunakannya untuk mengelola, mengakses, dan mengaudit secret di seluruhGoogle Cloud.
Saat menjalankan beban kerja batch Dataproc Serverless, Anda dapat mengonfigurasinya untuk menggunakan secret Secret Manager menggunakan Penyedia Kredensial Secret Manager Dataproc.
Ketersediaan
Fitur ini tersedia untuk versi runtime utama Dataproc Serverless untuk Spark versi runtime 1.2.29+, 2.2.29+, atau yang lebih baru.
Terminologi
Tabel berikut menjelaskan istilah yang digunakan dalam dokumen ini.
Istilah | Deskripsi |
---|---|
Secret |
Secret Secret Manager adalah objek project global yang berisi kumpulan metadata dan versi secret. Anda dapat menyimpan, mengelola, dan mengakses secret sebagai blob biner atau string teks. |
Credential |
Di Hadoop dan workload Dataproc lainnya, kredensial terdiri dari nama kredensial (ID) dan nilai kredensial (sandi). ID dan nilai kredensial dipetakan ke ID secret dan nilai secret (versi secret) Secret Manager. |
Penggunaan
Anda dapat mengonfigurasi Hadoop yang didukung dan komponen OSS lainnya agar berfungsi dengan Pengelola Secret dengan menetapkan properti berikut saat Anda mengirimkan workload Dataproc Serverless:
Jalur penyedia (wajib): Properti jalur penyedia,
hadoop.security.credential.provider.path
, adalah daftar URI penyedia kredensial yang dipisahkan koma dari satu atau beberapa URI yang dilalui untuk me-resolve kredensial.--properties=hadoop.security.credential.provider.path=gsm://projects/PROJECT_ID
scheme
di jalur penyedia menunjukkan jenis penyedia kredensial. Skema Hadoop mencakupjceks://
,user://
,localjceks://
. Gunakan skemagsm://
untuk menelusuri kredensial di Secret Manager.
Ganti operator titik : Layanan Secret Manager tidak mengizinkan titik (
.
) dalam nama secret. Namun, beberapa komponen software open source (OSS) menggunakan titik dalam kunci kredensialnya. Untuk memperbaiki batasan ini, aktifkan properti ini untuk mengganti titik (.
) dengan tanda hubung (-
) dalam nama kredensial. Tindakan ini memastikan bahwa kredensial OSS dengan titik dalam namanya dapat disimpan dan diambil dengan benar dari Pengelola Secret.Misalnya, Jika kunci kredensial OSS adalah
a.b.c
, Anda harus mengubahnya menjadia-b-c
saat menyimpannya di Secret Manager.--properties=hadoop.security.credstore.google-secret-manager.secret-id.substitute-dot-operator=true
Ini adalah properti opsional. Secara default, nilainya adalah
false
. Untuk kunci kredensial yang tidak memiliki operator titik (.
) dalam nama kredensialnya, properti ini dapat diabaikan dengan aman.Versi secret : Secret di Secret Manager dapat memiliki beberapa versi (nilai). Gunakan properti ini untuk mengakses versi secret tertentu guna mendapatkan akses yang stabil di lingkungan produksi.
--properties=hadoop.security.credstore.google-secret-manager.secret-version=1
Ini adalah properti opsional. Secara default, Secret Manager mengakses versi
LATEST
, yang me-resolve ke nilai terbaru secret saat runtime. Jika kasus penggunaan Anda adalah selalu mengakses versiLATEST
secret, properti ini dapat diabaikan dengan aman.
Menjalankan workload batch dengan Penyedia Kredensial Secret Manager
Untuk mengirim beban kerja batch yang menggunakan Penyedia Kredensial Pengelola Secret, jalankan perintah berikut secara lokal atau di Cloud Shell.
gcloud dataproc batches submit spark \ --region=REGION \ --jars=JARS \ --class=MAIN_CLASS \ --properties="spark.hive.hadoop.security.credential.provider.path=gsm://projects/PROJECT_ID,spark.hive.hadoop.security.credstore.google-secret-manager.secret-id.substitute-dot-operator=true" \ ...other flags as needed...
Ganti kode berikut:
- REGION: Region Compute Engine tempat beban kerja Anda berjalan
- JARS: jalur jar workload
- MAIN_CLASS: class utama Jar
- PROJECT_ID: project ID Anda, yang tercantum di bagian Project info dasbor Konsol Google Cloud