Verschlüsseln von Amazon RDS-Ressourcen - Amazon Relational Database Service

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.

Verschlüsseln von Amazon RDS-Ressourcen

Amazon RDS kann Ihre Amazon RDS-DB-Instances verschlüsseln. Daten, die im Ruhezustand verschlüsselt werden, umfassen den zugehörigen Speicherplatz von DB-Instances sowie deren automatisierte Backups, Lesereplikate und Snapshots.

Amazon RDS-verschlüsselte DB-Instances verwenden den standardmäßig in der Branche verwendeten AES-256-Verschlüsselungsalgorithmus, um Ihre Daten auf dem Server zu verschlüsseln, der Ihre Amazon RDS-DB-Instances hostet. Sobald Sie die Daten verschlüsselt haben, übernimmt Amazon RDS die Authentifizierung des Zugriffs und die Entschlüsselung Ihrer Daten auf transparente Art und Weise und mit minimaler Auswirkung auf die Leistung. Sie müssen Ihre Datenbank-Client-Anwendungen nicht ändern, um Verschlüsselung anzuwenden.

Anmerkung

Bei verschlüsselten und unverschlüsselten DB-Instances- werden Daten zwischen der Quelle und den Lesereplikaten verschlüsselt, auch wenn die Replikation AWS-regionsübergreifend erfolgt.

Übersicht über die Verschlüsselung von Amazon-RDS-Ressourcen

Amazon-RDS-verschlüsselte DB-Instances bieten zusätzlichen Datenschutz, indem Sie Ihre Daten vor unautorisiertem Zugriff auf den zugehörigen Speicherplatz sichern. Sie können die Amazon-RDS-Verschlüsselung verwenden, um den Datenschutz für Ihre in der Cloud bereitgestellten Anwendungen zu erhöhen und die Compliance-Anforderungen bei der Verschlüsselung von Daten im Ruhezustand zu erfüllen. Für eine Amazon-RDS-verschlüsselte DB-Instance werden alle Protokolle, Backups und Snapshots verschlüsselt. Weitere Informationen zur Verfügbarkeit und zu den Einschränkungen der Verschlüsselung finden Sie unter Verfügbarkeit der Amazon RDS-Verschlüsselung und Einschränkungen von Amazon RDS-verschlüsselten DB-Instances.

Amazon RDS verwendet einen AWS Key Management Service-Schlüssel für die Verschlüsselung dieser Ressourcen. AWS KMS kombiniert sichere, hoch verfügbare Hard- und Software, um ein System für die Schlüsselverwaltung bereitzustellen, das für die Cloud skaliert ist. Sie können eine Von AWS verwalteter Schlüssel verwenden, oder Sie können kundenverwaltete Schlüssel erstellen.

Wenn Sie eine verschlüsselte DB-Instance erstellen, können Sie einen vom Kunden verwalteten Schlüssel oder den Von AWS verwalteter Schlüssel für Amazon RDS wählen, um Ihre DB-Instance zu verschlüsseln. Wenn Sie den Schlüsselbezeichner für einen vom Kunden verwalteten Schlüssel nicht angeben, verwendet Amazon RDS die Von AWS verwalteter Schlüssel für Ihre neue DB-Instance. Amazon RDS erstellt eine Von AWS verwalteter Schlüssel für Amazon RDS für Ihr AWS Konto. Ihr AWS Konto hat eine andere Von AWS verwalteter Schlüssel für Amazon RDS für jede AWS Region.

Zur Verwaltung der kundenseitig verwalteten Schlüssel, die zum Ver- und Entschlüsseln Ihrer Amazon-RDS-Ressourcen dienen, verwenden Sie die AWS Key Management Service (AWS KMS).

Mit AWS KMS können Sie kundenseitig verwaltete Schlüssel erstellen und die Richtlinien definieren, die die Verwendung dieser kundenseitig verwalteten Schlüssel steuern. AWS KMS unterstützt CloudTrail, sodass Sie die Verwendung von KMS-Schlüsseln überprüfen können, um sicherzustellen, dass die kundenseitig verwalteten Schlüssel ordnungsgemäß verwendet werden. Sie können Ihre vom Kunden verwalteten Schlüssel mit Amazon Aurora und unterstützten AWS Services wie Amazon S3, Amazon EBS und Amazon Redshift verwenden. Eine Liste der Services, die in AWS KMS integriert sind, finden Sie unter AWS-Service-Integration. Einige Überlegungen zur Verwendung von KMS-Schlüsseln:

  • Sobald Sie eine verschlüsselte DB-Instance erstellt haben, können Sie den von dieser DB-Instance verwendeten KMS-Schlüssel nicht mehr ändern. Stellen Sie daher sicher, dass Sie Ihre KMS-Schlüsselanforderungen bestimmen, bevor Sie Ihre verschlüsselte DB-Instance erstellen.

    Wenn Sie den Verschlüsselungsschlüssel für Ihre DB-Instance ändern müssen, erstellen Sie einen manuellen Snapshot Ihrer Instance und aktivieren Sie die Verschlüsselung beim Kopieren des Snapshots. Weitere Informationen finden Sie im re:Post-Knowledge-Artikel.

  • Wenn Sie einen verschlüsselten Snapshot kopieren, können Sie zum Verschlüsseln des Ziel-Snapshots einen anderen KMS-Schlüssel verwenden als den, der zum Verschlüsseln des Quell-Snapshots verwendet wurde.

  • Ein Lese-Replikat einer verschlüsselten Amazon-RDS-Instance muss mit demselben KMS-Schlüssel verschlüsselt werden wie die primäre DB-Instance, wenn sich beide in derselben AWS Region befinden.

  • Wenn sich die primäre DB-Instance und die Lesereplikat in unterschiedlichen AWS Regionen befinden, verschlüsseln Sie das Lesereplikat mit dem KMS-Schlüssel für diese AWS Region.

  • Sie können einen Snapshot der verschlüsselt wurde, nicht mit dem Von AWS verwalteter Schlüssel der AWS Konten freigeben, die den Schnappschuss freigegeben haben.

  • Amazon RDS unterstützt auch die Verschlüsselung einer Oracle- oder SQL Server-DB-Instance mit Transparent Data Encryption (TDE). TDE kann mit RDS-Verschlüsselung im Ruhezustand verwendet werden, jedoch kann sich die gleichzeitige Verwendung von TDE und RDS-Verschlüsselung im Ruhezustand geringfügig auf die Leistung Ihrer Datenbank auswirken. Sie müssen verschiedene Schlüssel für jede Verschlüsselungsmethode verwalten. Weitere Informationen zu TDE finden Sie unter Oracle Transparent Data Encryption oder Unterstützung für transparente Datenverschlüsselung in SQL Server.

Wichtig

Amazon RDS verliert den Zugriff auf den KMS-Schlüssel für eine DB-Instance, wenn Sie den KMS-Schlüssel deaktivieren. Wenn Sie den Zugriff auf einen KMS-Schlüssel verlieren, wechselt die verschlüsselte DB-Instance 2 Stunden nach der Erkennung in den Status inaccessible-encryption-credentials-recoverable, sofern Sicherungen aktiviert sind. Die DB-Instance behält diesen Status sieben Tage lang bei und wird währenddessen angehalten. API-Aufrufe, die während dieser Zeit an die DB-Instance getätigt wurden, sind möglicherweise nicht erfolgreich. Um die DB-Instance wiederherzustellen, aktivieren Sie den KMS-Schlüssel und starten Sie diese DB-Instance neu. Aktivieren Sie den KMS-Schlüssel über die AWS-Managementkonsole, AWS CLI oder RDS-API. Starten Sie die DB-Instance mit dem AWS CLI-Befehl start-db-instance oder AWS-Managementkonsole neu.

Der Status inaccessible-encryption-credentials-recoverable gilt nur für DB-Instances, die gestoppt werden können. Dieser wiederherstellbare Status gilt nicht für Instances, die nicht gestoppt werden können, wie Lesereplikate und Instances mit Lesereplikaten. Weitere Informationen finden Sie unter Einschränkungen beim Stoppen Ihrer DB-Instance.

Wenn die DB-Instance nicht innerhalb von sieben Tagen wiederhergestellt wird, wechselt sie in den Terminalstatus inaccessible-encryption-credentials. In diesem Status ist die DB-Instance nicht mehr nutzbar und kann nur über eine Sicherung wiederhergestellt werden. Wir empfehlen nachdrücklich, dass Sie zu jeder Zeit Backups für verschlüsselte DB-Instances aktivieren, um sich gegen den Datenverlust von verschlüsselten Daten in Ihren Datenbanken abzusichern.

Bei der Erstellung einer DB-Instance überprüft Amazon RDS, ob der aufrufende Prinzipal Zugriff auf den KMS-Schlüssel hat, und generiert aus dem KMS-Schlüssel eine Berechtigung, die für die gesamte Lebensdauer der DB-Instance verwendet wird. Das Widerrufen des Zugriffs des aufrufenden Prinzipals auf den KMS-Schlüssel hat keine Auswirkungen auf eine laufende Datenbank. Wenn KMS-Schlüssel in kontoübergreifenden Szenarien verwendet werden, z. B. beim Kopieren eines Snapshots in ein anderes Konto, muss der KMS-Schlüssel für das andere Konto freigegeben werden. Wenn Sie aus dem Snapshot eine DB-Instance erstellen, ohne einen anderen KMS-Schlüssel anzugeben, verwendet die neue Instance den KMS-Schlüssel aus dem Quellkonto. Das Widerrufen des Zugriffs auf den Schlüssel nach dem Erstellen der DB-Instance hat keine Auswirkungen auf die Instance. Die Deaktivierung des Schlüssels wirkt sich jedoch auf alle DB-Instances aus, die mit diesem Schlüssel verschlüsselt wurden. Um dies zu verhindern, geben Sie während des Snapshot-Kopiervorgangs einen anderen Schlüssel an.

DB-Instances mit deaktivierten Sicherungen bleiben verfügbar, bis die Volumes während einer Instance-Änderung oder -Wiederherstellung vom Host getrennt werden. RDS versetzt die Instances je nach Bedarf in den Status inaccessible-encryption-credentials-recoverable oder inaccessible-encryption-credentials.

Weitere Informationen über KMS-Schlüssel finden Sie unter AWS KMS keys im Entwicklerhandbuch zu AWS Key Management Service und in AWS KMS key-Verwaltung.

Verschlüsseln einer DB-Instance

Wählen Sie Enable encryption (Verschlüsselung aktivieren) in der Amazon-RDS-Konsole aus, um eine neue DB-Instance zu verschlüsseln. Hinweise zum Erstellen einer DB-Instance finden Sie unter Erstellen einer Amazon-RDS-DB-Instance.

Wenn Sie den AWS CLI-Befehl create-db-instance verwenden, um eine verschlüsselte DB-Instance zu erstellen, legen Sie den Parameter --storage-encrypted fest. Wenn Sie die API-Operation CreateDBInstance verwenden, legen Sie den Parameter StorageEncrypted auf „true“ fest.

Wenn Sie den Befehl AWS CLI create-db-instance verwenden, um eine verschlüsselte DB-Instance mit einem vom Kunden verwalteten Schlüssel zu erstellen, setzen Sie den Parameter --kms-key-id auf einen beliebigen Schlüsselbezeichner für den KMS-Schlüssel. Wenn Sie den Vorgang Amazon RDS API CreateDBInstance verwenden, setzen Sie den Parameter KmsKeyId auf einen beliebigen Schlüsselbezeichner für den KMS-Schlüssel. Um einen vom Kunden verwalteten Schlüssel in einem anderen AWS-Konto zu verwenden, geben Sie die Schlüssel-ARN oder Alias-ARN an.

Bestimmen, ob die Verschlüsselung für eine DB-Instance aktiviert ist

Sie können die AWS-Managementkonsole-, AWS CLI- oder RDS-API verwenden, um zu bestimmen, ob die Verschlüsselung im Ruhezustand für eine DB-Instance aktiviert ist.

So ermitteln Sie, ob die Verschlüsselung im Ruhezustand für eine DB-Instance aktiviert ist
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

  3. Wählen Sie den Namen der DB-Instance aus, die Sie überprüfen möchten, um die Details anzuzeigen.

  4. Wählen Sie die Registerkarte Konfiguration aus und überprüfen Sie den Wert für die Verschlüsselung unter Speicher.

    Es zeigt entweder Aktiviert oder Nicht aktiviert.

    Überprüfen der -Verschlüsselung für eine DB-Instance

Um zu ermitteln, ob die Verschlüsselung im Ruhezustand für eine DB-Instance mithilfe von AWS CLI aktiviert ist, rufen Sie den Befehl describe-db-instances mit der folgenden Option auf:

  • --db-instance-identifier – der Name der DB-Instance

Im folgenden Beispiel wird eine Abfrage verwendet, um entweder TRUE oder FALSE bezüglich der Verschlüsselung im Ruhezustand für die mydb DB-Instance zurückzugeben.

Beispiel
aws rds describe-db-instances --db-instance-identifier mydb --query "*[].{StorageEncrypted:StorageEncrypted}" --output text

Um zu ermitteln, ob die Verschlüsselung im Ruhezustand für eine DB-Instance mithilfe der Amazon-RDS-API aktiviert ist, rufen Sie die Operation DescribeDBInstances mit dem folgenden Parameter auf:

  • DBInstanceIdentifier – der Name der DB-Instance.

Verfügbarkeit der Amazon RDS-Verschlüsselung

Die Amazon RDS-Verschlüsselung ist aktuell für alle Datenbank-Engines und Speichertypen verfügbar.

Amazon-RDS-Verschlüsselung ist für die meisten DB-Instance-Klassen verfügbar. In der folgenden Tabelle sind die DB-Instance-Klassen aufgeführt, die Amazon-RDS-Verschlüsselung nicht unterstützen:

Instance-Typ Instance class

Allzweck (M1)

db.m1.small

db.m1.medium

db.m1.large

db.m1.xlarge

Arbeitsspeicheroptimiert (M2)

db.m2.xlarge

db.m2.2xlarge

db.m2.4xlarge

Burstable (T2)

db.t2.micro

Verschlüsselung während der Übertragung

Verschlüsselung auf physischer Ebene

Alle Daten, die über AWS-Regionen über das globale AWS-Netzwerk übertragen werden, werden automatisch auf der physischen Ebene verschlüsselt, bevor sie gesicherte AWS-Einrichtungen verlassen. Der gesamte Datenverkehr zwischen AZs ist verschlüsselt. Zusätzliche Verschlüsselungsebenen, einschließlich der in diesem Abschnitt aufgeführten, bieten möglicherweise zusätzlichen Schutz.

Verschlüsselung bereitgestellt durch Amazon-VPC-Peering und regionsübergreifendem Peering in Transit Gateway

Der gesamte regionsübergreifende Datenverkehr, der Amazon-VPC- und Transit-Gateway-Peering verwendet, wird automatisch massenverschlüsselt, wenn er eine Region verlässt. Auf der physischen Ebene wird automatisch eine zusätzliche Verschlüsselungsebene für den gesamten Datenverkehr bereitgestellt, bevor er AWS gesicherte Einrichtungen verlässt.

Verschlüsselung zwischen den Instances

AWS bietet sichere und private Konnektivität zwischen DB-Instances aller Typen. Darüber hinaus verwenden einige Instance-Typen die Offload-Funktionen der zugrunde liegenden Nitro-System-Hardware, um den Datenverkehr während der Übertragung zwischen Instances automatisch zu verschlüsseln. Diese Verschlüsselung verwendet AEAD-Algorithmen (Authenticated Encryption with Associated Data) mit 256-Bit-Verschlüsselung. Es gibt keine Auswirkungen auf die Netzwerkleistung. Um diese zusätzliche Verschlüsselung des Datenverkehrs während der Übertragung zwischen Instances zu unterstützen, müssen die folgenden Anforderungen erfüllt sein:

  • Die Instances verwenden die folgenden Instance-Typen:

    • Allgemeiner Zweck: M6i, M6id, M6in, M6idn, M7g

    • Speicheroptimiert: R6i, R6id, R6in, R6idn, R7g, X2idn, X2iedn, X2iezn

  • Die Instances befinden sich in derselben AWS-Region.

  • Die Instances befinden sich in derselben VPC oder in per Peering verbundenen VPCs und der Datenverkehr wird nicht durch ein virtuelles Netzwerkgerät, z. B. einen Load Balancer oder ein Transit Gateway, geleitet.

Einschränkungen von Amazon RDS-verschlüsselten DB-Instances

Folgende Einschränkungen bestehen für Amazon RDS-verschlüsselte DB-Instances:

  • Sie können eine Amazon-RDS-DB-Instance nur beim Erstellen verschlüsseln, nicht nachdem die DB-Instance bereits erstellt ist.

    Da es jedoch möglich ist, die Kopie eines unverschlüsselten Snapshots zu verschlüsseln, können Sie quasi eine Verschlüsselung zu einer unverschlüsselten DB-Instance hinzufügen. Dies lässt sich durchführen, indem Sie einen Snapshot von Ihrer DB-Instance erstellen und dann eine verschlüsselte Kopie dieses Snapshots erstellen. Anschließend können Sie Ihre DB-Instance aus dem verschlüsselten Snapshot wiederherstellen und verfügen so über eine verschlüsselte Kopie Ihrer ursprünglichen DB-Instance. Weitere Informationen finden Sie unter Kopieren eines DB-Snapshots für Amazon RDS.

  • Sie können die Verschlüsselung für eine verschlüsselte DB-Instance nicht deaktivieren.

  • Sie können keinen verschlüsselten Snapshot einer/eines unverschlüsselten DB-Instance erstellen.

  • Ein Snapshot eines verschlüsselten DB-Instance muss mit demselben KMS-Schlüssel verschlüsselt werden wie der DB-Instance.

  • Es ist nicht möglich, ein verschlüsseltes Lesereplikat einer unverschlüsselten DB-Instance oder ein unverschlüsseltes Lesereplikat einer verschlüsselten DB-Instance zu erstellen.

  • Verschlüsselte Lesereplikate müssen mit demselben KMS-Schlüssel verschlüsselt werden wie die Quell-DB-Instance, wenn sich beide in derselben AWS Region befinden.

  • Sie können ein unverschlüsseltes Backup oder einen solchen Snapshot nicht als verschlüsselte DB-Instance wiederherstellen.

  • Um einen verschlüsselten Snapshot von einer AWS Region in eine andere zu kopieren, müssen Sie den KMS-Schlüssel in der Zielregion AWS angeben. Dies liegt daran, dass KMS-Schlüssel spezifisch für die AWS Region sind, in der sie erstellt werden.

    Der Quell-Snapshot bleibt den gesamten Kopiervorgang über verschlüsselt. Amazon RDS verwendet Envelope-Verschlüsselung, um Daten während des Kopiervorgangs zu schützen. Weitere Informationen zur Envelope-Verschlüsselung finden Sie unter Envelope-Verschlüsselung im AWS Key Management Service-Entwicklerhandbuch.

  • Sie können eine(n) verschlüsselte(n) DB-Instance nicht entschlüsseln. Sie können jedoch Daten aus einer/einem verschlüsselten DB-Instance exportieren und die Daten in eine(n) unverschlüsselte(n) DB-Instance importieren.