

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

# Accesso alle sedi Amazon S3
<a name="accessing-s3-locations"></a>

AWS Lake Formation consente di leggere e scrivere i file di dati sottostanti in Amazon Simple Storage Service (Amazon S3) per le tabelle registrate in AWS Glue Data Catalog (Data Catalog). Ciò fornisce un unico set di autorizzazioni sia per le query SQL che per l'accesso diretto ai file utilizzando le concessioni di tabella Lake Formation esistenti. Lake Formation estende la sua funzionalità di vendita di credenziali alle sedi Amazon S3 registrate nel Data Catalog. Quando l'applicazione richiede l'accesso ai file Amazon S3 alla base di una tabella Data Catalog, Lake Formation valuta le autorizzazioni esistenti a livello di tabella del chiamante e, se autorizzate, restituisce credenziali Amazon S3 di breve durata e con ambito per la posizione registrata di quella tabella.

**Abilita l'accesso diretto alle sedi Amazon S3**  
Per abilitare questa funzionalità, devi completare i seguenti passaggi.

**Prerequisiti**  
Completate i seguenti prerequisiti prima di abilitare il feature flag:
+ **Registra le sedi Amazon S3**: cataloga le tue tabelle nel Data Catalog per le tue sedi Amazon S3 e registrale con Lake Formation fornendo l'account proprietario del bucket Amazon S3. Quando registri una posizione, vengono registrati quel percorso Amazon S3 e tutte le cartelle in quel percorso. Per ulteriori informazioni, consulta [Registrazione di una sede Amazon S3](register-location.md).
+ **Concedi le autorizzazioni di Lake Formation**: concedi le autorizzazioni di Lake Formation `SELECT` (or`SUPER`) sulle tabelle ai tuoi data scientist e alle tue applicazioni utilizzando la console o le API di Lake Formation. Se utilizzi già Lake Formation per l'accesso ai tavoli con servizi come Athena o Amazon EMR, questo è già configurato.
+ **Abilita l'integrazione delle applicazioni con accesso completo alla tabella**: abilita l'integrazione delle applicazioni con accesso completo alla tabella per consentire la vendita di credenziali nella posizione della tabella registrata. Per ulteriori informazioni, consulta [Integrazione delle applicazioni per l'accesso completo alle tabelle](full-table-credential-vending.md).

**Abilita il flag della funzionalità**  
Abilita il `fs.s3a.lakeformation.access.grants.enabled` flag sui motori supportati:

```
fs.s3a.lakeformation.access.grants.enabled = true
```
+ **Amazon EMR su Amazon EC2 — EMR 7.13** o versione successiva
+ **Amazon EMR su EKS — EMR** 7.13 o versione successiva
+ **Amazon EMR Serverless — EMR** 7.13 o versione successiva

Una volta configurato, è possibile leggere o scrivere immediatamente file di dati da EMR utilizzando API standard.

Per ulteriori informazioni sull'integrazione con Amazon EMR, consulta [Lake Formation Path Credential Vending](https://docs.aws.amazon.com/emr/latest/ManagementGuide/lake-formation-path-based-credential-vending.html) nella *Amazon* EMR Management Guide.

**Come funziona**  
L'accesso alla posizione di Lake Formation-based Amazon S3 segue questo flusso:

1. Un principale o un ruolo richiede l'accesso ai file di dati di Amazon S3 tramite un servizio come un job Amazon EMR Spark o una pipeline di elaborazione dati.

1. Il plug-in AWS SDK integrato con EMR intercetta la richiesta Amazon S3 e richiama l'API Lake Formation. `GetTemporaryDataLocationCredentials`

1. Lake Formation verifica se il percorso Amazon S3 corrisponde a una posizione registrata e a una tabella catalogata e valuta le autorizzazioni del chiamante sulla tabella associata. AWS Glue

1. Se il `SELECT` chiamante dispone `SUPER` delle autorizzazioni sulla tabella corrispondente con accesso completo alla tabella, Lake Formation invia credenziali temporanee relative a quella posizione Amazon S3. `SELECT`****concede le credenziali READ; concede le credenziali READWRITE. `SUPER`****

1. Il plug-in utilizza queste credenziali per completare la richiesta Amazon S3 e Amazon S3 fornisce i dati all'applicazione.

1. Tutte le operazioni di vendita di credenziali vengono registrate CloudTrail, fornendo una pista di controllo per l'accesso ai dati.

Questo processo è trasparente per te e utilizzerai semplicemente le autorizzazioni esistenti di Lake Formation con API standard basate su file.

```
# Read raw data (Lake Formation-based S3 Location access)
raw_df = spark.read.json("s3://finance-datalake/raw/transactions/dt=2024-03-21/")

# Read governed data (Lake Formation-based S3 Location access)
transactions_df = spark.read.parquet("s3://data-lake/transactions/year=2026/")

# Write processed data (Lake Formation-based S3 Location access)
processed_df.write \
    .mode("append") \
    .partitionBy("transaction_date") \
    .parquet("s3://finance-datalake/processed/transactions/")

print("ETL complete. Records written:", processed_df.count())
```

**Requisiti per l'autorizzazione**  
Attualmente la funzionalità fornisce le credenziali solo quando il chiamante ha **accesso completo alla tabella**, ovvero `SELECT` su tutte le colonne senza filtri di riga o colonna. Se a una tabella sono applicati filtri a livello di riga o di colonna, i chiamanti devono continuare a utilizzare motori affidabili come Athena, Amazon EMR AWS Glue o Amazon Redshift in grado di applicare tali filtri. Ciò garantisce che i limiti di sicurezza rimangano coerenti.

**Cross-account accesso**  
L'accesso semplificato di Lake Formation alle sedi Amazon S3 funziona con funzionalità di condivisione tra account. Quando condividi una tabella con un altro AWS account tramite Lake Formation, i destinatari possono accedere ai file di dati Amazon S3 sottostanti utilizzando le loro autorizzazioni Lake Formation, soggetti agli stessi requisiti di accesso completo alla tabella.

La funzionalità supporta il meccanismo di collegamento delle risorse di Lake Formation per l'accesso tra account diversi. Quando un account consumer dispone delle autorizzazioni su una tabella condivisa, Lake Formation invia le credenziali relative alla posizione Amazon S3 dell'account registrato, consentendo un accesso continuo ai dati tra account senza richiedere policy di bucket Amazon S3 separate o ruoli IAM su più account.

**Posizioni Amazon S3 annidate**  
Quando più tabelle puntano a posizioni nidificate nello stesso bucket, Lake Formation applica il seguente comportamento:
+ Quando si accede`s3://bucket`, si ricevono le autorizzazioni corrispondenti alla tabella registrata a livello di bucket.
+ Quando si accede`s3://bucket/folder1`, si ricevono le autorizzazioni corrispondenti alla tabella registrata in quel percorso specifico.
+ Per accedere alle cartelle senza una tabella registrata (ad esempio,`s3://bucket/folder2`), si ricevono le autorizzazioni dalla posizione registrata principale più vicina.
+ Se più tabelle sono registrate nella stessa posizione, Lake Formation restituisce un errore a causa di autorizzazioni in conflitto.

**Controllo e conformità**  
Tutte le operazioni di vendita di credenziali vengono registrate CloudTrail, fornendo una pista di controllo per l'accesso ai dati. Quando Lake Formation fornisce le credenziali tramite l'`GetTemporaryDataLocationCredentials`API, CloudTrail registra:
+ Il principale (utente o ruolo)
+ Time stamp
+ Posizione di Amazon S3.
+ AWS GlueTabella associata

Le successive chiamate API di Amazon S3 effettuate con tali credenziali vengono registrate anche come eventi dati di Amazon CloudTrail S3, con un contesto che le ricollega alla concessione dell'autorizzazione di Lake Formation. Ciò fornisce ai revisori una visibilità completa su chi ha avuto accesso a quali dati, quando e attraverso quale percorso di autorizzazione, il tutto in un unico flusso di log. CloudTrail 

**Supportata AWS services**  
L'accesso semplificato di Lake Formation alle sedi Amazon S3 funziona con:
+ Amazon EMR su Amazon EC2 (EMR 7.13 o successivo)
+ Amazon EMR su EKS (EMR 7.13 o successivo)
+ Amazon EMR Serverless (EMR 7.13 o successivo)

**Plugin open source per servizi di terze parti**  
Puoi anche integrare le tue Apache Spark Trino applicazioni utilizzando le API o tramite un plug-in open source fornito da AWS. Per ulteriori informazioni, consulta [aws-lakeformation-accessgrants-plugin-java-v2](https://github.com/aws/aws-lakeformation-accessgrants-plugin-java-v2) on. GitHub

**Considerazioni**  
Tieni presente le seguenti considerazioni quando utilizzi il vending di credenziali per le sedi Amazon S3:
+ La vendita di credenziali per le sedi Amazon S3 non è supportata tra le regioni.
+ La vendita di credenziali è supportata per le sedi Amazon S3 incluse come posizione principale della tabella.