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 AWS Glue with AWS Lake Formation per un controllo degli accessi a grana fine
Panoramica
Con AWS la versione 5.0 e successive di Glue, puoi sfruttare AWS Lake Formation per applicare controlli di accesso granulari alle tabelle di Data Catalog supportate da S3. Questa funzionalità consente di configurare i controlli di accesso a livello di tabella, riga, colonna e cella per read domande all'interno dei lavori di AWS Glue for Apache Spark. Consulta le seguenti sezioni per saperne di più su Lake Formation e su come usarlo con AWS Glue.
L'utilizzo di AWS AWS Lake Formation Glue with comporta costi aggiuntivi.
Come funziona AWS Glue con AWS Lake Formation
L'utilizzo di AWS Glue with Lake Formation ti consente di applicare un livello di autorizzazioni su ogni lavoro Spark per applicare il controllo delle autorizzazioni di Lake Formation quando AWS Glue esegue i lavori. AWS Glue utilizza i profili di risorse Spark
Ogni job abilitato per Lake Formation utilizza due driver Spark, uno per il profilo utente e uno per il profilo di sistema.
Di seguito è riportata una panoramica di alto livello su come AWS Glue ottiene l'accesso ai dati protetti dalle politiche di sicurezza di Lake Formation.
-
Un utente lo chiama
StartJobRun
API su un lavoro AWS Glue abilitato per AWS Lake Formation. -
AWS Glue invia il lavoro a un driver utente ed esegue il lavoro nel profilo utente. Il driver utente esegue una versione snella di Spark che non è in grado di avviare attività, richiedere esecutori, accedere a S3 o al Glue Catalog. Costruisce un piano di lavoro.
-
AWS Glue imposta un secondo driver chiamato driver di sistema e lo esegue nel profilo di sistema (con un'identità privilegiata). AWS Glue imposta un TLS canale crittografato tra i due driver per la comunicazione. Il driver utente utilizza il canale per inviare i piani di lavoro al driver di sistema. Il driver di sistema non esegue il codice inviato dall'utente. Esegue Spark completo e comunica con S3 e il Data Catalog per l'accesso ai dati. Richiede esecutori e compila il Job Plan in una sequenza di fasi di esecuzione.
-
AWS Glue esegue quindi le fasi sugli executor con il driver utente o il driver di sistema. Il codice utente in qualsiasi fase viene eseguito esclusivamente sugli esecutori dei profili utente.
-
Le fasi che leggono i dati dalle tabelle del Data Catalog protette da AWS Lake Formation o che applicano filtri di sicurezza sono delegate agli esecutori di sistema.
IAMAutorizzazioni del ruolo Job Runtime
Le autorizzazioni di Lake Formation controllano l'accesso alle risorse di AWS Glue Data Catalog, alle sedi Amazon S3 e ai dati sottostanti in tali sedi. IAMle autorizzazioni controllano l'accesso a Lake Formation and AWS Glue APIs e alle risorse. Sebbene tu possa avere l'autorizzazione Lake Formation per accedere a una tabella nel Data Catalog (SELECT), l'operazione fallisce se non disponi dell'IAMautorizzazione per l'glue:Get*
APIoperazione.
Di seguito è riportato un esempio di politica su come fornire IAM le autorizzazioni per accedere a uno script in S3, caricare i log su S3, le API autorizzazioni AWS Glue e l'autorizzazione per accedere a Lake Formation.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ScriptAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.amzn-s3-demo-bucket/scripts", "arn:aws:s3:::*.amzn-s3-demo-bucket/*" ] }, { "Sid": "LoggingAccess", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/logs/*" ] }, { "Sid": "GlueCatalogAccess", "Effect": "Allow", "Action": [ "glue:Get*", "glue:Create*", "glue:Update*" ], "Resource": ["*"] }, { "Sid": "LakeFormationAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": ["*"] } ] }
Configurazione delle autorizzazioni di Lake Formation per il ruolo Job Runtime
Innanzitutto, registra la posizione del tuo tavolo Hive con Lake Formation. Quindi crea le autorizzazioni per il tuo ruolo di job runtime nella tabella desiderata. Per maggiori dettagli su Lake Formation, vedi What is AWS Lake Formation? nella Guida per gli AWS Lake Formation sviluppatori.
Dopo aver impostato le autorizzazioni di Lake Formation, puoi inviare lavori Spark su AWS Glue.
Invio di un job run
Dopo aver completato l'impostazione delle sovvenzioni Lake Formation, puoi inviare lavori Spark su AWS Glue. Per eseguire i job Iceberg, devi fornire le seguenti configurazioni Spark. Per configurare tramite i parametri del lavoro Glue, inserisci il seguente parametro:
Chiave:
--conf
Valore:
spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=<S3_DATA_LOCATION> --conf spark.sql.catalog.spark_catalog.glue.account-id=<
ACCOUNT_ID
> --conf spark.sql.catalog.spark_catalog.client.region=<REGION
> --conf spark.sql.catalog.spark_catalog.glue.endpoint=https://glue.<REGION
>.amazonaws.com
Supporto per il formato a tabella aperta
AWS La versione 5.0 o successiva di Glue include il supporto per il controllo granulare degli accessi basato su Lake Formation. AWS Glue supporta i tipi di tabelle Hive e Iceberg. La tabella seguente descrive tutte le operazioni supportate.
Operazioni | Hive | Iceberg |
---|---|---|
Comandi DDL | Solo con autorizzazioni di IAM ruolo | Solo con autorizzazioni di IAM ruolo |
Query incrementali | Non applicabile | Completamente supportato |
Query temporali | Non applicabile a questo formato di tabella | Completamente supportato |
Tabelle dei metadati | Non applicabile a questo formato di tabella | Supportato, ma alcune tabelle sono nascoste. Per ulteriori informazioni, consulta Considerazioni e limitazioni. |
DML INSERT |
Solo con IAM autorizzazioni | Solo con IAM autorizzazioni |
DML UPDATE | Non applicabile a questo formato di tabella | Solo con IAM autorizzazioni |
DML DELETE |
Non applicabile a questo formato di tabella | Solo con IAM autorizzazioni |
Operazioni di lettura | Completamente supportato | Completamente supportato |
Stored procedure | Non applicabile | Supportato con le eccezioni di register_table emigrate . Per ulteriori informazioni, consulta Considerazioni e limitazioni. |