Entladen verschlüsselter Datendateien - Amazon Redshift

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.

Entladen verschlüsselter Datendateien

UNLOAD erstellt automatisch Dateien mithilfe der serverseitigen Amazon S3 S3-Verschlüsselung mit AWS verwalteten Verschlüsselungsschlüsseln (SSE-S3). Sie können auch eine serverseitige Verschlüsselung mit einem AWS Key Management Service Schlüssel (SSE-KMS) oder eine clientseitige Verschlüsselung mit einem vom Kunden verwalteten Schlüssel angeben. UNLOAD unterstützt keine serverseitige Amazon S3 S3-Verschlüsselung mit einem vom Kunden bereitgestellten Schlüssel. Weitere Informationen finden Sie unter Schützen von Daten mithilfe serverseitiger Verschlüsselung.

Um mithilfe einer serverseitigen Verschlüsselung mit einem AWS KMS Schlüssel nach Amazon S3 zu entladen, verwenden Sie den Parameter KMS_KEY_ID, um die Schlüssel-ID anzugeben, wie im folgenden Beispiel gezeigt.

unload ('select venuename, venuecity from venue') to 's3://amzn-s3-demo-bucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' KMS_KEY_ID '1234abcd-12ab-34cd-56ef-1234567890ab' encrypted;

Wenn Sie Ihren eigenen Verschlüsselungsschlüssel bereitstellen möchten, können Sie clientseitig verschlüsselte Datendateien in Amazon S3 erstellen, indem Sie den UNLOAD-Befehl mit der Option ENCRYPTED verwenden. UNLOAD verwendet denselben Verschlüsselungsprozess wie die clientseitige Amazon-S3-Verschlüsselung. Anschließend können Sie den COPY-Befehl mit der Option ENCRYPTED verwenden, um die verschlüsselten Dateien zu laden.

Der Prozess funktioniert wie folgt:

  1. Sie erstellen einen base64-kodierten 256-Bit-AES-Schlüssel, den Sie als Ihren privaten Verschlüsselungsschlüssel bzw. symmetrischen Root-Schlüssel verwenden.

  2. Sie geben einen UNLOAD-Befehl aus, der Ihren symmetrischen Root-Schlüssel und die Option ENCRYPTED enthält.

  3. UNLOAD generiert einen one-time-use symmetrischen Schlüssel (den sogenannten symmetrischen Envelope-Schlüssel) und einen Initialisierungsvektor (IV), mit denen Ihre Daten verschlüsselt werden.

  4. UNLOAD verschlüsselt den Envelope Symmetric Key unter Verwendung Ihres symmetrischen Root-Schlüssels.

  5. Dann speichert UNLOAD die verschlüsselten Datendateien in Amazon S3 und den verschlüsselten Envelope Key und IV als Objektmetadaten mit jeder Datei. Der verschlüsselte Envelope Key wird als Objektmetadaten x-amz-meta-x-amz-key und der IV als Objektmetadaten x-amz-meta-x-amz-iv gespeichert.

Weitere Informationen zum Envelope-Verschlüsselungsprozess finden Sie im Artikel Client-seitige Datenverschlüsselung mit dem AWS SDK for Java und Amazon S3.

Fügen Sie zum Entladen verschlüsselter Datendateien den Root-Schlüssel-Wert der Anmeldedatenzeichenfolge hinzu und verwenden Sie die Option ENCRYPTED. Wenn Sie die MANIFEST-Option verwenden, wird die Manifestdatei ebenfalls verschlüsselt.

unload ('select venuename, venuecity from venue') to 's3://amzn-s3-demo-bucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' master_symmetric_key '<root_key>' manifest encrypted;

Um verschlüsselte Datendateien mit GZIP-Komprimierung zu entladen, verwenden Sie die Option GZIP zusammen mit dem Root-Schlüssel-Wert und der Option ENCRYPTED.

unload ('select venuename, venuecity from venue') to 's3://amzn-s3-demo-bucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' master_symmetric_key '<root_key>' encrypted gzip;

Um die verschlüsselten Datendateien zu laden, fügen Sie den Parameter MASTER_SYMMETRIC_KEY mit dem gleichen Root-Schlüssel-Wert hinzu und verwenden die Option ENCRYPTED.

copy venue from 's3://amzn-s3-demo-bucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' master_symmetric_key '<root_key>' encrypted;