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
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).
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'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 su S3 Access Grants o sulle credenziali del ruolo IAM quando l'accesso a Lake Formation viene negato.
Relazione con Full Table Access (FTA)
La funzionalità Full Table Access esistente utilizza l'GetTemporaryGlueTableCredentialsAPI, che fornisce credenziali in base ai nomi delle tabelle. Il Lake Formation Access Grants Plugin utilizza l'GetTemporaryDataLocationCredentialsAPI, 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
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 .
-
Nella console Lake Formation, registra il percorso S3 con l'account proprietario:
-
Vai alle sedi di Data Lake.
-
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'
SELECTautorizzazione completa sulla tabella. -
Per modificare i dati della tabella, concedi al ruolo di runtime l'
SUPERautorizzazione per il 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 su S3 Access Grants o sulle credenziali del ruolo IAM se Lake Formation nega l'accesso. |
Comportamento di fallback
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 policy 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 quelle 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 S3 Access Grants copre il percorso e il chiamante dispone di una concessione corrispondente, il plugin 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