Creare tabelle basate su set di dati crittografati in Amazon S3 - Amazon Athena

Creare tabelle basate su set di dati crittografati in Amazon S3

Quando crei una tabella, occorre indicare ad Athena che un set di dati è crittografato in Amazon S3. Non è necessario quando si utilizza SSE-KMS. Sia per la crittografia SSE-S3 che per quella AWS KMS, Athena determina come decifrare il set di dati e creare la tabella, perciò non è necessario fornire le informazioni sulle chiavi.

Gli utenti che eseguono le query, incluso l'utente che crea la tabella, devono disporre delle autorizzazioni descritte in precedenza in questo argomento.

Importante

Se si utilizza Amazon EMR con EMRFS per caricare file Parquet crittografati, è necessario disabilitare i caricamenti in più parti impostando fs.s3n.multipart.uploads.enabled su false. Se non si effettua questa operazione, Athena non sarà in grado di determinare la lunghezza del file Parquet e si verificherà un errore HIVE_CANNOT_OPEN_SPLIT. Per ulteriori informazioni, consulta Configurazione del caricamento in più parti per Amazon S3 nella Guida alla gestione di Amazon EMR.

Per indicare che il set di dati è crittografato in Amazon S3, esegui uno dei seguenti passaggi. Questo passaggio non è necessario se viene utilizzato SSE-KMS.

  • In un'istruzione CREATE TABLE, usa una clausola TBLPROPERTIES che specifica 'has_encrypted_data'='true', come nel seguente esempio.

    CREATE EXTERNAL TABLE 'my_encrypted_data' ( `n_nationkey` int, `n_name` string, `n_regionkey` int, `n_comment` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' LOCATION 's3://amzn-s3-demo-bucket/folder_with_my_encrypted_data/' TBLPROPERTIES ( 'has_encrypted_data'='true')
  • Utilizza il driver JDBC e imposta il valore TBLPROPERTIES come illustrato nell'esempio precedente quando usi statement.executeQuery() per eseguire l'istruzione CREATE TABLE.

  • Quando usi la console Athena per creare una tabella tramite un modello e specifichi una posizione della tabella, seleziona l'opzione Set di dati crittografati.

    Seleziona Set di dati crittografati per aggiungere un modello di tabella

Nell'elenco di tabelle della console Athena, le tabelle crittografate mostrano un'icona con una chiave.

Icona della tabella crittografata