Komponen opsional Apache Ranger memungkinkan Anda mengelola izin dan audit untuk ekosistem Hadoop di cluster Managed Service untuk Apache Spark. Saat Anda menginstal komponen ini selama pembuatan cluster, server Ranger admin dan UI Web tersedia di port 6080 pada node master pertama cluster.
Untuk tugas dan panduan terkait, lihat cara menggunakan Ranger dengan Kerberos, mencadangkan dan memulihkan skema Ranger, serta meninjau praktik terbaik untuk menggunakan Apache Ranger di Managed Service untuk Apache Spark.
Menginstal komponen
Instal komponen saat Anda membuat cluster Managed Service untuk Apache Spark. Komponen dapat ditambahkan ke cluster yang dibuat dengan Managed Service untuk Apache Spark versi 1.3 dan yang lebih baru. Komponen Ranger memerlukan penginstalan komponen Solr.
Lihat Versi Managed Service untuk Apache Spark yang didukung untuk mengetahui versi komponen yang disertakan dalam setiap rilis image Managed Service untuk Apache Spark.
Langkah-langkah penginstalan:
Siapkan sandi
adminRanger Anda:- Berikan
peran Cloud Key Management Service CryptoKey Encrypter/Decrypter
ke akun layanan cluster. Secara default, akun layanan cluster ditetapkan sebagai akun layanan default Compute Engine, yang memiliki bentuk berikut:
Anda dapat menentukan akun layanan cluster yang berbeda saat membuat cluster.project-number-compute@
- Contoh:
Berikan peran Cloud KMS CryptoKey Encrypter/Decrypter
ke akun layanan default Compute Engine:
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@ \ --role=roles/cloudkms.cryptoKeyDecrypter
- Contoh:
Berikan peran Cloud KMS CryptoKey Encrypter/Decrypter
ke akun layanan default Compute Engine:
- Enkripsi sandi
adminRanger Anda menggunakan kunci Key Management Service (KMS). Untuk cluster versi image sebelum 2.2, sandi harus terdiri dari minimal 8 karakter, dengan minimal satu karakter alfabet dan satu karakter numerik. Untuk cluster versi image 2.2 dan yang lebih baru, sandi harus terdiri dari minimal 8 karakter, dengan minimal satu huruf besar, satu huruf kecil, dan satu karakter numerik.- Contoh:
- Buat key ring:
gcloud kms keyrings create my-keyring --location=global
- Buat kunci:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Enkripsi sandi pengguna
adminRanger Anda:echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Buat key ring:
- Contoh:
- Upload sandi terenkripsi ke
bucket Cloud Storage di project Anda.
- Contoh:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Contoh:
- Berikan
peran Cloud Key Management Service CryptoKey Encrypter/Decrypter
ke akun layanan cluster. Secara default, akun layanan cluster ditetapkan sebagai akun layanan default Compute Engine, yang memiliki bentuk berikut:
Buat cluster Anda:
- Saat menginstal komponen Ranger, komponen Solr juga harus diinstal.
- Komponen Ranger mengandalkan komponen Solr untuk menyimpan dan membuat kueri log auditnya, yang secara default menggunakan HDFS sebagai penyimpanan. Data HDFS ini akan dihapus saat cluster dihapus. Untuk mengonfigurasi
komponen Solr agar menyimpan data, termasuk log audit Ranger,
di Cloud Storage, gunakan properti cluster
dataproc:solr.gcs.path=gs://<bucket>saat Anda membuat cluster. Data Cloud Storage tetap ada setelah cluster dihapus.
- Komponen Ranger mengandalkan komponen Solr untuk menyimpan dan membuat kueri log auditnya, yang secara default menggunakan HDFS sebagai penyimpanan. Data HDFS ini akan dihapus saat cluster dihapus. Untuk mengonfigurasi
komponen Solr agar menyimpan data, termasuk log audit Ranger,
di Cloud Storage, gunakan properti cluster
- Teruskan URI Cloud Storage kunci KMS dan sandi ke perintah pembuatan cluster dengan menetapkan properti cluster
dataproc:ranger.kms.key.uridandataproc:ranger.admin.password.uri. - Secara opsional, Anda dapat meneruskan sandi pengguna
admindatabase Ranger melalui URI file Cloud Storage yang dienkripsi dengan menetapkan properti clusterdataproc:ranger.db.admin.password.uri. Secara default, komponen Ranger menggunakan instance database MySql yang berjalan di node master pertama cluster. Untuk mempertahankan database Ranger setelah penghapusan cluster, Anda dapat mengonfigurasi cluster untuk menggunakan instance Cloud SQL eksternal. Untuk menggunakan instance Cloud SQL eksternal, lakukan hal berikut:
- Sebelum membuat cluster, Anda harus
mengonfigurasi instance Cloud SQL untuk
mengaktifkan flag database
log_bin_trust_function_creatorsdengan menetapkannya keon. Hal ini memungkinkan skrip penyiapan skema Ranger berjalan selama pembuatan cluster. Setelah pembuatan cluster berhasil, Anda dapat mereset flag ini keoff. - Tetapkan properti cluster
dataproc:ranger.cloud-sql.instance.connection.nameke instance Cloud SQL. - Tetapkan properti cluster
dataproc:ranger.cloud-sql.root.password.urike URI Cloud Storage dari sandi root yang dienkripsi kunci KMS dari instance Cloud SQL. - Tetapkan properti cluster
dataproc:ranger.cloud-sql.use-private-ipuntuk menunjukkan apakah koneksi ke instance Cloud SQL menggunakan IP pribadi.
Saat menggunakan instance Cloud SQL eksternal, komponen Ranger menggunakan Proxy Auth Cloud SQL untuk terhubung ke instance Cloud SQL. Untuk menggunakan proxy:
- Tetapkan cakupan API
sqlservice.adminsaat Anda membuat cluster (lihat Mengizinkan permintaan dengan OAuth 2.0). Jika menggunakan perintahgcloud dataproc cluster create, tambahkan parameter--scopes=default,sql-admin. - Aktifkan SQL Admin API di project Anda.
- Pastikan akun layanan cluster memiliki peran Cloud SQL Editor.
- Karena Cloud SQL Auth Proxy pada node master membuat koneksi egress ke instance Cloud SQL melalui port 3307, pastikan koneksi TCP egress dari node master ke instance Cloud SQL melalui port 3307 diizinkan. Untuk mengetahui informasi selengkapnya, lihat Cara kerja Cloud SQL Auth Proxy.
- Sebelum membuat cluster, Anda harus
mengonfigurasi instance Cloud SQL untuk
mengaktifkan flag database
KonsolGoogle Cloud
- Di konsol Google Cloud , buka halaman Create cluster.
- Klik Additional configuration untuk meluaskan bagian tersebut.
- Edit Optional components.
- Di panel yang terbuka, centang kotak untuk Ranger dan Solr, lalu klik Save.
gcloud CLI
Untuk membuat cluster Managed Service untuk Apache Spark yang menyertakan komponen Ranger, gunakan perintah gcloud dataproc clusters create cluster-name dengan flag
--optional-components.gcloud dataproc clusters create cluster-name \ --optional-components=SOLR,RANGER \ --region=region \ --enable-component-gateway \ --properties="dataproc:ranger.kms.key.uri=projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key,dataproc:ranger.admin.password.uri=gs://my-bucket/admin-password.encrypted" \ ... other flags
REST API
Tentukan komponen Ranger dan Solr di kolom SoftwareConfig.Component sebagai bagian dari permintaan clusters.create Dataproc API. Anda juga harus menetapkan properti cluster berikut di kolom SoftwareConfig.Component.properties:
dataproc:ranger.kms.key.uri: "projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key"dataproc:ranger.admin.password.uri: "gs://my-bucket/admin-password.encrypted"
- Saat menginstal komponen Ranger, komponen Solr juga harus diinstal.
Klik tab Antarmuka web. Di bagian Component gateway, klik Ranger untuk membuka antarmuka web Ranger. Login dengan nama pengguna admin Ranger (misalnya, "admin") dan sandi.
Log Ranger Admin
Log admin Ranger tersedia di
Logging sebagai log ranger-admin-root.