Verschlüsselung im Ruhezustand mit DynamoDB: Funktionsweise
Die Amazon-DynamoDB-Verschlüsselung verschlüsselt Ihre Daten mit 256-bit-Advanced-Encryption-Standard (AES-256), um Ihre Daten vor unautorisiertem Zugriff auf den zugrunde liegenden Speicher zu schützen.
Die Verschlüsselung im Ruhezustand ist für die Verwaltung der Verschlüsselungsschlüssel, mit denen Ihre Tabellen verschlüsselt werden, in AWS Key Management Service (AWS KMS) integriert.
Anmerkung
Im Mai 2022 hat AWS KMS den Rotationszeitplan für Von AWS verwaltete Schlüssel von alle drei Jahre (ungefähr 1 095 Tage) auf jedes Jahr (ungefähr 365 Tage) geändert.
Neue Von AWS verwaltete Schlüssel werden automatisch ein Jahr nach ihrer Erstellung und etwa jedes Jahr danach rotiert.
Vorhandene Von AWS verwaltete Schlüssel werden automatisch ein Jahr nach ihrer letzten Rotation und danach jedes Jahr rotiert.
AWS-eigene Schlüssel
AWS-eigene Schlüssel werden nicht in Ihrem AWS-Konto gespeichert. Sie sind Teil einer Sammlung von KMS-Schlüsseln, die AWS besitzt und für die Verwendung in mehreren AWS-Konten verwaltet. AWS-Services können AWS-eigene Schlüssel zum Schutz Ihrer Daten einsetzen. Von DynamoDB verwendete AWS-eigene Schlüssel weden jedes Jahr (ungefähr alle 365 Tage) rotiert.
Sie können AWS-eigene Schlüssel nicht anzeigen, verwalten oder verwenden und auch nicht ihre Nutzung prüfen. Sie müssen jedoch keine Maßnahmen ergreifen oder Programme zum Schutz der Schlüssel ändern, die zur Verschlüsselung Ihrer Daten verwendet werden.
Es fällt keine monatliche Gebühr und auch keine Nutzungsgebühr für die Verwendung von AWS-eigene Schlüssel an. Sie werden auch nicht auf die AWS KMS-Limits für Ihr Konto angerechnet.
Von AWS verwaltete Schlüssel
Von AWS verwaltete Schlüssel sind KMS-Schlüssel in Ihrem Konto, die in Ihrem Namen von einem AWS Dienst erstellt, verwaltet und verwendet werden, der mit AWS KMS. Sie können die Von AWS verwaltete Schlüssel in Ihrem Konto anzeigen, ihre Schlüsselrichtlinien abrufen und ihre Verwendung in AWS CloudTrail-Protokollen prüfen. Sie haben jedoch nicht die Möglichkeit, diese KMS-Schlüssel zu verwalten oder ihre Berechtigungen zu ändern.
Die Verschlüsselung im Ruhezustand ist für die Verwaltung der Von AWS verwaltete Schlüssel für DynamoDB (aws/dynamodb), die für die Verschlüsselung Ihrer Tabellen verwendet werden, automatisch in AWS KMS integriert. Wenn beim Erstellen der verschlüsselten DynamoDB-Tabelle kein Von AWS verwalteter Schlüssel vorhanden ist, wird AWS KMS automatisch einen neuen Schlüssel für Sie erstellen Dieser Schlüssel wird mit verschlüsselten Tabellen verwendet, die in Zukunft erstellt werden. AWS KMS kombiniert sichere, hochverfügbarer Hard- und Software, um ein schlüsselverfügbares System bereitzustellen, das für die Cloud skaliert werden kann.
Weitere Informationen zum Verwalten von Berechtigungen für Von AWS verwalteter Schlüssel finden Sie unter Autorisieren der Nutzung des Von AWS verwalteter Schlüssel im AWS Key Management Service-Entwicklerhandbuch.
Kundenverwaltete Schlüssel
Kundenverwaltete Schlüssel sind KMS-Schlüssel in Ihrem AWS, die Sie erstellen, besitzen und verwalten. Sie haben die volle Kontrolle über diese KMS-Schlüssel, einschließlich der Festlegung und Pflege ihrer wichtigsten Richtlinien, IAM-Richtlinien und Unterstützungen. Aktivieren und Deaktivieren; Drehen ihres kryptographischen Materials; Hinzufügen von Tags; Erstellen von Aliasen, die auf sie verweisen; und sie zum Löschen planen. Weitere Informationen zum Verwalten von Berechtigungen eines kundenseitig verwalteten Schlüssels finden Sie unter Kundenseitig verwaltete Schlüssel.
Wenn Sie einen kundenverwalteten Schlüssel als Verschlüsselungsschlüssel auf Tabellenebene angeben, werden die DynamoDB-Tabelle, die lokalen und globalen sekundären Indizes und Streams mit demselben kundenverwalteten Schlüssel verschlüsselt. Bei Bedarf werden Backups mit dem Verschlüsselungsschlüssel auf Tabellenebene verschlüsselt, der zum Zeitpunkt der Erstellung der Backup angegeben wird. Beim Aktualisieren des Verschlüsselungsschlüssels auf Tabellenebene wird der Verschlüsselungsschlüssel nicht geändert, der vorhandenen On-Demand-Backups zugeordnet ist.
Durch Festlegen des Status des kundenverwalteten Schlüssels auf Deaktivierung oder Planung für das Löschen wird verhindert, dass alle Benutzer und der DynamoDB-Service Daten verschlüsseln oder entschlüsseln und Lese- und Schreibvorgänge für die Tabelle ausführen können. DynamoDB muss Zugriff auf Ihren Verschlüsselungsschlüssel haben, um sicherzustellen, dass Sie weiterhin auf Ihre Tabelle zugreifen können und Datenverluste zu verhindern.
Wenn Sie den kundenverwalteten Schlüssel deaktivieren oder planen ihn zu Löschen, wird Ihr Tabellenstatus Unzugänglich. Um sicherzustellen, dass Sie die Arbeit mit der Tabelle fortsetzen können, müssen Sie DynamoDB Zugriff auf den angegebenen Verschlüsselungsschlüssel innerhalb von sieben Tagen gewähren. Sobald der Dienst erkennt, dass der Zugriff auf den Verschlüsselungsschlüssel nicht möglich ist, sendet DynamoDB eine E-Mail-Benachrichtigung, um Sie zu benachrichtigen.
Anmerkung
-
Wenn auf Ihren kundenverwalteten Schlüssel länger als sieben Tage nicht mehr vom DynamoDB-Service zugegriffen werden kann, wird die Tabelle archiviert und es kann nicht mehr darauf zugegriffen werden. DynamoDB erstellt eine On-Demand-Backup Ihrer Tabelle, und es wird Ihnen in Rechnung gestellt. Sie können diese On-Demand-Backup verwenden, um Ihre Daten in einer neuen Tabelle wiederherzustellen. Um die Wiederherstellung zu initiieren, muss der letzte kundenverwaltete Schlüssel in der Tabelle aktiviert sein, und DynamoDB muss Zugriff darauf haben.
-
Wenn Ihr kundenverwalteter Schlüssel, der zum Verschlüsseln eines globalen Tabellenreplikats verwendet wurde, nicht zugänglich ist, entfernt DynamoDB dieses Replikat aus der Replikationsgruppe. Das Replikat wird nicht gelöscht, und die Replikation wird 20 Stunden nach der Erkennung des kundenverwalteten Schlüssels als nicht zugänglich angehalten.
Weitere Informationen finden Sie unter Aktivieren von Schlüsseln und Löschen von Schlüsseln.
Hinweise zur Verwendung von Von AWS verwaltete Schlüssel
Amazon DynamoDB kann Ihre Tabellendaten nur lesen, wenn es Zugriff auf den KMS-Schlüssel hat, der in Ihrem AWS KMS Konto gespeichert ist. DynamoDB verwendet die Envelope-Verschlüsselung und die Schlüsselhierarchie, um Daten zu verschlüsseln. Ihr AWS KMS Verschlüsselungsschlüssel wird verwendet, um den Stammschlüssel dieser Schlüsselhierarchie zu verschlüsseln. Weitere Informationen zur Envelope-Verschlüsselung finden Sie im AWS Key Management Service-Entwicklerhandbuch.
DynamoDB ruft AWS KMS nicht für jeden DynamoDB-Vorgang auf. Der Schlüssel wird einmal alle 5 Minuten pro Aufrufer mit aktivem Datenverkehr aktualisiert.
Stellen Sie sicher, dass das SDK für die Wiederverwendung von Verbindungen konfiguriert ist. Andernfalls treten Latenzen von DynamoDB auf, die für jeden DynamoDB-Vorgang neue AWS KMS Cache-Einträge wiederherstellen müssen. Darüber hinaus werden Sie möglicherweise mit höheren AWS KMS und CloudTrail-Kosten konfrontiert. Um dies beispielsweise mit dem Node.js SDK zu tun, können Sie einen neuen HTTPS-Agent mit aktivierter keepAlive erstellen. Weitere Informationen finden Sie unter Konfigurieren von keepAlive in Node.js im AWS SDK für JavaScript-Entwicklerhandbuch.