Puoi installare componenti aggiuntivi come Ranger quando crei un cluster Dataproc utilizzando la funzionalità Componenti facoltativi. In questa pagina viene descritto il componente Ranger.
Il componente Apache Ranger è un framework open source per gestire le autorizzazioni e i controlli per l'ecosistema Hadoop. Il server di amministrazione e la UI web di Ranger sono disponibili sulla porta
6080
sul primo nodo master del cluster.
Vedi anche:
Installa il componente
Installa il componente quando crei un cluster Dataproc. Puoi aggiungere componenti ai cluster creati con Dataproc versione 1.3 e successive. Il componente Ranger richiede l'installazione del componente Solr come mostrato di seguito.
Consulta le versioni di Dataproc supportate per la versione dei componenti inclusa in ogni release di immagine Dataproc.
Procedura di installazione:
Configura la password amministratore di Ranger:
- Concedi il ruolo Autore crittografia/decriptazione CryptoKey Cloud KMS all'account di servizio del cluster. Per impostazione predefinita, l'account di servizio del cluster è impostato sull'account di servizio predefinito di Compute Engine, con il seguente formato:
project-number-compute@developer.gserviceaccount.com
Quando crei il cluster, puoi specificare un account di servizio del cluster diverso di seguito.- Esempio: concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio predefinito di Compute Engine:
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
- Esempio: concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio predefinito di Compute Engine:
- Cripta la password dell'utente amministratore Ranger utilizzando una chiave Key Management Service (KMS). La password deve essere costituita da almeno 8 caratteri, con almeno un carattere alfabetico e un carattere numerico.
- Esempio:
- Crea il keyring:
gcloud kms keyrings create my-keyring --location=global
- Crea la chiave:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Cripta la password utente amministratore di Ranger:
echo "my-ranger-admin-password" | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Crea il keyring:
- Esempio:
- Carica la password criptata in un bucket Cloud Storage nel tuo progetto.
- Esempio:
gsutil cp admin-password.encrypted gs://my-bucket
- Esempio:
- Concedi il ruolo Autore crittografia/decriptazione CryptoKey Cloud KMS all'account di servizio del cluster. Per impostazione predefinita, l'account di servizio del cluster è impostato sull'account di servizio predefinito di Compute Engine, con il seguente formato:
Crea il cluster:
- Durante l'installazione del componente Ranger, è necessario installare anche il componente Solr, come mostrato di seguito.
- Il componente Ranger si basa sul componente Solr per archiviare ed eseguire query sugli audit log, che per impostazione predefinita utilizzano HDFS come spazio di archiviazione. Questi dati HDFS vengono eliminati quando il cluster viene eliminato. Per configurare il componente Solr per archiviare i dati, inclusi gli audit log di Ranger, in Cloud Storage, utilizza la proprietà cluster
dataproc:solr.gcs.path=gs://<bucket>
quando crei il cluster. I dati di Cloud Storage vengono conservati dopo l'eliminazione del cluster.
- Il componente Ranger si basa sul componente Solr per archiviare ed eseguire query sugli audit log, che per impostazione predefinita utilizzano HDFS come spazio di archiviazione. Questi dati HDFS vengono eliminati quando il cluster viene eliminato. Per configurare il componente Solr per archiviare i dati, inclusi gli audit log di Ranger, in Cloud Storage, utilizza la proprietà cluster
- Passa gli URI Cloud Storage della chiave KMS e della password al comando di creazione del cluster impostando le proprietà cluster
dataproc:ranger.kms.key.uri
edataproc:ranger.admin.password.uri
. - Se vuoi, puoi passare la password dell'utente amministratore del database Ranger
tramite un URI criptato del file Cloud Storage
impostando la
proprietà cluster
dataproc:ranger.db.admin.password.uri
. - Per impostazione predefinita, il componente Ranger utilizza l'istanza del database MySql in esecuzione sul primo nodo master del cluster. Nell'istanza MySQL, abilita il flag
log_bin_trust_function_creators
impostando la variabile suON
. L'impostazione di questo flag consente di stabilire se gli autori delle funzioni memorizzate possono essere considerati attendibili. Dopo aver creato il cluster e aver configurato il Ranger, puoi reimpostarelog_bin_trust_function_creators
suOFF
. Per rendere permanente il database Ranger dopo l'eliminazione del cluster, utilizza un'istanza Cloud SQL come database MySql esterno.
- Imposta la proprietà cluster
dataproc:ranger.cloud-sql.instance.connection.name
sull'istanza Cloud SQL. - Imposta la proprietà cluster
dataproc:ranger.cloud-sql.root.password.uri
sull'URI Cloud Storage della password radice criptata con la chiave KMS dell'istanza Cloud SQL. - Imposta la proprietà cluster
dataproc:ranger.cloud-sql.use-private-ip
per indicare se la connessione all'istanza Cloud SQL avviene su IP privato.
Il componente Ranger utilizza il proxy Cloud SQL per connettersi all'istanza Cloud SQL. Per utilizzare il proxy:
- Imposta l'ambito API
sqlservice.admin
quando crei il cluster (consulta la sezione Autorizzazione delle richieste con OAuth 2.0). Se utilizzi il comandogcloud dataproc cluster create
, aggiungi il parametro--scopes=default,sql-admin
. - Abilitare l'API SQL Admin nel progetto.
- Assicurati che l'account di servizio del cluster abbia il ruolo Editor Cloud SQL.
Comando g-cloud
Per creare un cluster Dataproc che includa il componente Ranger, utilizza il comando cluster-name gcloud dataproc clusters create con il 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
API REST
Specifica i componenti Ranger e Solr nel campo SoftwareConfig.Component come parte di una richiesta clusters.create dell'API Dataproc. Devi inoltre impostare le seguenti proprietà cluster nel campo 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"
Console
- Abilita il gateway del componente e del componente.
- Nella console Google Cloud, apri la pagina Crea un cluster di Dataproc. Il riquadro Configura cluster è selezionato.
- Nella sezione Componenti:
- In Componenti facoltativi, seleziona Ranger, Solr e altri componenti facoltativi da installare sul cluster.
- In Gateway dei componenti, seleziona Abilita gateway dei componenti (consulta Visualizzazione e accesso agli URL del gateway dei componenti).
- Imposta la proprietà cluster
- Durante l'installazione del componente Ranger, è necessario installare anche il componente Solr, come mostrato di seguito.
Fai clic sulla scheda Interfacce web. In Gateway componente, fai clic su Ranger per aprire l'interfaccia web di Ranger. Accedi con nome utente e password di amministratore (ad esempio "amministratore") del ranger.
Log di amministrazione di Ranger
I log di amministrazione di Ranger sono disponibili in
Logging come log di ranger-admin-root
.