Plugin Trino per l'integrazione di Ranger con Amazon EMR - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Plugin Trino per l'integrazione di Ranger con Amazon EMR

Trino (precedentemente PrestoSQL) è un motore di SQL query che puoi utilizzare per eseguire query su fonti di dati come storage di oggettiHDFS, database relazionali e database No. SQL Elimina la necessità di migrare i dati in una posizione centrale e consente di interrogare i dati ovunque si trovino. Amazon EMR fornisce un plug-in Apache Ranger per fornire controlli di accesso dettagliati per Trino. Il plug-in è compatibile con il server open source Apache Ranger Admin versione 2.0 e successive.

Funzionalità supportate

Il plug-in Apache Ranger per Trino su Amazon EMR supporta tutte le funzionalità del motore di query Trino, protetto da un controllo degli accessi granulare. comprendente controlli degli accessi a livello di database, tabella e colonna, filtraggio di riga e mascheramento dei dati. Le policy di Apache Ranger possono includere policy di concessione e di negazione a utenti e gruppi. Gli eventi di controllo vengono inoltre inviati ai log. CloudWatch

Installazione della configurazione del servizio

L'installazione della definizione del servizio Trino richiede la configurazione del server Admin Ranger. Per configurare il server Admin Ranger, consulta Configura un server di amministrazione Ranger per l'integrazione con Amazon EMR.

Attenersi alla seguente procedura per installare la definizione del servizio Trino.

  1. SSHnel server di amministrazione Apache Ranger.

    ssh ec2-user@ip-xxx-xxx-xxx-xxx.ec2.internal

  2. Disinstalla il plugin del server Presto, se presente. Esegui il comando seguente. Se viene visualizzato l'errore "Service not found" (Servizio non trovato), il plugin del server Presto non è stato installato sul server. Passare alla fase successiva.

    curl -f -u *<admin users login>*:*_<_**_password_ **_for_** _ranger admin user_**_>_* -X DELETE -k 'https://*<RANGER SERVER ADDRESS>*:6182/service/public/v2/api/servicedef/name/presto'
  3. Scarica la definizione del servizio e il plugin del server Admin Apache Ranger. In una directory temporanea, scarica la definizione del servizio. Questa definizione del servizio è supportata dalle versioni Ranger 2.x.

    wget https://s3.amazonaws.com/elasticmapreduce/ranger/service-definitions/version-2.0/ranger-servicedef-amazon-emr-trino.json
  4. Registra la definizione del servizio Apache Trino per Amazon. EMR

    curl -u *<admin users login>*:*_<_**_password_ **_for_** _ranger admin user_**_>_* -X POST -d @ranger-servicedef-amazon-emr-trino.json \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -k 'https://*<RANGER SERVER ADDRESS>*:6182/service/public/v2/api/servicedef'

    Se questo comando viene eseguito correttamente, viene visualizzato un nuovo servizio nell'interfaccia utente di Admin Apache Ranger denominato TRINO, come mostrato nell'immagine seguente.

    Il server Admin Ranger crea il servizio.
  5. Crea un'istanza dell'applicazione TRINO inserendo le informazioni seguenti.

    Service Name (Nome del servizio): il nome del servizio che verrà utilizzato. Il valore suggerito è amazonemrtrino. Nota questo nome di servizio, poiché sarà necessario per creare una configurazione EMR di sicurezza Amazon.

    Nome visualizzato: il nome da visualizzare per questa istanza. Il valore suggerito è amazonemrtrino.

    Nome visualizzato per il server Admin Ranger.

    jdbc.driver. ClassName: Il nome della JDBC classe per la connettività Trino. Puoi usare il valore predefinito.

    jdbc.url: La stringa di JDBC connessione da usare quando ci si connette al coordinatore di Trino.

    Nome comune per certificato: il campo CN all'interno del certificato utilizzato per connettersi al server Admin da un plug-in client. Questo valore deve corrispondere al campo CN del TLS certificato creato per il plugin.

    Nome comune per il server Admin Ranger.

    Nota che il TLS certificato per questo plugin avrebbe dovuto essere registrato nel trust store sul server Ranger Admin. Per ulteriori informazioni, consulta i TLScertificati.

Creazione di policy Trino

Quando crei una nuova policy, compila i campi seguenti.

Nome policy: il nome della policy.

Etichetta policy: un'etichetta che è possibile inserire in questa policy.

Catalog (Catalogo): il catalogo a cui viene applicata questa policy. Il carattere jolly "*" rappresenta tutti i cataloghi.

Schema (Schema): gli schemi a cui viene applicata questa policy. Il carattere jolly "*" rappresenta tutti gli schemi.

Tabella: le tabelle a cui viene applicata questa policy. Il carattere jolly "*" rappresenta tutte le tabelle.

Column (Colonna): le colonne a cui viene applicata questa policy. Il carattere jolly "*" rappresenta tutte le colonne.

Description (Descrizione): la descrizione di questa policy.

Esistono altri tipi di policy per l'utente Trino (per l'accesso tramite impersonificazione dell'utente), la proprietà di sistema/sessione di Trino (per modificare le proprietà del sistema motore o della sessione), per le funzioni/procedure (per consentire le chiamate a funzioni o procedure) e URL(per concedere l'accesso in lettura/scrittura al motore sulle posizioni dei dati).

Il server Admin Ranger crea i dettagli della policy.

Per concedere autorizzazioni a utenti e gruppi specifici, inserirli. È inoltre possibile specificare delle esclusioni per consentire e negare le condizioni.

I dettagli della policy del server Admin Ranger consentono di negare le condizioni.

Dopo aver specificato le condizioni di autorizzazione e negazione, scegli Save (Salva).

Considerazioni

Quando si creano policy Trino all'interno di Apache Ranger, occorre tenere a mente alcune considerazioni sull'utilizzo.

Server dei metadati Hive

Il server dei metadati Hive è accessibile solo dai motori attendibili, in particolare il motore Trino, come misura di protezione da accessi non autorizzati. Il server dei metadati Hive è accessibile anche da tutti i nodi del cluster. La porta 9083 richiesta consente a tutti i nodi di accedere al nodo principale.

Autenticazione

Per impostazione predefinita, Trino è configurato per l'autenticazione tramite Kerberos come configurato nella configurazione di sicurezza di Amazon. EMR

Crittografia in transito obbligatoria

Il plugin Trino richiede che la crittografia in transito sia abilitata nella configurazione di EMR sicurezza di Amazon. Per abilitare la crittografia, consulta Crittografia in transito.

Limitazioni

Di seguito sono riportate le attuali limitazioni per il plugin Trino:

  • Il server Admin Ranger non supporta il completamento automatico.