

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 basato su percorsi S3 con Lake Formation per Amazon EMR Spark
<a name="lake-formation-path-based-credential-vending"></a>

Con le versioni 7.13.0 e successive di Amazon EMR, puoi utilizzare il plug-in AWS Lake Formation Access Grants per ottenere credenziali temporanee per i percorsi S3 registrati con Lake Formation. Ciò consente alle query Spark che fanno riferimento direttamente ai percorsi S3 di utilizzare le Formation-vended credenziali Lake, oltre alla distribuzione di credenziali basata sui nomi di tabella esistente fornita da Full Table Access (FTA). Per ulteriori dettagli, consulta [Accesso alle sedi Amazon S3](https://docs.aws.amazon.com/lake-formation/latest/dg/accessing-s3-locations.html).

Il Lake Formation Access Grants Plugin si integra con il file system S3A di Spark. Se abilitato, S3A utilizza il plug-in per chiamare l'[GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html)API Lake Formation per ottenere credenziali temporanee per i percorsi S3 che appartengono alle tabelle Lake. Formation-registered 

Questo plugin è utile quando i job Spark leggono o scrivono dati facendo riferimento direttamente ai percorsi S3 (ad esempio) anziché utilizzare i nomi delle tabelle. `spark.read.parquet("s3a://my-bucket/my-table/")` Il plugin supporta anche il fallback opzionale su S3 Access Grants o sulle credenziali del ruolo IAM quando l'accesso a Lake Formation viene negato.

## Relazione con Full Table Access (FTA)
<a name="lake-formation-path-based-relationship-fta"></a>

La funzionalità Full Table Access esistente utilizza l'[GetTemporaryGlueTableCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryGlueTableCredentials.html)API, che fornisce credenziali in base ai nomi delle tabelle. Il Lake Formation Access Grants Plugin utilizza l'[GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html)API, che fornisce credenziali basate su percorsi S3.

È possibile utilizzare entrambe le funzionalità insieme. Quando entrambe sono abilitate, le credenziali FTA hanno la precedenza per le query sui nomi di tabella, mentre il plug-in gestisce le query dirette sui percorsi S3.

## Prerequisiti
<a name="lake-formation-path-based-prerequisites"></a>

Prima di utilizzare il Lake Formation Access Grants Plugin, completa i seguenti passaggi:
+ Configura l'accesso completo alla tabella (FTA) per il tuo ambiente Amazon EMR. Per istruzioni, consulta [Configurazione dell'accesso completo alla tabella di Lake Formation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/lake-formation-unfiltered-ec2-access.html).
+ Nella console Lake Formation, registra il percorso S3 con l'account proprietario:

  1. Vai alle **sedi di Data Lake**.

  1. Seleziona la posizione e abilita **Registra il percorso S3 con l'account del proprietario**.
+ Concedi al ruolo di runtime i permessi appropriati di Lake Formation sulla tabella:
  + Per leggere i dati della tabella, concedi al ruolo di runtime l'`SELECT`autorizzazione completa sulla tabella.
  + Per modificare i dati della tabella, concedi l'`SUPER`autorizzazione al ruolo di runtime sulla tabella.

## Abilita il plugin Lake Formation Access Grants
<a name="lake-formation-path-based-enable"></a>

Per abilitare il plugin, imposta le seguenti proprietà di configurazione S3A nella tua sessione Spark:


**Proprietà di configurazione del plugin Lake Formation Access Grants**  

| Proprietà | Predefinita | Description | 
| --- | --- | --- | 
| fs.s3a.lakeformation.access.grants.enabled | FALSE | Abilita il plugin Lake Formation Access Grants. | 
| fs.s3a.lakeformation.access.grants.fallback.to.iam | FALSE | Abilita il fallback su S3 Access Grants o sulle credenziali del ruolo IAM se Lake Formation nega l'accesso. | 

## Comportamento di fallback
<a name="lake-formation-path-based-fallback"></a>

Quando `fs.s3a.lakeformation.access.grants.fallback.to.iam` è impostato su`true`, il plugin utilizza una catena di fallback se Lake Formation nega l'accesso. Ciò è utile negli scenari in cui alcuni percorsi S3 sono registrati con Lake Formation e altri sono gestiti tramite S3 Access Grants o policy IAM.

Quando il fallback è abilitato, il plugin tenta di ottenere le credenziali nel seguente ordine:

1. **Lake Formation** — Il plugin chiama [GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html). Se Lake Formation concede l'accesso, il plugin restituisce quelle credenziali.

1. **S3 Access Grants** — Se Lake Formation nega l'accesso, il plugin verifica se S3 Access Grants può fornire le credenziali per il percorso richiesto. Se un'istanza S3 Access Grants copre il percorso e il chiamante dispone di una concessione corrispondente, il plugin utilizza tali credenziali.

1. **Ruolo IAM**: se sia Lake Formation che S3 Access Grants negano l'accesso, il plug-in ricorre alle credenziali del ruolo IAM allegate al job.

## Considerazioni e limitazioni
<a name="lake-formation-path-based-considerations"></a>
+ Il plugin supporta i formati di tabella Apache Hive, Apache Hudi e Delta Lake. Apache Iceberg non è attualmente supportato.
+ Il plug-in non è attualmente supportato con la modalità Amazon EMR Spark Fine-Grained Access Control (FGAC).
+ Path-based la vendita di credenziali richiede una mappatura 1:1 tra una tabella e la sua posizione S3 nel Glue Data Catalog. AWS