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 werden Daten, die zwischen der Quelle und den Read Replicas übertragen werden, verschlüsselt, auch wenn sie regionsübergreifend repliziert werden. AWS

Ü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. Amazon RDS verwendet einen AWS Key Management Service Schlüssel, um diese Ressourcen zu verschlüsseln. 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. 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.

Eine Read Replica einer Amazon RDS-verschlüsselten Instance muss mit demselben KMS-Schlüssel wie die primäre DB-Instance verschlüsselt werden, wenn sich beide in derselben AWS Region befinden. Wenn sich die primäre DB-Instance und die Read Replica in unterschiedlichen AWS Regionen befinden, verschlüsseln Sie die Read Replica mit dem KMS-Schlüssel für diese Region. AWS

Sie können einen verwenden oder Von AWS verwalteter Schlüssel vom Kunden verwaltete Schlüssel erstellen. Zur Verwaltung der vom Kunden verwalteten Schlüssel, die zum Ver- und Entschlüsseln Ihrer Amazon RDS-Ressourcen verwendet werden, verwenden Sie die AWS Key Management Service (AWS KMS). AWS KMS kombiniert sichere, hochverfügbare Hardware und Software, um ein für die Cloud skaliertes Schlüsselverwaltungssystem bereitzustellen. Mit AWS KMS dieser können Sie vom Kunden verwaltete Schlüssel erstellen und die Richtlinien definieren, die steuern, wie diese vom Kunden verwalteten Schlüssel verwendet werden können. AWS KMS unterstützt CloudTrail, sodass Sie die Verwendung von KMS-Schlüsseln überprüfen können, um sicherzustellen, dass vom Kunden verwaltete Schlüssel ordnungsgemäß verwendet werden. Sie können Ihre vom Kunden verwalteten Schlüssel mit Amazon Aurora und unterstützten AWS Diensten wie Amazon S3, Amazon EBS und Amazon Redshift verwenden. Eine Liste der Dienste, die integriert sind, finden Sie unter AWS KMSAWS Serviceintegration.

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.

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 fest. --storage-encrypted Wenn Sie die API-Operation CreateDBInstance verwenden, legen Sie den Parameter StorageEncrypted auf „true“ fest.

Wenn Sie eine verschlüsselte DB-Instanz 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-Instanz zu verschlüsseln. Wenn Sie die Schlüssel-ID 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 Von AWS verwalteter Schlüssel für Amazon RDS für jede AWS Region ein anderes.

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

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

Wenn Sie den AWS CLI create-db-instance Befehl verwenden, um eine verschlüsselte DB-Instance mit einem vom Kunden verwalteten Schlüssel zu erstellen, setzen Sie den --kms-key-id Parameter auf eine beliebige Schlüssel-ID 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.

Wichtig

Amazon RDS kann den Zugriff auf den KMS-Schlüssel für eine DB-Instance verlieren, wenn Sie den KMS-Schlüssel deaktivieren. In diesen Fällen geht die verschlüsselte DB-Instance in Kürze in den inaccessible-encryption-credentials-recoverable Status über. Die DB-Instance verbleibt sieben Tage in diesem Zustand. Während dieser Zeit wird die Instance gestoppt. 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 aus dem AWS Management Console. Starten Sie die DB-Instance mit dem AWS CLI Befehl start-db-instance oder neu. AWS Management Console

Wenn die DB-Instance nicht innerhalb von sieben Tagen wiederhergestellt wird, wechselt sie in den Terminalstatus. inaccessible-encryption-credentials In diesem Zustand ist die DB-Instance nicht mehr nutzbar und Sie können die DB-Instance nur aus einem Backup wiederherstellen. 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.

Während der Erstellung einer DB-Instance prüft Amazon RDS, ob der aufrufende Principal Zugriff auf den KMS-Schlüssel hat, und generiert aus dem KMS-Schlüssel einen Grant, den es für die gesamte Lebensdauer der DB-Instance verwendet. 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 mit dem anderen Konto geteilt 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. Wenn Sie den Zugriff auf den Schlüssel widerrufen, nachdem Sie die DB-Instance erstellt haben, hat dies 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.

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

Sie können die AWS Management Console, oder RDS-API verwenden AWS CLI, um festzustellen, 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 Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich 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

Rufen Sie den Befehl describe-db-instances mit der folgenden Option auf, um festzustellen AWS CLI, ob die Verschlüsselung im Ruhezustand für eine DB-Instance aktiviert ist:

  • --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 Verschlüsselung von Amazon RDS ist aktuell für alle Datenbank-Engines und Speichertypen verfügbar, mit Ausnahme der SQL Server Express Edition.

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

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 Instanzen AWS-Region befinden sich in derselben.

  • 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.

  • 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 Read Replicas müssen mit demselben KMS-Schlüssel wie die Quell-DB-Instance verschlüsselt werden, 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 AWS Zielregion angeben. Dies liegt daran, dass KMS-Schlüssel für die AWS Region spezifisch sind, in der sie erstellt wurden.

    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.