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à.
Configura l'accesso tra account a un catalogo dati AWS Glue condiviso utilizzando Amazon Athena
Creato da Denis Avdonin (AWS)
Riepilogo
Questo modello fornisce step-by-step istruzioni, inclusi esempi di policy AWS Identity and Access Management (IAM), per configurare la condivisione tra account di un set di dati archiviato in un bucket Amazon Simple Storage Service (Amazon S3) utilizzando AWS Glue Data Catalog. Puoi archiviare il set di dati in un bucket S3. I metadati vengono raccolti da un crawler di AWS Glue e inseriti nel catalogo dati di AWS Glue. Il bucket S3 e il catalogo dati AWS Glue risiedono in un account AWS denominato account dati. Puoi fornire l'accesso ai principali IAM in un altro account AWS denominato account consumer. Gli utenti possono interrogare i dati nell'account consumer utilizzando il motore di query serverless di Amazon Athena.
Prerequisiti e limitazioni
Prerequisiti
Due account AWS attivi
Un bucket S3 in uno degli account AWS
AWS Command Line Interface (AWS CLI), installata e configurata (o AWS
per l'esecuzione di comandi CloudShell AWS CLI)
Versioni del prodotto
Questo modello funziona solo con il motore Athena versione 2 e il motore Athena versione 3. Ti consigliamo di eseguire l'aggiornamento alla versione 3 del motore Athena. Se non riesci a eseguire l'upgrade dalla versione 1 del motore Athena alla versione 3 del motore Athena, segui l'approccio dell'accesso multiaccount di AWS Glue Data Catalog con Amazon Athena
Architettura
Stack tecnologico Target
Amazon Athena
Amazon Simple Storage Service (Amazon S3)
AWS Glue
AWS Identity and Access Management (IAM)
AWS Key Management Service (AWS KMS)
Il diagramma seguente mostra un'architettura che utilizza le autorizzazioni IAM per condividere i dati in un bucket S3 in un account AWS (account dati) con un altro account AWS (account consumer) tramite AWS Glue Data Catalog.

Il diagramma mostra il flusso di lavoro seguente:
La policy S3 bucket nell'account dati concede le autorizzazioni a un ruolo IAM nell'account consumer e al ruolo del servizio crawler AWS Glue nell'account dati.
La policy chiave di AWS KMS nell'account dati concede le autorizzazioni al ruolo IAM nell'account consumer e al ruolo del servizio crawler AWS Glue nell'account dati.
Il crawler AWS Glue nell'account dati rileva lo schema dei dati archiviati nel bucket S3.
La policy sulle risorse di AWS Glue Data Catalog nell'account dati consente l'accesso al ruolo IAM nell'account consumer.
Un utente crea un riferimento di catalogo denominato nell'account consumer utilizzando un comando CLI AWS.
Una policy IAM garantisce a un ruolo IAM nell'account consumer l'accesso alle risorse dell'account di dati. La policy di fiducia del ruolo IAM consente agli utenti dell'account consumer di assumere il ruolo IAM.
Un utente dell'account consumer assume il ruolo IAM e accede agli oggetti nel catalogo dati utilizzando le query SQL.
Il motore serverless Athena esegue le query SQL.
Nota
Strumenti
Amazon Athena è un servizio di query interattivo che ti aiuta ad analizzare i dati direttamente in Amazon S3 utilizzando SQL standard.
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
AWS Glue è un servizio di estrazione, trasformazione e caricamento (ETL) completamente gestito. Ti aiuta a classificare, pulire, arricchire e spostare i dati in modo affidabile tra archivi di dati e flussi di dati.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
AWS Key Management Service (AWS KMS) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Concedi l'accesso ai dati nel bucket S3. | Crea una policy per i bucket S3 basata sul modello seguente e assegna la policy al bucket in cui sono archiviati i dati.
La bucket policy concede le autorizzazioni al ruolo IAM nell'account consumer e al ruolo del servizio crawler AWS Glue nell'account dati. | Amministratore del cloud |
(Se richiesto) Concedi l'accesso alla chiave di crittografia dei dati. | Se il bucket S3 è crittografato da una chiave AWS KMS, Aggiorna la policy chiave con la seguente dichiarazione:
| Amministratore cloud |
Concedi al crawler l'accesso ai dati. | Allega la seguente policy IAM al ruolo di servizio del crawler:
| Amministratore cloud |
(Se richiesto) Concedi al crawler l'accesso alla chiave di crittografia dei dati. | Se il bucket S3 è crittografato da una chiave AWS KMS,
| Amministratore del cloud |
Concedi al ruolo IAM nell'account consumer e al crawler l'accesso al catalogo dati. |
Questa policy consente tutte le azioni di AWS Glue su tutti i database e le tabelle nell'account dati. Puoi personalizzare la policy per concedere solo le autorizzazioni necessarie ai responsabili dei consumatori. Ad esempio, è possibile fornire l'accesso in sola lettura a tabelle o viste specifiche in un database. | Amministratore cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un riferimento denominato per il catalogo dati. | Per creare un riferimento denominato al catalogo di dati, usa CloudShelluna CLI AWS installata localmente per eseguire il seguente comando:
| Amministratore cloud |
Concedi al ruolo IAM nell'account consumer l'accesso ai dati. | Allega la seguente policy al ruolo IAM nell'account consumer per concedere al ruolo l'accesso ai dati tra account diversi:
Successivamente, utilizza il seguente modello per specificare quali utenti possono accettare il ruolo IAM nella relativa policy di fiducia:
Infine, concedi agli utenti i permessi per assumere il ruolo IAM associando la stessa policy al gruppo di utenti a cui appartengono. | Amministratore cloud |
(Se richiesto) Concedi al ruolo IAM nell'account consumer l'accesso alla chiave di crittografia dei dati. | Se il bucket S3 è crittografato da una chiave AWS KMS,
| Amministratore del cloud |
Passa al ruolo IAM nell'account consumer per accedere ai dati. | In qualità di consumatore di dati, passa al ruolo IAM per accedere ai dati nell'account dati. | Consumatore di dati |
Accedi ai dati. | Interroga i dati usando Athena. Ad esempio, apri l'editor di query Athena ed esegui la seguente query:
Invece di utilizzare un riferimento denominato al catalogo, puoi fare riferimento al catalogo anche tramite il relativo Amazon Resource Name (ARN). NotaSe utilizzi un riferimento dinamico al catalogo in una query o in una vista, racchiudi il riferimento tra virgolette doppie con escape (\»). Per esempio:
Per ulteriori informazioni, consulta Accesso da più account ai cataloghi di dati di AWS Glue nella Guida per l'utente di Amazon Athena. | Consumatore di dati |
Risorse correlate
Informazioni aggiuntive
Utilizzo di Lake Formation come alternativa per la condivisione tra account
Puoi anche utilizzare AWS Lake Formation per condividere l'accesso agli oggetti del catalogo AWS Glue tra gli account. Lake Formation offre un controllo granulare degli accessi a livello di colonna e riga, controllo degli accessi basato su tag, tabelle governate per le transazioni ACID e altre funzionalità. Sebbene Lake Formation sia ben integrato con Athena, richiede una configurazione aggiuntiva rispetto all'approccio basato esclusivamente sull'IAM di questo modello. Ti consigliamo di prendere in considerazione la decisione di utilizzare i controlli di accesso solo per Lake Formation o IAM nel contesto più ampio dell'architettura complessiva della tua soluzione. Le considerazioni includono quali altri servizi sono coinvolti e come si integrano con entrambi gli approcci.