Erstellen Sie Tabellen auf der Grundlage verschlüsselter Datensätze in Amazon S3 - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie Tabellen auf der Grundlage verschlüsselter Datensätze in Amazon S3

Wenn Sie eine Tabelle erstellen, zeigen Sie Athena an, dass ein Datensatz in Amazon S3 verschlüsselt ist. Dies ist nicht erforderlich, wenn Sie SSE - KMS verwenden. Sowohl für SSE -S3 als auch AWS KMS Verschlüsselung, Athena bestimmt, wie der Datensatz entschlüsselt und die Tabelle erstellt werden soll, sodass Sie keine Schlüsselinformationen angeben müssen.

Benutzer, die Abfragen ausführen möchten. einschließlich des Benutzers, der die Tabelle erstellt, müssen die zuvor in diesem Thema beschriebenen Berechtigungen haben.

Wichtig

Wenn Sie Amazon EMR zusammen mit verwenden, EMRFS um verschlüsselte Parquet-Dateien hochzuladen, müssen Sie mehrteilige Uploads deaktivieren, indem Sie auf einstellenfs.s3n.multipart.uploads.enabled. false Wenn Sie dies nicht tun, kann Athena die Länge der Parquet-Datei nicht bestimmen und es tritt ein HIVE_ CANNOT _ OPEN _ SPLIT -Fehler auf. Weitere Informationen finden Sie unter Mehrteiligen Upload für Amazon S3 konfigurieren im Amazon EMR Management Guide.

Führen Sie einen der folgenden Schritte aus, um anzugeben, dass ein Datensatz in Amazon S3 verschlüsselt ist. Dieser Schritt ist nicht erforderlich, wenn SSE - verwendet KMS wird.

  • Verwenden Sie in einer CREATETABLEAnweisung eine TBLPROPERTIES Klausel, die Folgendes angibt'has_encrypted_data'='true', wie im folgenden Beispiel.

    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')
  • Verwenden Sie den JDBCTreiber und legen Sie den TBLPROPERTIES Wert fest, wie im vorherigen Beispiel gezeigt, wenn statement.executeQuery() Sie die CREATETABLEAnweisung ausführen.

  • Wenn Sie die Athena-Konsole zum Erstellen einer Tabelle mit einem Formular verwenden und einen Tabellenspeicherort angeben, wählen Sie die Option Verschlüsselter Datensatz aus.

    Wählen Sie im Formular zum Hinzufügen von Tabellen die Option Verschlüsselter Datensatz

In der Tabellenliste der Athena-Konsole zeigen verschlüsselte Tabellen ein schlüsselförmiges Symbol an.

Symbol für verschlüsselte Tabellen