Sie können zusätzliche Komponenten wie Ranger installieren, wenn Sie einen Managed Service for Apache Spark-Cluster mit dem Feature Optionale Komponenten erstellen. Auf dieser Seite wird die Ranger-Komponente beschrieben.
Die Apache Ranger-Komponente ist ein Open-Source-Framework zur Verwaltung von Berechtigungen und Prüfungen für die Hadoop-Verwaltungsplattform. Der Ranger-Server admin und die Web-UI sind an Port 6080 auf dem ersten Masterknoten des Clusters verfügbar.
Siehe auch:
Komponente installieren
Installieren Sie die Komponente, wenn Sie einen Managed Service for Apache Spark-Cluster erstellen. Komponenten können Clustern hinzugefügt werden, die mit Managed Service for Apache Spark Version 1.3 und höher erstellt wurden. Für die Ranger-Komponente muss die Solr-Komponente installiert sein.
Informationen zur in den einzelnen Managed Service for Apache Spark-Image-Releases enthaltenen Komponentenversion finden Sie unter Unterstützte Managed Service for Apache Spark-Versionen.
Installationsschritte:
Ranger-Passwort für
admineinrichten:- Weisen Sie dem Dienstkonto des Clusters die Cloud Key Management Service CryptoKey Encrypter/Decrypter-Rolle zu. Standardmäßig ist das Cluster-Dienstkonto das Compute Engine-Standarddienstkonto mit folgendem Format:
Sie können beim Erstellen des Clusters ein anderes Cluster-Dienstkonto angeben.project-number-compute@developer.gserviceaccount.com
- Beispiel:Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle „Cloud KMS CryptoKey Encrypter/Decrypter“ zu:
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
- Beispiel:Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle „Cloud KMS CryptoKey Encrypter/Decrypter“ zu:
- Verschlüsseln Sie das Ranger
admin-Passwort mit einem Key Management Service (KMS)-Schlüssel. Bei Clustern mit einer Bildversion vor 2.2 muss das Passwort mindestens 8 Zeichen lang sein und mindestens ein alphabetisches und ein numerisches Zeichen enthalten. Bei Clustern mit Image-Version 2.2 und höher muss das Passwort mindestens 8 Zeichen lang sein und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Ziffer enthalten.- Beispiel:
- Schlüsselbund erstellen:
gcloud kms keyrings create my-keyring --location=global
- Erstellen Sie den Schlüssel:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Verschlüsseln Sie das Passwort für den Ranger-Nutzer
admin:echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Schlüsselbund erstellen:
- Beispiel:
- Laden Sie das verschlüsselte Passwort in einen Cloud Storage-Bucket in Ihrem Projekt hoch.
- Beispiel:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Beispiel:
- Weisen Sie dem Dienstkonto des Clusters die Cloud Key Management Service CryptoKey Encrypter/Decrypter-Rolle zu. Standardmäßig ist das Cluster-Dienstkonto das Compute Engine-Standarddienstkonto mit folgendem Format:
Cluster erstellen
- Bei der Installation der Ranger-Komponente muss auch die Solr-Komponente installiert werden.
- Die Ranger-Komponente benötigt die Solr-Komponente, um ihre Audit-Logs zu speichern und abzufragen, die standardmäßig HDFS als Speicher verwenden. Diese HDFS-Daten werden gelöscht, wenn der Cluster gelöscht wird. Wenn Sie die Solr-Komponente so konfigurieren möchten, dass Daten, einschließlich der Ranger-Audit-Logs, in Cloud Storage gespeichert werden, verwenden Sie beim Erstellen des Clusters das Clusterattribut
dataproc:solr.gcs.path=gs://<bucket>. Cloud Storage-Daten bleiben nach dem Löschen des Clusters erhalten.
- Die Ranger-Komponente benötigt die Solr-Komponente, um ihre Audit-Logs zu speichern und abzufragen, die standardmäßig HDFS als Speicher verwenden. Diese HDFS-Daten werden gelöscht, wenn der Cluster gelöscht wird. Wenn Sie die Solr-Komponente so konfigurieren möchten, dass Daten, einschließlich der Ranger-Audit-Logs, in Cloud Storage gespeichert werden, verwenden Sie beim Erstellen des Clusters das Clusterattribut
- Übergeben Sie die Cloud Storage-URIs für den KMS-Schlüssel und das Passwort an den Befehl zur Clustererstellung, indem Sie die Clusterattribute
dataproc:ranger.kms.key.uriunddataproc:ranger.admin.password.urifestlegen. - Optional können Sie das
admin-Nutzerpasswort der Ranger-Datenbank über einen verschlüsselten Cloud Storage-Datei-URI übergeben, indem Sie diedataproc:ranger.db.admin.password.uri-Clustereigenschaft festlegen. Standardmäßig verwendet die Ranger-Komponente die MySQL-Datenbankinstanz, die auf dem ersten Masternode des Clusters ausgeführt wird. Wenn Sie die Ranger-Datenbank nach dem Löschen des Clusters beibehalten möchten, können Sie den Cluster so konfigurieren, dass er eine externe Cloud SQL-Instanz verwendet. So verwenden Sie eine externe Cloud SQL-Instanz:
- Vor dem Erstellen des Clusters müssen Sie die Cloud SQL-Instanz konfigurieren, um das Datenbank-Flag
log_bin_trust_function_creatorszu aktivieren, indem Sie es aufonsetzen. So können die Ranger-Schema-Einrichtungsskripts während der Clustererstellung ausgeführt werden. Nachdem der Cluster erfolgreich erstellt wurde, können Sie dieses Flag aufoffzurücksetzen. - Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.instance.connection.nameauf die Cloud SQL-Instanz fest. - Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.root.password.uriauf den Cloud Storage-URI des mit dem KMS-Schlüssel verschlüsselten Root-Passworts der Cloud SQL-Instanz fest. - Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.use-private-ipfest, um anzugeben, ob die Verbindung zur Cloud SQL-Instanz über eine private IP-Adresse erfolgt.
Wenn Sie eine externe Cloud SQL-Instanz verwenden, stellt die Ranger-Komponente mit dem Cloud SQL Auth-Proxy eine Verbindung zur Cloud SQL-Instanz her. So verwenden Sie den Proxy:
- Legen Sie den
sqlservice.admin-API-Bereich beim Erstellen des Clusters fest (siehe Anfragen mit OAuth 2.0 autorisieren). Fügen Sie bei Verwendung desgcloud dataproc cluster create-Befehls den--scopes=default,sql-admin-Parameter hinzu. - Aktivieren Sie in Ihrem Projekt die SQL Admin API.
- Das Cluster-Dienstkonto muss die Rolle Cloud SQL-Bearbeiter haben.
- Da der Cloud SQL Auth-Proxy auf dem Masterknoten ausgehende Verbindungen zur Cloud SQL-Instanz über Port 3307 herstellt, müssen Sie dafür sorgen, dass ausgehende TCP-Verbindungen vom Masterknoten zur Cloud SQL-Instanz über Port 3307 zulässig sind. Weitere Informationen finden Sie unter Funktionsweise des Cloud SQL Auth-Proxys.
- Vor dem Erstellen des Clusters müssen Sie die Cloud SQL-Instanz konfigurieren, um das Datenbank-Flag
Google Cloud Console
- Öffnen Sie in der Google Cloud Console die Seite Cluster erstellen.
- Klicken Sie auf Zusätzliche Konfiguration, um den Bereich zu maximieren.
- Bearbeiten Sie Optionale Komponenten.
- Wählen Sie im angezeigten Bereich die Kästchen für Ranger und Solr aus und klicken Sie dann auf Speichern.
gcloud-CLI
Wenn Sie einen Managed Service for Apache Spark-Cluster erstellen möchten, der die Ranger-Komponente enthält, verwenden Sie den Befehl gcloud dataproc clusters create cluster-name mit dem 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
Geben Sie die Ranger- und Solr-Komponenten im Feld SoftwareConfig.Component als Teil einer clusters.create-Anfrage der Dataproc API an. Außerdem müssen Sie die folgenden Cluster-Attribute im Feld SoftwareConfig.Component.properties festlegen:
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“
- Bei der Installation der Ranger-Komponente muss auch die Solr-Komponente installiert werden.
Klicken Sie auf den Tab Webschnittstellen. Klicken Sie unter Component Gateway auf Ranger, um die Ranger-Weboberfläche zu öffnen. Melden Sie sich mit dem Ranger-Administratornutzernamen (z. B. „admin“) und dem Passwort an.
Ranger-Administrator-Logs
Ranger admin-Logs sind in Logging als ranger-admin-root-Logs verfügbar.