Création de tables basées sur des ensembles de données chiffrés dans Simple Storage Service (Amazon S3) - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création de tables basées sur des ensembles de données chiffrés dans Simple Storage Service (Amazon S3)

Lorsque vous créez une table, indiquez à Athena qu'un jeu de données est chiffré dans Simple Storage Service (Amazon S3). Ceci n'est pas nécessaire lors de l'utilisation de SSE-KMS. Pour le SSE-S3 et le AWS KMS chiffrement, Athena détermine comment déchiffrer l'ensemble de données et créer la table, de sorte que vous n'avez pas besoin de fournir d'informations clés.

Les utilisateurs qui exécutent des requêtes, y compris l'utilisateur qui crée la table, doivent avoir les autorisations décrites précédemment dans cette rubrique.

Important

Si vous utilisez Amazon EMR avec EMRFS pour télécharger des fichiers Parquet chiffrés, vous devez désactiver les chargements partitionnés en définissant fs.s3n.multipart.uploads.enabled sur false. Sinon, Athena n'est pas en mesure de déterminer la longueur des fichiers Parquet et une erreur HIVE_CANNOT_OPEN_SPLIT se produit. Pour plus d'informations, consultez Configuration d'un chargement partitionné pour Simple Storage Service (Amazon S3) dans le Guide de gestion Amazon EMR.

Pour indiquer que le jeu de données est chiffré dans Simple Storage Service (Amazon S3), suivez l'une des étapes ci-dessous. Cette étape n'est pas nécessaire si SSE-KMS est utilisé.

  • Dans une instruction CREATE TABLE (CRÉER UNE TABLE), utilisez une clause TBLPROPERTIES qui spécifie 'has_encrypted_data'='true', comme dans l'exemple ci-dessous.

    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://bucket/folder_with_my_encrypted_data/' TBLPROPERTIES ( 'has_encrypted_data'='true')
  • Utilisez le pilote JDBC et définissez la valeur TBLPROPERTIES comme indiqué dans l'exemple précédent lorsque vous utilisez statement.executeQuery() pour exécuter l'instruction CREATE TABLE (CRÉER UNE TABLE).

  • Lorsque vous utilisez la console Athena pour créer une table à l'aide d'un formulaire et que vous spécifiez l'emplacement de la table, sélectionnez l'option Encrypted data set (Jeu de données chiffrées).

    
                            Sélectionnez Encrypted data set (Jeu de données chiffrées) dans le formulaire d'ajout de table.

Dans la liste des tables de la console Athena, les tables chiffrées affichent une icône en forme de clé.


                    Icône de table chiffrée