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.
Weitere Informationen
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:
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-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 Imageversion vor 2.2 muss das Passwort aus mindestens acht Zeichen bestehen, darunter mindestens ein alphabetisches und ein numerisches Zeichen. Bei Clustern mit der Bildversion 2.2 und höher muss das Passwort aus mindestens acht Zeichen bestehen, darunter mindestens ein Großbuchstabe, ein Kleinbuchstabe und eine Ziffer.
- 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 festgelegt, ob die Ersteller der gespeicherten Funktionen vertrauenswürdig sind. Nachdem der Cluster erstellt und Ranger konfiguriert wurde, 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 Nutzernamen (z. B. „admin“) und dem Passwort des Ranger-Administrators an.
Ranger-Administrator-Logs
Ranger-Administrator-Logs sind in Logging als ranger-admin-root
-Logs verfügbar.