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-admin-Server und die Web-UI sind über Port 6080 auf dem ersten Masterknoten des Clusters verfügbar.
Weitere Informationen :
Komponente installieren
Installieren Sie die Komponente, wenn Sie einen Managed Service for Apache Spark-Cluster erstellen. Sie können Komponenten in Cluster einfügen, die mit Managed Service for Apache Spark Version 1.3 oder höher erstellt wurden. Für die Ranger-Komponente muss die Solr-Komponente installiert sein.
Informationen zu den Komponentenversionen, die im jeweiligen Managed Service for Apache Spark-Image-Release enthalten sind, finden Sie im Abschnitt Unterstützte Managed Service for Apache Spark-Versionen.
Installationsschritte:
Richten Sie das Ranger-
admin-Passwort ein:- Weisen Sie dem Cluster Dienstkonto die
Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“
zu. Standardmäßig wird das Clusterdienst
konto als das Compute Engine-Standarddienstkonto festgelegt, das folgende Form hat:
Beim Erstellen des Clusters können Sie ein anderes Cluster-Dienstkonto angeben.project-number-compute@developer.gserviceaccount.com
- Beispiel:Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ 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-Verschlüsseler/Entschlüsseler“ zu:
- Verschlüsseln Sie das Ranger-
adminPasswort mit einem Schlüsselverwaltungsdienst (KMS) Schlüssel. Bei Clustern mit Image-Versionen vor 2.2 muss das Passwort aus mindestens acht Zeichen und mindestens einem alphabetischen und einem numerischen Zeichen bestehen. Bei Clustern mit Image-Version 2.2 und höher muss das Passwort aus mindestens acht Zeichen und mindestens einem Großbuchstaben, einem Kleinbuchstaben und einem numerischen Zeichen bestehen.- 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 Ihren Ranger-
admin-Nutzer: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 Cluster Dienstkonto die
Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“
zu. Standardmäßig wird das Clusterdienst
konto als das Compute Engine-Standarddienstkonto festgelegt, das folgende Form hat:
Cluster erstellen
- Wenn Sie die Ranger-Komponente installieren, muss auch die
Solr-Komponente installiert sein.
- 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
dataproc:ranger.kms.key.uriunddataproc:ranger.admin.password.uriClusterattribute festlegen. - Optional können Sie das
adminNutzerpasswort über einen verschlüsselten Cloud Storage-URI übergeben, indem Sie dasdataproc:ranger.db.admin.password.uriClusterattribut festlegen. - Standardmäßig verwendet die Ranger-Komponente die MySql-Datenbankinstanz, die auf dem ersten Masterknoten des Clusters ausgeführt wird. Aktivieren Sie in der MySQL-Instanz das Flag
log_bin_trust_function_creators, indem Sie die Variable aufONsetzen. Mit diesem Flag wird gesteuert, ob Erstellern gespeicherter Funktionen vertraut werden kann. Nachdem Sie den Cluster erstellt und Ranger konfiguriert haben, können Sielog_bin_trust_function_creatorsaufOFFzurücksetzen. Verwenden Sie eine Cloud SQL-Instanz als die externe MySql-Datenbank, um die Ranger-Datenbank nach der Clusterlöschung zu speichern.
- 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
dataproc:ranger.cloud-sql.use-private-ipClusterattribut fest, um anzugeben, ob die Verbindung zur Cloud SQL-Instanz über eine private IP-Adresse erfolgt.
Die Ranger-Komponente verwendet den Cloud SQL Auth-Proxy um eine Verbindung zur Cloud SQL-Instanz herzustellen. 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 ausgehende TCP-Verbindungen vom Masterknoten zur Cloud SQL-Instanz über Port 3307 zulässig sein. Weitere Informationen finden Sie unter Funktionsweise des Cloud SQL Auth-Proxys.
gcloud CLI
Verwenden Sie zum Erstellen eines Managed Service for Apache Spark-Clusters, der die Ranger-Komponente enthält, verwenden Sie den gcloud dataproc clusters create cluster-name Befehl mit dem
--optional-componentsFlag.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 Komponenten Ranger und Solr im SoftwareConfig.Component Feld als Teil einer Managed Service for Apache Spark API clusters.create Anfrage an. Außerdem müssen Sie die folgenden Cluster-Attribute im SoftwareConfig.Component.properties Feld 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"
Console
- Aktivieren Sie die Komponente und das Komponentengateway.
- Öffnen Sie in der Google Cloud Console die Seite Managed Service for Apache Spark Cluster erstellen. Der Bereich „Cluster einrichten“ ist ausgewählt.
- Im Bereich Komponenten:
- Wählen Sie unter „Optionale Komponenten“ Ranger, Solr und andere optionale Komponenten aus, die auf Ihrem Cluster installiert werden sollen.
- Wählen Sie unter Component Gateway „Component Gateway aktivieren“ aus (siehe Component Gateway-URLs ansehen und aufrufen).
- Legen Sie das Clusterattribut
- Wenn Sie die Ranger-Komponente installieren, muss auch die
Solr-Komponente installiert sein.
Klicken Sie auf den Tab Webschnittstellen. Klicken Sie unter Component Gateway auf Ranger, um die Ranger-Webschnittstelle 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.