Amazon Redshift
Clusterverwaltungshandbuch

Amazon Redshift-Datenbankverschlüsselung

Sie können in Amazon Redshift die Datenbankverschlüsselung für Ihre Clustern aktivieren, um Ihre Daten zu schützen, wenn diese gespeichert sind. Wenn Sie die Verschlüsselung für einen Cluster aktivieren, werden die Datenblöcke und die Metadaten des Systems für den Cluster und Snapshots des Clusters verschlüsselt.

Sie können die Verschlüsselung aktivieren, wenn Sie Ihren Cluster starten, oder Sie können einen unverschlüsselten Cluster so modifizieren, dass er die Verschlüsselung des Key Management Service (AWS KMS) verwendet. Dazu können Sie einen AWS-verwalteten Schlüssel oder einen vom Kunden verwalteten Schlüssel (Customer-Managed Key, CMK) verwenden. Wenn Sie einen Cluster ändern, um die KMS-Verschlüsselung zu aktivieren, migriert Amazon Redshift den Cluster automatisch in einen neuen, verschlüsselten Cluster. Aus dem verschlüsselten Cluster erstellte Snapshots sind ebenfalls verschlüsselt. Sie können auch einen unverschlüsselten Cluster in einem verschlüsselten Cluster migrieren, indem Sie den Cluster anpassen und die Option Encrypt database (Datenbank verschlüsseln) wählen. Weitere Informationen finden Sie unter Ändern der Verschlüsselung von Clustern.

Die Verschlüsselung in Amazon Redshift ist optional, wir empfehlen jedoch, bei Clustern mit sensiblen Daten die Verschlüsselung zu aktivieren. Beachten Sie außerdem, dass für Ihre Daten möglicherweise Richtlinien oder Vorschriften gelten, die eine Verschlüsselung obligatorisch machen. Beispiele für Vorschriften, die diesbezüglich Richtlinien zur Verarbeitung von bestimmten Arten von Daten haben, sind beispielsweise PCI DSS (Payment Card Industry Data Security Standard), SOX (Sarbanes-Oxley Act) und HIPAA (Health Insurance Portability and Accountability Act).

Amazon Redshift verwendet eine Schlüsselhierarchie, um die Datenbank zu verschlüsseln. Sie können AWS Key Management Service (AWS KMS) oder ein Hardwaresicherheitsmodul (HSM) verwenden, um die Verschlüsselungsschlüssel der obersten Ebene in dieser Hierarchie zu verwalten. Der Prozess, den Amazon Redshift zur Verschlüsselung verwendet, richtet sich danach, wie Sie Schlüssel verwalten. Außerdem kann Amazon Redshift automatisch in AWS KMS integriert werden, nicht jedoch in ein HSM. Wenn Sie ein HSM verwenden, müssen Sie Client- und Serverzertifikate verwenden, um eine vertrauenswürdige Verbindung zwischen Amazon Redshift und Ihrem HSM herzustellen.

Datenbankverschlüsselung für Amazon Redshift mittels AWS KMS

Wenn Sie AWS KMS für die Schlüsselverwaltung mit Amazon Redshift verwenden, steht Ihnen eine vierstufige Hierarchie von Verschlüsselungsschlüsseln zur Verfügung. Diese Schlüssel sind (in der Abfolge der Hierarchie) der Hauptschlüssel, ein Clusterschlüssel (CEK, Cluster Encryption Key), ein Datenbankschlüssel (DEK, Database Encryption Key) und Schlüssel zur Datenverschlüsselung.

Wenn Sie Ihren Cluster starten, gibt Amazon Redshift eine Liste der Kundenhauptschlüssel (Customer Master Keys, CMKs) zurück, die Ihr AWS-Konto erstellt hat oder in AWS KMS verwenden darf. Sie wählen einen CMK zur Verwendung als Hauptschlüssel in der Verschlüsselungsschlüssel aus.

Standardmäßig verwendet Amazon Redshift Ihren Standardschlüssel als Hauptschlüssel. Ihr Standardschlüssel ist ein von AWS verwalteter Schlüssel, der für Ihr AWS-Konto zur Verwendung in Amazon Redshift erstellt wurde. AWS KMS erstellt diesen Schlüssel, wenn Sie in einer AWS-Region zum ersten Mal ein Cluster starten und den Standardschlüssel wählen.

Wenn Sie nicht den Standardschlüssel verwenden möchten, müssen Sie in AWS KMS einen getrennten, kundenverwalteten CMK besitzen (oder erstellen), bevor Sie das Cluster in Amazon Redshift starten. Kundenverwaltete CMKs gewähren Ihnen größere Flexibilität, einschließlich der Möglichkeit, eine Zugriffssteuerung zu erstellen, zu rotieren, zu deaktivieren und zu definieren sowie die Verschlüsselungsschlüssel zu prüfen, um Ihre Daten besser zu schützen. Weitere Informationen zum Erstellen von CMKs finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service Developer Guide.

Wenn Sie einen AWS KMS-Schlüssel aus einem anderen AWS-Konto verwenden möchten, müssen Sie die Berechtigung haben, diesen Schlüssel zu verwenden, und dessen Amazon Resource Name (ARN) in Amazon Redshift angeben. Weitere Informationen zum Zugriff auf Schlüssel in AWS KMS finden Sie unter Steuern des Zugriffs auf Ihre Schlüssel im AWS Key Management Service Developer Guide.

Nachdem Sie einen Hauptschlüssel ausgewählt haben, fordert Amazon Redshift bei AWS KMS die Generierung eines Datenschlüssels und dessen Verschlüsselung mittels des ausgewählten Masterschlüssels an. Dieser Datenschlüssel wird in Amazon Redshift als CEK verwendet. AWS KMS exportiert den verschlüsselten CEK nach Amazon Redshift. Hier wird er zusammen mit der Genehmigung für die Verwendung des CMK und dem Verschlüsselungskontext für den CEK in einem vom Cluster getrennten Netzwerk intern auf einem Datenträger gespeichert. Nur der verschlüsselte CEK wird nach Amazon Redshift exportiert. Der CMK bleibt in AWS KMS. Amazon Redshift übergibt außerdem den verschlüsselten CEK über einen sicheren Kanal an das Cluster und lädt ihn in den Arbeitsspeicher. Anschließend ruft Amazon Redshift AWS KMS auf, um den CEK zu entschlüsseln, und lädt den entschlüsselten CEK in den Arbeitsspeicher. Weitere Informationen zu Genehmigungen, Verschlüsselungskontexten und anderen Konzepten im Zusammenhang mit AWS KMSfinden Sie unter Konzepte im AWS Key Management Service Developer Guide.

Anschließend generiert Amazon Redshift nach dem Zufallsprinzip einen Schlüssel zur Verwendung als DEK und lädt ihn in dem Cluster in den Arbeitsspeicher. Der entschlüsselte CEK wird verwendet, um den DEK zu verschlüsseln, der dann über eine gesicherte Verbindung von dem Cluster an Amazon Redshift übergeben wird, das ihn intern in einem von dem Cluster getrennten Netzwerk auf einer Festplatte speichert. Wie bei dem CEK werden sowohl die verschlüsselte als auch die entschlüsselte Version des in dem Cluster in den Arbeitsspeicher geladen. Mit dem entschlüsselten DEK werden anschließend die einzelnen Verschlüsselungsschlüssel verschlüsselt, die nach dem Zufallsprinzip für die einzelnen Blöcke in der Datenbank generiert werden.

Bei einem Neustart des Clusters beginnt Amazon Redshift mit den intern gespeicherten, verschlüsselten Versionen des CEK und DEK, lädt sie erneut in den Arbeitsspeicher und ruft dann AWS KMS auf, um den CEK erneut mit dem CMK zu entschlüsseln, damit der CEK in den Arbeitsspeicher geladen werden kann. Anschließend wird der entschlüsselte CEK verwendet, um den DEK wieder zu entschlüsseln, der entschlüsselte DEK wird in den Arbeitsspeicher geladen und kann dazu verwendet werden, Datenblöcke wie gewünscht zu verschlüsseln und zu entschlüsseln.

Weitere Informationen zum Erstellen von Amazon Redshift-Clustern, die mit AWS KMS-Schlüsseln verschlüsselt sind, finden Sie unter Erstellen eines Clusters und Verwaltung von Clustern mit der Amazon Redshift-CLI und -API.

Kopieren eines AWS KMS-verschlüsselten Snapshots in eine andere AWS-Region

AWS KMS-Schlüssel gelten für eine bestimmte AWS-Region. Wenn Sie das Kopieren von Amazon Redshift-Snapshots in eine andere AWS-Region aktivieren und das Ausgangscluster und dessen Snapshots unter Verwendung eines Hauptschlüssels aus AWS KMS verschlüsselt sind, müssen Sie eine Berechtigung für Amazon Redshift zur Verwendung eines Masterschlüssels in der AWS-Zielregion konfigurieren. Mit dieser Berechtigung ist Amazon Redshift in der Lage, Snapshots in der AWS-Zielregion zu verschlüsseln. Weitere Informationen zum regionenübergreifenden Kopieren von Snapshots finden Sie unter Kopieren von Snapshots in eine andere AWS-Region.

Anmerkung

Wenn Sie das Kopieren von Snapshots aus einem verschlüsselten Cluster zulassen und AWS KMS für Ihren Hauptschlüssel verwenden, dürfen Sie Ihren Cluster nicht umbenennen, denn der Clustername ist Teil des Verschlüsselungskontexts. Wenn Sie Ihren Cluster umbenennen müssen, müssen Sie zunächst das Kopieren von Snapshots aus der AWS-Ausgangsregion deaktivieren, dann den Cluster umbenennen und schließlich das Kopieren der Snapshots wieder aktivieren.

Der Prozess zum Konfigurieren der Berechtigung zum Kopieren von Snapshots sieht wie folgt aus.

  1. Erstellen Sie in der AWS-Zielregion eine Berechtigung zum Kopieren von Snapshots, indem Sie die folgenden Schritte ausführen:

    • Wenn Sie noch keinen AWS KMS-Schlüssel zur Verwendung haben, erstellen Sie einen. Weitere Informationen zum Erstellen von AWS KMS-Schlüsseln finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service Developer Guide.

    • Geben Sie einen Namen für die Berechtigung zum Kopien von Snapshots an. Dieser Name muss für Ihr AWS-Konto in dieser AWS-Region eindeutig sein.

    • Geben Sie die AWS KMS-Schlüssel-ID an, für die Sie die Berechtigung erstellen. Wenn Sie keine Schlüssel-ID angeben, wird die Berechtigung für Ihren Standardschlüssel übernommen.

  2. Aktivieren Sie in der AWS-Quellregion das Kopieren von Snapshots und geben Sie den Namen der Berechtigung zum Kopieren von Snapshots an, den Sie in der AWS-Zielregion erstellt haben.

Der oben angegebene Prozess ist nur notwendig, wenn Sie das Kopieren von Snapshots unter Verwendung der AWS CLI, der Amazon Redshift-API oder von SDKs aktivieren. Wenn Sie die Konsole verwenden, stellt Amazon Redshift einen geeigneten Workflow bereit, über den die Berechtigung zu dem Zeitpunkt konfiguriert wird, wenn Sie das regionenübergreifende Kopieren von Snapshots aktivieren. Weitere Informationen zum Konfigurieren von regionenübergreifenden Snapshot-Kopien für AWS KMS-verschlüsselte Cluster unter Verwendung der Konsole finden Sie unter Konfigurieren von regionenübergreifende Snapshot-Kopien für AWS KMS-verschlüsselte Cluster.

Vor dem Kopieren des Snapshots zur AWS-Zielregion entschlüsselt Amazon Redshift den Snapshot in der AWS-Quellregion mittels ihres Masterschlüssels und verschlüsselt ihn vorübergehend erneut mittels eines nach dem Zufallsprinzip generierten RSA-Schlüssels, den Amazon Redshift intern verwaltet. Amazon Redshift kopiert den Snapshot anschließend über einen sicheren Kanal zur AWS-Zielregion, entschlüsselt den Snapshot mittels des intern verwalteten RSA-Schlüssels und verschlüsselt den Snapshot anschließend erneut mittels des Masterschlüssels in der AWS-Zielregion.

Weitere Informationen zum Konfigurieren von Kopiergenehmigungen für Snapshots für AWS KMS-verschlüsselte Cluster finden Sie unter Konfigurieren von Amazon Redshift zur Verwendung von AWS KMS-Verschlüsselungsschlüsseln mit der Amazon Redshift-API und -AWS CLI.

Verschlüsselung für Amazon Redshift mit Hardwaresicherheitsmodulen

Wenn Sie AWS KMS nicht zur Schlüsselverwaltung verwenden, können Sie zur Schlüsselverwaltung mit Amazon Redshift ein Hardwaresicherheitsmodul (HSM) verwenden.

Wichtig

Die HSM-Verschlüsselung wird für DC2-Knotentypen nicht unterstützt.

HSMs sind Geräte zur direkten Steuerung der Erzeugung und Verwaltung von Schlüsseln. Sie bieten eine höhere Sicherheit, da die Schlüsselverwaltung getrennt von der Anwendungs- und der Datenbankebene erfolgt. Amazon Redshift unterstützt AWS CloudHSM Classic für die Schlüsselverwaltung. Wenn Sie zur Verwaltung Ihrer Verschlüsselungsschlüssel anstelle von AWS KMS HSMs verwenden, ändert sich der Verschlüsselungsprozess.

Wichtig

Amazon Redshift unterstützt nur AWS CloudHSM Classic. Wir bieten keinen Support für den neuen AWS CloudHSM-Service. AWS CloudHSM Classic ist nicht in allen AWS-Regionen verfügbar. Weitere Informationen zu verfügbaren AWS-Regionen finden Sie in der AWS-Regionstabelle.

Wenn Sie Ihren Cluster so konfigurieren, dass ein HSM verwendet wird, sendet Amazon Redshift an das HSM eine Anfrage, einen Schlüssel als CEK zu generieren und zu speichern. Anders als AWS KMS exportiert das HSM den CEK jedoch nicht zu Amazon Redshift. Stattdessen generiert Amazon Redshift den DEK nach dem Zufallsprinzip in dem Cluster und übergibt ihn an das HSM, um ihn mit dem CEK zu verschlüsseln. Das HSM gibt den verschlüsselten DEK an Amazon Redshift zurück. Hier wird er mittels eines nach dem Zufallsprinzip generierten internen Masterschlüssels weiter verschlüsselt und intern auf einem Datenträger in einem vom Cluster getrennten Netzwerk gespeichert. Amazon Redshift lädt die entschlüsselte Version des DEK auch in den Arbeitsspeicher im Cluster, sodass der DEK zur Verschlüsselung und Entschlüsselung der einzelnen Schlüssel für die Datenblöcke verwendet werden kann.

Wenn der Cluster neu gestartet wird, entschlüsselt Amazon Redshift den intern gespeicherten, doppelt verschlüsselten DEK mit dem internen Hauptschlüssel, und versetzt dann den intern gespeicherten DEK wieder in einen CEK-verschlüsselten Zustand zurück. Anschließend wird der CEK-verschlüsselte DEK an das HSM übergeben, wo er entschlüsselt und an Amazon Redshift zurückgegeben wird. Dort wird er wieder in den Arbeitsspeicher geladen und kann für die einzelnen Datenblockschlüssel verwendet werden.

Konfigurieren einer vertrauenswürdigen Verbindung zwischen Amazon Redshift und einem HSM

Wenn Sie sich für die Verwaltung Ihres Clusterschlüssels für ein HSM entscheiden, müssen Sie eine vertrauenswürdige Netzwerkverbindung zwischen Amazon Redshift und Ihrem HSM herstellen. Hierzu müssen Client- und Serverzertifikate konfiguriert werden. Über die vertrauenswürdige Verbindung werden bei Verschlüsselungs- und Entschlüsselungsoperationen die Verschlüsselungsschlüssel zwischen dem HSM und Amazon Redshift übergeben.

Amazon Redshift erstellt anhand eines nach dem Zufallsprinzip erzeugten privaten und öffentlichen Schlüsselpaars ein öffentliches Clientzertifikat. Dieses Schlüsselpaar wird verschlüsselt und intern gespeichert. Sie laden das öffentliche Clientzertifikat in Ihr HSM herunter, registrieren es in dem HSM und weisen es der betreffenden HSM-Partition zu.

Sie können Amazon Redshift die IP-Adresse des HSM, den Namen der HSM-Partition, das Passwort der HSM-Partition und ein öffentliches, mittels des internen Masterschlüssels verschlüsseltes HSM-Serverzertifikat bereitstellen. Amazon Redshift schließt den Konfigurationsvorgang ab und überprüft, ob es eine Verbindung mit dem HSM herstellen kann. Falls diese Verbindung nicht hergestellt werden kann, wechselt der Cluster in den Zustand INCOMPATIBLE_HSM und wird nicht erstellt. Wenn dies der Fall ist, müssen Sie den unvollständigen Cluster löschen und den Vorgang wiederholen.

Wichtig

Wenn Sie Ihren Cluster so ändern, dass eine andere HSM-Partition verwendet wird, überprüft Amazon Redshift, ob eine Verbindung zu dieser anderen Partition hergestellt werden kann, es überprüft jedoch nicht, ob ein gültiger Verschlüsselungsschlüssel vorhanden ist. Um diese andere Partition verwenden zu können, müssen Sie Ihre Schlüssel in die neue Partition replizieren. Wenn der Cluster neu gestartet wird, und Amazon Redshift kann keinen gültigen Schlüssel findet, schlägt der Neustart fehl. Weitere Informationen finden Sie unter Replizieren von Schlüsseln über mehrere HSMs.

Weitere Informationen zum Konfigurieren von Amazon Redshift zur Verwendung eines HSM finden Sie unter Konfigurieren von Amazon Redshift zur Verwendung eines HSM mit der Amazon Redshift console und Konfigurieren von Amazon Redshift zur Verwendung eines HSM mit der Amazon Redshift-API und -AWS CLI.

Wenn Amazon Redshift nach der initialen Konfigurierung keine Verbindung zu dem HSM herstellen kann, wird ein Ereignis protokolliert. Weitere Informationen zu diesen Ereignissen finden Sie unter Amazon Redshift-Ereignisbenachrichtigungen.

Schlüsselrotation in Amazon Redshift

Sie können in Amazon Redshift Verschlüsselungsschlüssel für verschlüsselte Cluster rotieren. Wenn Sie die Schlüsselrotation starten, rotiert Amazon Redshift den CEK für das angegebene Cluster und alle automatisierten oder manuellen Snapshots des Clusters. Amazon Redshift rotiert auch den DEK für das angegebene Cluster, kann jedoch den DEK für die Snapshots nicht rotieren, während sie intern in Amazon Simple Storage Service (Amazon S3) gespeichert und mittels des vorhandenen DEK verschlüsselt sind.

Während des Rotationsvorgangs wird das Cluster auf den Zustand ROTATING_KEYS festgelegt. Nach Abschluss des Vorgangs wird das Cluster wieder auf den Zustand AVAILABLE festgelegt. Amazon Redshift verarbeitet die Ent- und Verschlüsselung während der Schlüsselrotation.

Anmerkung

Bei Snapshots ohne Quellcluster können die Schlüssel nicht rotiert werden. Wenn Sie einen Cluster löschen möchten, überlegen Sie zuerst, ob für die zugehörigen Snapshots die Schlüssel rotiert werden müssen.

Da der Cluster während des Rotierens der Schlüssel kurzweilig nicht verfügbar ist, sollten Sie die Schlüssel nur so oft rotieren, wie es die Anforderungen an Ihre Daten erforderlich machen, oder wenn Sie den Verdacht haben, dass die Schlüssel möglicherweise kompromittiert wurden. es hat sich als Methode bewährt, zu überprüfen, welche Arten von Daten gespeichert werden, und zu planen, wie häufig die Schlüssel zur Verschlüsselung dieser Daten rotiert werden sollen. Die Häufigkeit von Schlüsselrotationen richtet sich nach Ihren Unternehmensrichtlinien zur Datensicherheit, nach den Industriestandards für sensible Daten sowie nach der erforderlichen Konformität gegenüber geltenden Vorschriften. Stellen Sie sicher, dass in Ihrem Plan ein sorgfältig abgewogen wird zwischen Sicherheitsanforderungen einerseits und Aspekten der Verfügbarkeit Ihres Clusters andererseits.

Weitere Informationen zum Rotieren der Schlüssel finden Sie unter Rotieren der Verschlüsselungsschlüssel mit der Amazon Redshift console und Rotieren der Verschlüsselungsschlüssel mittels der Amazon Redshift-API und -AWS CLI.