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 sul percorso S3 tramite Lake Formation per Amazon EMR Spark
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 di 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 maggiori dettagli, consulta Accesso alle sedi di Amazon S3. https://docs.aws.amazon.com/lake-formation/latest/dg/accessing-s3-locations.html
Il plugin Lake Formation Access Grants si integra con il file system S3A in Spark. Se abilitato, S3A utilizza il plugin per chiamare l'GetTemporaryDataLocationCredentialsAPI 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 alle credenziali del ruolo S3 Access Grants o IAM quando l'accesso a Lake Formation viene negato.
Relazione con l'accesso completo alla tabella (FTA)
La funzionalità Full Table Access esistente utilizza l'GetTemporaryGlueTableCredentialsAPI, che fornisce le credenziali in base ai nomi delle tabelle. Il plugin Lake Formation Access Grants utilizza l'GetTemporaryDataLocationCredentialsAPI, che fornisce le credenziali in base ai percorsi S3.
È possibile utilizzare entrambe le funzionalità insieme. Quando entrambe sono abilitate, le credenziali FTA hanno la precedenza per le query sui nomi delle tabelle, mentre il plug-in gestisce le query dirette sul percorso S3.
Prerequisiti
Prima di utilizzare il plug-in Lake Formation Access Grants, completa i seguenti passaggi:
-
Configura Full Table Access (FTA) per il tuo ambiente Amazon EMR. Per istruzioni, consulta Configurazione dell'accesso completo alle tabelle di Lake Formation.
-
Nella console di Lake Formation, registra il percorso S3 con l'account proprietario:
-
Accedi alle posizioni dei Data Lake.
-
Seleziona la posizione e abilita Register S3 path with Owner Account.
-
-
Concedi al ruolo di runtime le autorizzazioni appropriate di Lake Formation sulla tabella:
-
Per leggere i dati della tabella, concedi al ruolo di runtime
SELECTl'autorizzazione completa sulla tabella. -
Per modificare i dati della tabella, concedi l'
SUPERautorizzazione del ruolo di runtime sulla tabella.
-
Abilita il plugin Lake Formation Access Grants
Per abilitare il plugin, imposta le seguenti proprietà di configurazione S3A nella tua sessione Spark:
| 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 alle credenziali di ruolo S3 Access Grants o IAM se Lake Formation nega l'accesso. |
Comportamento alternativo
Quando fs.s3a.lakeformation.access.grants.fallback.to.iam è impostato sutrue, 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 politiche IAM.
Quando il fallback è abilitato, il plugin tenta di ottenere le credenziali nel seguente ordine:
-
Lake Formation: il plugin chiama. GetTemporaryDataLocationCredentials Se Lake Formation concede l'accesso, il plugin restituisce tali credenziali.
-
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 di S3 Access Grants copre il percorso e il chiamante ha una concessione corrispondente, il plug-in utilizza tali credenziali.
-
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
-
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