Risultati delle query gestite - Amazon Athena

Risultati delle query gestite

Con i risultati delle query gestite, è possibile eseguire query SQL senza fornire un bucket Amazon S3 per lo storage dei risultati delle query. Questo evita di dover fornire, gestire, controllare l'accesso e pulire i bucket S3. Per iniziare, creare un nuovo gruppo di lavoro o modificare un gruppo di lavoro esistente. In Query result configuration, seleziona Athena managed.

Funzionalità principali
  • Semplificare il flusso di lavoro eliminando la necessità di scegliere una posizione per il bucket S3 prima di eseguire le query.

  • Non vi sono costi aggiuntivi per l'utilizzo dei risultati delle query gestite e l'eliminazione automatica dei risultati delle query riduce il sovraccarico amministrativo e la necessità di processi separati di pulizia dei bucket S3.

  • Iniziare è semplice: i gruppi di lavoro nuovi e preesistenti possono essere configurati facilmente per utilizzare i risultati delle query gestite. Nel proprio account AWS è possibile avere una combinazione di risultati di query gestiti da Athena e gestiti dai clienti.

  • Autorizzazioni IAM semplificate con accesso alla lettura dei risultati tramite GetQueryResults e GetQueryResultsStream sono legate a singoli gruppi di lavoro.

  • I risultati delle query vengono crittografati automaticamente con chiavi di proprietà AWS o di proprietà del cliente a scelta.

Considerazioni e limitazioni

  • L'accesso ai risultati delle query è gestito a livello di gruppo di lavoro in Athena. A tal fine, sono necessarie autorizzazioni esplicite ad azioni IAM GetQueryResults e GetQueryResultsStream sullo specifico gruppo di lavoro. L'azione GetQueryResults determina chi può recuperare i risultati di una query completata in un formato impaginato, mentre l'azione GetQueryResultsStream determina chi può trasmettere in streaming i risultati di una query completata (comunemente utilizzata dai driver Athena).

  • Non è possibile scaricare dalla console i file dei risultati delle query di dimensioni superiori a 200 MB. Utilizzare l'istruzione UNLOAD per scrivere risultati di dimensioni superiori a 200 MB in una posizione che è possibile scaricare separatamente.

  • La funzionalità dei risultati delle query gestite non supporta il Riutilizzo dei risultati delle query.

  • I risultati delle query sono disponibili per 24 giorni. I risultati delle query vengono archiviati gratuitamente durante questo periodo. Dopo questo periodo, i risultati delle query vengono poi automaticamente eliminati.

Creare o modificare un gruppo di lavoro con risultati di query gestite

Per creare un gruppo di lavoro o aggiornare un gruppo di lavoro esistente con i risultati di query gestiti dalla console:

  1. Aprire la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

  2. Nel riquadro di navigazione a sinistra, scegliere Workgroups.

  3. Scegliere Create Workgroup per creare un nuovo gruppo di lavoro o modificare un gruppo di lavoro esistente dall'elenco.

  4. In Query result configuration, scegliere Athena managed.

    Menu di configurazione dei risultati delle query.
  5. Per Encrypt query results, scegliere l'opzione di crittografia desiderata. Per ulteriori informazioni, consulta Scegliere la crittografia dei risultati della query.

  6. Inserisci tutti gli altri dettagli richiesti e scegliere Salva modifiche.

Scegliere la crittografia dei risultati della query

Sono disponibili due opzioni per la configurazione della crittografia:

  • Encrypt using an AWS owned key: questa è l'opzione predefinita quando si utilizzano i risultati delle query gestite. Scegliere questa opzione se si desidera crittografare i risultati delle query con una chiave di proprietà AWS.

  • Encrypt using customer managed key: scegli questa opzione se desideri crittografare e decrittografare i risultati delle query con una chiave gestita dal cliente. Per utilizzare una chiave gestita dal cliente, aggiungere il servizio Athena nell'elemento principale della sezione relativa alla politica chiave. Per ulteriori informazioni, consulta Imposta un policy della chiave AWS KMS per i risultati delle query gestite. Per eseguire correttamente le query, l'utente che esegue le query necessita di autorizzazione per accedere alla chiave AWS KMS.

Imposta un policy della chiave AWS KMS per i risultati delle query gestite

La sezione sulla policy della chiave Principal specifica chi può utilizzare questa chiave. La funzionalità dei risultati delle query gestite introduce il principio encryption.athena.amazonaws.com che è necessario specificare nella sezione Principal . Questo servizio principale è destinato specificamente alle chiavi di accesso non di proprietà di Athena. È inoltre necessario aggiungere le azioni kms:Decrypt, kms:GenerateDataKey, kms:DescribeKey alla policy della chiave utilizzata per accedere ai risultati gestiti. Queste tre azioni sono le azioni minime consentite.

I risultati delle query gestite utilizzano l'ARN del gruppo di lavoro per il contesto di crittografia. Poiché la sezione Principal è un servizio AWS, è inoltre necessario aggiungere aws:sourceArn e aws:sourceAccount alle condizioni della policy della chiave. L'esempio seguente mostra una policy della chiave AWS KMS con autorizzazioni minime su un singolo gruppo di lavoro.

{ "Sid": "Allow athena service principal to use the key", "Effect": "Allow", "Principal": { "Service": "encryption.athena.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-1:{account-id}:key/{key-id}", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:athena:arn": "arn:aws:athena:us-east-1:{account-id}:workgroup/{workgroup-name}", "aws:SourceArn": "arn:aws:athena:us-east-1:{account-id}:workgroup/{workgroup-name}" }, "StringEquals": { "aws:SourceAccount": "{account-id}" } }

Il seguente esempio di policy della chiave AWS KMS consente a tutti i gruppi di lavoro all'interno dello stesso account account-id di utilizzare la stessa chiave AWS KMS.

{ "Sid": "Allow athena service principal to use the key", "Effect": "Allow", "Principal": { "Service": "encryption.athena.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-1:account-id:key/{key-id}", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:athena:arn": "arn:aws:athena:us-east-1:account-id:workgroup/*", "aws:SourceArn": "arn:aws:athena:us-east-1:account-id:workgroup/*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } }

Oltre alle autorizzazioni Athena e Amazon S3, bisogna anche ottenere autorizzazioni per eseguire kms:GenerateDataKey e azioni kms:Decrypt. Per ulteriori informazioni, consulta Autorizzazioni di accesso a dati crittografati in Amazon S3.

Per ulteriori informazioni sulla crittografia dei risultati delle query gestite, consultare Crittografare i risultati delle query gestite.