

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à.

# Utilizzo di Amazon S3 Access Grants con Amazon EMR
<a name="emr-access-grants"></a>

## Panoramica di S3 Access Grants per Amazon EMR
<a name="emr-access-grants-overview"></a>

Con le versioni 6.15.0 e successive di Amazon EMR, Amazon S3 Access Grants fornisce una soluzione di controllo degli accessi scalabile che puoi utilizzare per aumentare l'accesso ai tuoi dati Amazon S3 da Amazon EMR. Se hai una configurazione di autorizzazioni complessa o di grandi dimensioni per i dati S3, puoi utilizzare Access Grants per dimensionare le autorizzazioni relative ai dati S3 per utenti, ruoli e applicazioni sul cluster.

Utilizza S3 Access Grants per aumentare l'accesso ai dati di Amazon S3 oltre alle autorizzazioni concesse dal ruolo di runtime o dai ruoli IAM collegati alle identità con accesso al tuo cluster EMR. Per ulteriori informazioni, consulta [Gestione degli accessi con S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) nella *Guida per l'utente di Amazon S3*.

Per conoscere i passaggi per utilizzare S3 Access Grants con altre implementazioni Amazon EMR, consulta la seguente documentazione: 
+ [Utilizzo di S3 Access Grants con Amazon EMR su EKS](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/access-grants.html)
+ [Utilizzo di S3 Access Grants con Amazon EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/access-grants.html)

## Come funziona Amazon EMR con S3 Access Grants
<a name="emr-access-grants-howitworks"></a>

I rilasci di Amazon EMR versione 6.15.0 e successive forniscono un'integrazione nativa con S3 Access Grants. Puoi abilitare S3 Access Grants su Amazon EMR ed eseguire processi Spark. Quando il processo Spark effettua una richiesta di dati S3, Amazon S3 fornisce credenziali temporanee che rientrano nell'ambito del bucket, del prefisso o dell'oggetto specifico.

Di seguito è riportata una panoramica generale sul modo in cui Amazon EMR ottiene l'accesso ai dati protetti da S3 Access Grants.

![Come funziona Amazon EMR con S3 Access Grants](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/access-grants-overview.png)


1. Un utente invia un processo Spark di Amazon EMR che utilizza dati archiviati in Amazon S3. 

1. Amazon EMR elabora una richiesta a S3 Access Grants per consentire l'accesso al bucket, al prefisso o all'oggetto per conto di quell'utente. 

1. Amazon S3 restituisce credenziali temporanee sotto forma di token AWS Security Token Service (STS) per l'utente. Il token ha accesso al bucket, al prefisso o all'oggetto S3.

1. Amazon EMR utilizza il token STS per recuperare dati da S3. 

1. Amazon EMR riceve i dati da S3 e restituisce i risultati all'utente.

## Considerazioni su S3 Access Grants con Amazon EMR
<a name="emr-access-grants-considerations"></a>

Prendi nota dei seguenti comportamenti e limitazioni quando usi S3 Access Grants con Amazon EMR.

### Supporto funzionalità
<a name="emr-access-grants-support"></a>
+ S3 Access Grants è supportato con Amazon EMR versioni 6.15.0 e successive.
+ Spark è l'unico motore di query supportato quando utilizzi S3 Access Grants con Amazon EMR.
+ Delta Lake e Hudi sono gli unici formati a tabella aperta supportati quando utilizzi S3 Access Grants con Amazon EMR.
+ Le seguenti funzionalità di Amazon EMR non sono supportate per l'utilizzo con S3 Access Grants:
  + Tabelle Apache Iceberg
  + Autenticazione LDAP nativa 
  + Autenticazione nativa di Apache Ranger 
  + AWS CLI richieste ad Amazon S3 che utilizzano ruoli IAM
  + Accesso a S3 tramite il protocollo S3A open source
+ L'opzione `fallbackToIAM` non è supportata per i cluster EMR che utilizzano la propagazione affidabile delle identità con il Centro identità IAM.
+ [S3 Access Grants con AWS Lake Formation](#emr-access-grants-lf) è supportato solo con i cluster Amazon EMR eseguiti su Amazon EC2.

### Considerazioni comportamentali
<a name="emr-access-grants-behavior"></a>
+ L'integrazione nativa di Apache Ranger con Amazon EMR include funzionalità congruenti con S3 Access Grants come parte del plug-in EMRFS S3 Apache Ranger. Se utilizzi Apache Ranger per il controllo granulare degli accessi (FGAC), ti consigliamo di utilizzare quel plug-in anziché S3 Access Grants.
+ Amazon EMR fornisce una cache delle credenziali in EMRFS per garantire che un utente non debba effettuare richieste ripetute per le stesse credenziali all'interno di un processo Spark. Pertanto, Amazon EMR richiede sempre il privilegio di livello predefinito quando richiede le credenziali. Per ulteriori informazioni, consulta [Richiedi l'accesso ai dati di S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-credentials.html) nella *Guida per l'utente di Amazon S3*.
+ Nel caso in cui un utente esegua un'azione che S3 Access Grants non supporta, Amazon EMR è impostato per utilizzare il ruolo IAM specificato per l'esecuzione dei processi. Per ulteriori informazioni, consulta [Torna ai ruoli IAM](#emr-access-grants-fallback).

## Avvio di un cluster Amazon EMR con S3 Access Grants
<a name="emr-access-grants-launch-ec2"></a>

Questa sezione descrive come avviare un cluster EMR eseguito su Amazon EC2 e utilizza S3 Access Grants per gestire l'accesso ai dati in Amazon S3. Per conoscere i passaggi per utilizzare S3 Access Grants con altre implementazioni Amazon EMR, consulta la seguente documentazione: 
+ [Utilizzo di S3 Access Grants con Amazon EMR su EKS](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/access-grants.html)
+ [Utilizzo di S3 Access Grants con EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/access-grants.html)

Utilizza i seguenti passaggi per avviare un cluster EMR eseguito su Amazon EC2 e utilizza S3 Access Grants per gestire l'accesso ai dati in Amazon S3.

1. Configura un ruolo di esecuzione dei processi per il cluster EMR. Includi le autorizzazioni IAM necessarie per eseguire i processi Spark, `s3:GetDataAccess` e `s3:GetAccessGrantsInstanceForPrefix`:

   ```
   {
       "Effect": "Allow",
       "Action": [
       "s3:GetDataAccess",
       "s3:GetAccessGrantsInstanceForPrefix"
       ],
       "Resource": [     //LIST ALL INSTANCE ARNS THAT THE ROLE IS ALLOWED TO QUERY
            "arn:{{aws_partition}}:s3:{{Region}}:{{account-id1}}:access-grants/default",
            "arn:{{aws_partition}}:s3:{{Region}}:{{account-id2}}:access-grants/default"
       ]
   }
   ```
**Nota**  
Con Amazon EMR, S3 Access Grants aumenta le autorizzazioni impostate nei ruoli IAM. Se i ruoli IAM specificati per l'esecuzione dei processi dispongono di autorizzazioni per accedere direttamente a S3, gli utenti potrebbero essere in grado di accedere a più dati rispetto a quelli definiti in S3 Access Grants.

1. Quindi, usa AWS CLI per creare un cluster con Amazon EMR 6.15 o versione successiva e la `emrfs-site` classificazione per abilitare S3 Access Grants, in modo simile al seguente esempio:

   ```
   aws emr create-cluster 
     --release-label emr-6.15.0 \
     --instance-count 3 \
     --instance-type m5.xlarge \
     --configurations '[{"Classification":"emrfs-site", "Properties":{"fs.s3.s3AccessGrants.enabled":"true", "fs.s3.s3AccessGrants.fallbackToIAM":"false"}}]'
   ```

## S3 Access Grants con AWS Lake Formation
<a name="emr-access-grants-lf"></a>

Se utilizzi Amazon EMR con [l'integrazione AWS Lake Formation](emr-lake-formation.md), puoi utilizzare Amazon S3 Access Grants per l'accesso diretto o tabulare ai dati in Amazon S3. 

**Nota**  
S3 Access Grants with AWS Lake Formation è supportato solo con i cluster Amazon EMR eseguiti su Amazon EC2.

**Accesso diretto**  
L'accesso diretto include tutte le chiamate per accedere ai dati S3 che non richiamano l'API per il servizio AWS Glue che Lake Formation utilizza come metastore con Amazon EMR, ad esempio per chiamare: `spark.read`  

```
spark.read.csv("s3://...")
```
Quando utilizzi S3 Access Grants con AWS Lake Formation Amazon EMR, tutti i modelli di accesso diretto passano attraverso S3 Access Grants per ottenere credenziali S3 temporanee.

**Accesso tabulare**  
L'accesso tabulare si verifica quando Lake Formation richiama l'API del metastore per accedere alla posizione di S3, ad esempio per eseguire query sui dati della tabella:  

```
spark.sql("select * from test_tbl")
```
Quando utilizzi S3 Access Grants con AWS Lake Formation Amazon EMR, tutti i modelli di accesso tabulari passano attraverso Lake Formation.

## Torna ai ruoli IAM
<a name="emr-access-grants-fallback"></a>

Se un utente tenta di eseguire un'operazione che S3 Access Grants non supporta, Amazon EMR è impostato per utilizzare il ruolo IAM specificato per l'esecuzione dei processi quando la configurazione `fallbackToIAM` è `true`. Ciò consente agli utenti di tornare al proprio ruolo di esecuzione dei processi per fornire le credenziali per l'accesso a S3 in scenari non coperti da S3 Access Grants.

Se `fallbackToIAM` è abilitato, gli utenti possono accedere ai dati consentiti dall'Access Grant. Se non esiste un token S3 Access Grants per i dati di destinazione, Amazon EMR verifica l'autorizzazione per il ruolo di esecuzione dei processi.

**Nota**  
Ti consigliamo di testare le tue autorizzazioni di accesso con la configurazione `fallbackToIAM` abilitata anche se prevedi di disabilitare l'opzione per i carichi di lavoro di produzione. Con i processi Spark, ci sono altri modi in cui gli utenti potrebbero accedere a tutti i set di autorizzazioni con le proprie credenziali IAM. Se abilitate sui cluster EMR, le autorizzazioni di S3 consentono ai processi Spark di accedere alle posizioni S3. Assicurti di proteggere queste posizioni S3 dall'accesso esterno a EMRFS. Ad esempio, devi proteggere le posizioni S3 dall'accesso da parte dei client S3 utilizzati nei notebook o dalle applicazioni che non sono supportate da S3 Access Grants come Hive o Presto.