Création de tables basées sur des jeux de données chiffrés dans Amazon S3
Lorsque vous créez une table, indiquez à Athena qu'un jeu de données est chiffré dans Simple Storage Service (Amazon S3). Cette précision n’est pas nécessaire si vous utilisez SSE-KMS. Pour les chiffrements SSE-S3 et AWS KMS, Athena détermine comment déchiffrer le jeu de données et créer la table. Vous n’avez donc pas besoin de fournir d’informations de clé.
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 vous utilisez SSE-KMS.
-
Dans une instruction CREATE TABLE (CRÉER UNE TABLE), utilisez une clause
TBLPROPERTIESqui 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://amzn-s3-demo-bucket/folder_with_my_encrypted_data/' TBLPROPERTIES ( 'has_encrypted_data'='true') -
Utilisez le pilote JDBC et définissez la valeur
TBLPROPERTIEScomme indiqué dans l'exemple précédent lorsque vous utilisezstatement.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).
Dans la liste des tables de la console Athena, les tables chiffrées affichent une icône en forme de clé.