

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
<a name="emr-ranger-trino"></a>

Trino (precedentemente PrestoSQL) è un motore di query SQL che consente di eseguire query su più origini dati, come HDFS, archiviazione di oggetti, database relazionali e database NoSQL. Elimina la necessità di migrare i dati in una posizione centrale e consente di interrogare i dati ovunque si trovino. Amazon EMR mette a disposizione un plugin Apache Ranger per fornire un controllo granulare degli accessi a Trino. Il plug-in è compatibile con il server open source Apache Ranger Admin versione 2.0 e successive.

**Topics**
+ [Funzionalità supportate](#emr-ranger-trino-features)
+ [Installazione della configurazione del servizio](#emr-ranger-trino-service-config)
+ [Creazione di policy Trino](#emr-ranger-trino-create-policies)
+ [Considerazioni](#emr-ranger-trino-considerations)
+ [Limitazioni](#emr-ranger-trino-limitations)

## Funzionalità supportate
<a name="emr-ranger-trino-features"></a>

Il plugin Apache Ranger per Trino su Amazon EMR supporta tutte le funzionalità del motore di query Trino, che è protetto da un controllo granulare degli accessi 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
<a name="emr-ranger-trino-service-config"></a>

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](emr-ranger-admin.md).

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

1. SSH nel server Admin Apache Ranger.

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

   

1. Disinstalla il plugin del server Presto, se presente. Eseguire il seguente 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'
   ```

1. 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
   ```

1. 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.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/ranger-create-service-trino.png)

1. 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`. Prendi nota di questo nome del servizio dal momento che sarà necessario durante la creazione di una configurazione di sicurezza per Amazon EMR.

   **Nome visualizzato:** il nome da visualizzare per questa istanza. Il valore suggerito è `amazonemrtrino`.  
![\[Nome visualizzato per il server Admin Ranger.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/ranger-display-name-trino.png)

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

   **jdbc.url**: la stringa di connessione JDBC da utilizzare per la connessione a un coordinatore 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 nel certificato TLS creato per il plug-in.  
![\[Nome comune per il server Admin Ranger.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/ranger-common-name-trino.png)

   Il certificato TLS per questo plugin dovrebbe essere stato registrato nel trust store sul server Admin Ranger. Per ulteriori informazioni, consulta la sezione [Certificati TLS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-admin-tls.html).

## Creazione di policy Trino
<a name="emr-ranger-trino-create-policies"></a>

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 "\$1" rappresenta tutti i cataloghi.

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

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

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

**Description (Descrizione)**: la descrizione di questa policy.

Esistono altri tipi di policy, ad esempio **Trino User** (Utente Trino) (per l'accesso alla rappresentazione di utenti), **Trino System/Session Property** (Proprietà sistema/sessione Trino) (per modificare le proprietà del sistema o della sessione del motore), **Functions/Procedures** (Funzioni/procedure) (per consentire chiamate a funzioni o procedure) e **URL** (per consentire l'accesso in lettura/scrittura al motore nei percorsi dati).

![\[Il server Admin Ranger crea i dettagli della policy.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/ranger-create-policy-details-trino.png)


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.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/ranger-create-policy-allow-conditions-trino.png)


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

## Considerazioni
<a name="emr-ranger-trino-considerations"></a>

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 utilizzando Kerberos, come specificato 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 sicurezza di Amazon EMR. Per abilitare la crittografia, consulta [Crittografia dei dati in transito](emr-data-encryption-options.md#emr-encryption-intransit).

## Limitazioni
<a name="emr-ranger-trino-limitations"></a>

Di seguito sono riportate le attuali limitazioni per il plugin Trino:
+ Il server Admin Ranger non supporta il completamento automatico.