Sie können zusätzliche Komponenten wie Ranger installieren, wenn Sie einen Dataproc-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-Administratorserver und die Web-UI sind über Port 6080
auf dem ersten Masterknoten des Clusters verfügbar.
Siehe auch:
Komponente installieren
Installieren Sie die Komponente, wenn Sie einen Dataproc-Cluster erstellen. Sie können Komponenten in Cluster einfügen, die mit Dataproc Version 1.3 oder höher erstellt wurden. Die Ranger-Komponente erfordert die Installation der Solr-Komponente (wie unten gezeigt).
Informationen zu den Komponentenversionen, die im jeweiligen Dataproc-Image-Release enthalten sind, finden Sie im Abschnitt Unterstützte Dataproc-Versionen.
Installationsschritte:
Ranger-Administratorpasswort einrichten:
- Weisen Sie dem Dienstkonto-Cluster die Cloud KMS CryptoKey Verschlüsseler/Entschlüsseler-Rolle zu. Standardmäßig wird das Clusterdienstkonto als 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 Passwort Ihres Administrators mit einem KMS-Schlüssel (Key Management Service, Schlüsselverwaltungsdienst).
Bei Clustern mit einer Image-Version vor 2.2 muss das Passwort mindestens 8 Zeichen lang sein und mindestens ein alphabetisches und ein numerisches Zeichen enthalten. Bei Clustern mit der Image-Version 2.2 und höher muss das Passwort aus mindestens 8 Zeichen bestehen und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Ziffer enthalten.
- Beispiel:
- Schlüsselbund erstellen:
gcloud kms keyrings create my-keyring --location=global
- Schlüssel erstellen:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Verschlüsseln Sie das Passwort für Ihren Ranger-Administrator:
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-Cluster die Cloud KMS CryptoKey Verschlüsseler/Entschlüsseler-Rolle zu. Standardmäßig wird das Clusterdienstkonto als Compute Engine-Standarddienstkonto festgelegt, das folgende Form hat:
Cluster erstellen
- Bei der Installation der Ranger-Komponente muss auch die Solr-Komponente installiert werden (wie unten gezeigt).
- 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.uri
unddataproc:ranger.admin.password.uri
festlegen. - Optional können Sie das Administratorpasswort der Ranger-Datenbank über einen verschlüsselten Cloud Storage-URI übergeben, indem Sie das Clusterattribut
dataproc:ranger.db.admin.password.uri
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 aufON
setzen. Mit diesem Flag wird gesteuert, ob gespeicherte Funktionsersteller vertrauenswürdig sind. Nachdem Sie den Cluster erfolgreich erstellt und Ranger konfiguriert haben, können Sielog_bin_trust_function_creators
aufOFF
zurücksetzen. Verwenden Sie eine Cloud SQL-Instanz als externe MySql-Datenbank, um die Ranger-Datenbank nach der Clusterlöschung zu speichern.
- Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.instance.connection.name
auf die Cloud SQL-Instanz fest. - Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.root.password.uri
auf 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-ip
fest, um anzugeben, ob die Verbindung zur Cloud SQL-Instanz über eine private IP-Adresse erfolgt.
Die Ranger-Komponente verwendet den Cloud SQL-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.
gcloud-Befehl
Verwenden Sie zum Erstellen eines Dataproc-Clusters, der die Ranger-Komponente enthält, 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 Komponenten Ranger und Solr im Feld SoftwareConfig.Component als Teil einer clusters.create-Anfrage 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"
Console
- Aktivieren Sie die Komponente und das Komponentengateway.
- Öffnen Sie in der Google Cloud Console die Dataproc-Seite 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
- Bei der Installation der Ranger-Komponente muss auch die Solr-Komponente installiert werden (wie unten gezeigt).
Klicken Sie auf den Tab Weboberflächen. 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-Administrator-Logs sind in Logging als ranger-admin-root
-Logs verfügbar.
