Datenverschlüsselung im Ruhezustand für elastische Amazon DocumentDB-Cluster - Amazon DocumentDB

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.

Datenverschlüsselung im Ruhezustand für elastische Amazon DocumentDB-Cluster

In den folgenden Themen erfahren Sie mehr über AWS Key Management Service Verschlüsselungsschlüssel für elastische Amazon DocumentDB-Cluster, deren Erstellung und Überwachung:

Elastische Amazon DocumentDB-Cluster integrieren sich automatisch in AWS Key Management Service (AWS KMS) für die Schlüsselverwaltung und verwenden eine Methode, die als Envelope-Verschlüsselung bekannt ist, um Ihre Daten zu schützen. Weitere Informationen zur Envelope-Verschlüsselung finden Sie unter Envelope-Verschlüsselung im AWS Key Management Service -Entwicklerhandbuch.

An AWS KMS key ist eine logische Darstellung eines Schlüssels. Der KMS-Schlüssel enthält Metadaten wie die Schlüssel-ID, das Erstellungsdatum, die Beschreibung und den Schlüsselstatus. Der KMS-Schlüssel enthält auch das zur Ver- und Entschlüsselung von Daten verwendete Schlüsselmaterial. Weitere Informationen über KMS-Schlüssel finden Sie unter AWS KMS keys im AWS Key Management Service Developer Guide.

Elastic Clusters von Amazon DocumentDB unterstützen die Verschlüsselung mit zwei Arten von Schlüsseln:

  • AWS eigene Schlüssel — Elastische Amazon DocumentDB-Cluster verwenden diese Schlüssel standardmäßig, um personenbezogene Daten automatisch zu verschlüsseln. Sie können AWS eigene Schlüssel nicht einsehen, verwalten oder verwenden oder deren Verwendung überprü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. Weitere Informationen finden Sie unter AWS -eigene Schlüssel im AWS Key Management Service -Entwicklerhandbuch.

  • Vom Kunden verwaltete Schlüssel — symmetrische Schlüssel AWS KMS keys , die Sie erstellen, besitzen und verwalten. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie beispielsweise folgende Aufgaben ausführen:

    • Festlegung und Pflege wichtiger Richtlinien

    • Festlegung und Aufrechterhaltung von IAM-Richtlinien und -Zuschüssen

    • Aktivieren und Deaktivieren wichtiger Richtlinien

    • Kryptographisches Material mit rotierendem Schlüssel

    • Hinzufügen von Tags

    • Erstellen von Schlüsselaliasen

    • Schlüssel für das Löschen von Schlüsseln planen

    Weitere Informationen finden Sie unter Kundenverwaltete Schlüssel im AWS Key Management Service Entwicklerhandbuch.

Wichtig

Sie müssen einen KMS-Schlüssel für die symmetrische Verschlüsselung verwenden, um Ihren Cluster zu verschlüsseln, da Amazon DocumentDB nur KMS-Schlüssel mit symmetrischer Verschlüsselung unterstützt. Verwenden Sie keinen asymmetrischen KMS-Schlüssel, um zu versuchen, die Daten in Ihren elastischen Amazon DocumentDB-Clustern zu verschlüsseln. Weitere Informationen finden Sie unter Asymmetrische Schlüssel AWS KMS im Entwicklerhandbuch.AWS Key Management Service

Wenn Amazon DocumentDB keinen Zugriff mehr auf den Verschlüsselungsschlüssel für einen Cluster erhält — zum Beispiel, wenn der Zugriff auf einen Schlüssel gesperrt wird — geht der verschlüsselte Cluster in einen Terminalstatus über. In diesem Fall können Sie den Cluster nur aus einer Sicherung wiederherstellen. Für Amazon DocumentDB sind Backups immer für einen Tag aktiviert. Wenn Sie den Schlüssel für einen verschlüsselten Amazon DocumentDB-Cluster deaktivieren, verlieren Sie außerdem irgendwann den Lese- und Schreibzugriff auf diesen Cluster. Wenn Amazon DocumentDB auf einen Cluster trifft, der mit einem Schlüssel verschlüsselt ist, auf den es keinen Zugriff hat, versetzt es den Cluster in einen Terminalstatus. In diesem Fall ist der Cluster nicht länger verfügbar und der aktuelle Zustand der Datenbank kann nicht mehr wiederhergestellt werden. Um den Cluster wiederherzustellen, müssen Sie den Zugriff auf den Verschlüsselungsschlüssel für Amazon DocumentDB erneut aktivieren und dann den Cluster aus einem Backup wiederherstellen.

Wichtig

Sie können den KMS-Schlüssel für einen verschlüsselten Cluster nicht ändern, nachdem Sie ihn bereits erstellt haben. Stellen Sie sicher, dass Sie Ihre Anforderungen an den Verschlüsselungsschlüssel ermitteln, bevor Sie Ihren verschlüsselten Elastic Cluster erstellen.

So verwenden elastische Amazon DocumentDB-Cluster Zuschüsse in AWS KMS

Elastische Amazon DocumentDB-Cluster benötigen einen Zuschuss, um Ihren vom Kunden verwalteten Schlüssel verwenden zu können.

Wenn Sie einen Cluster erstellen, der mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, erstellen Amazon DocumentDB Elastic Clusters in Ihrem Namen einen Zuschuss, indem sie eine CreateGrant Anfrage an AWS KMS senden. Grants in AWS KMS werden verwendet, um Amazon DocumentDB Elastic Clusters Zugriff auf einen KMS-Schlüssel in einem Kundenkonto zu gewähren.

Elastische Amazon DocumentDB-Cluster benötigen den Zuschuss, um Ihren vom Kunden verwalteten Schlüssel für die folgenden internen Operationen verwenden zu können:

  • Senden Sie DescribeKey Anfragen, um AWS KMS zu überprüfen, ob die symmetrische, vom Kunden verwaltete KMS-Schlüssel-ID, die Sie bei der Erstellung einer Tracker- oder Geofence-Sammlung eingegeben haben, gültig ist.

  • Senden Sie GenerateDataKey Anfragen AWS KMS zur Generierung von Datenschlüsseln, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden.

  • Senden Sie Decrypt Anfragen AWS KMS zur Entschlüsselung der verschlüsselten Datenschlüssel, damit diese zur Verschlüsselung Ihrer Daten verwendet werden können.

  • Sie können den Zugriff auf die Genehmigung jederzeit widerrufen oder den Zugriff des Services auf den vom Kunden verwalteten Schlüssel entfernen. Wenn Sie dies tun, können Amazon DocumentDB Elastic Clusters auf keine der mit dem vom Kunden verwalteten Schlüssel verschlüsselten Daten zugreifen, was sich auf Operationen auswirkt, die von diesen Daten abhängig sind.

Einen kundenverwalteten Schlüssel erstellen

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel mithilfe der AWS Management Console oder der AWS KMS API erstellen.

Symmetrische, vom Kunden verwaltete Schlüsselerstellung

Folgen Sie den Schritten zum Erstellen eines symmetrischen kundenverwalteten Schlüssels im Entwicklerhandbuch zum AWS Key Management Service .

Schlüsselrichtlinie

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren vom Kunden verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie in den Informationen zum Zugriff auf KMS-Schlüssel in der AWS Key Management Service Übersicht im AWS Key Management Service Developer Guide.

Um Ihren vom Kunden verwalteten Schlüssel mit Amazon DocumentDB Elastic Cluster-Ressourcen zu verwenden, müssen die folgenden API-Operationen in der Schlüsselrichtlinie zugelassen sein:

  • kms:CreateGrant: Fügt einem kundenverwalteten Schlüssel eine Erteilung hinzu. Gewährt Kontrollzugriff auf einen bestimmten KMS-Schlüssel, der Zugriff auf Grant-Operationen ermöglicht, die Amazon Location Service benötigt. Weitere Informationen zur Verwendung von Zuschüssen finden Sie unter Grants AWS KMS im AWS Key Management Service Developer Guide.

  • kms:DescribeKey— Stellt dem Kunden verwaltete Schlüsseldetails zur Verfügung, damit Docdb Elastic den Schlüssel validieren kann.

  • kms:Decrypt— Ermöglicht Docdb Elastic, den gespeicherten verschlüsselten Datenschlüssel für den Zugriff auf verschlüsselte Daten zu verwenden.

  • kms:GenerateDataKey— Ermöglicht Docdb Elastic, einen verschlüsselten Datenschlüssel zu generieren und ihn zu speichern, da der Datenschlüssel nicht sofort zum Verschlüsseln verwendet wird.

Weitere Informationen finden Sie unter Berechtigungen für AWS Dienste in den wichtigsten Richtlinien und unter Fehlerbehebung beim Schlüsselzugriff im AWS Key Management Service Entwicklerhandbuch.

Einschränkung des vom Kunden verwalteten Schlüsselzugriffs über IAM-Richtlinien

Zusätzlich zu den KMS-Schlüsselrichtlinien können Sie in einer IAM-Richtlinie auch die KMS-Schlüsselberechtigungen einschränken.

Sie können die IAM-Richtlinie auf verschiedene Weise strikter gestalten. Um beispielsweise zu ermöglichen, dass der vom Kunden verwaltete Schlüssel nur für Anfragen verwendet wird, die ihren Ursprung in elastischen Amazon DocumentDB-Clustern haben, können Sie den kms:ViaServiceBedingungsschlüssel mit dem docdb-elastic.<region-name>.amazonaws.com Wert verwenden.

Weitere Informationen finden Sie unter Benutzern in anderen Konten die Verwendung eines KMS-Schlüssels erlauben im AWS Key Management Service -Entwicklerhandbuch.

Überwachung Ihrer Verschlüsselungsschlüssel für Amazon DocumentDB Elastic Clusters

Wenn Sie einen vom AWS KMS key Kunden verwalteten Schlüssel mit Ihren Docdb Elastic-Ressourcen verwenden, können Sie AWS CloudTrail oder Amazon CloudWatch Logs verwenden, um Anfragen zu verfolgen, an die Docdb Elastic sendet. AWS KMS

Die folgenden Beispiele sind AWS CloudTrail Ereignisse fürCreateGrant,, und DescribeKey zur Überwachung von AWS KMS key Vorgängen GenerateDataKeyWithoutPlainTextDecrypt, die von Amazon DocumentDB DocumentDB-Elastic-Clustern aufgerufen werden, um auf Daten zuzugreifen, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden:

CreateGrant
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-05-09T23:04:20Z", "mfaAuthenticated": "false" } }, "invokedBy": "docdb-elastic.amazonaws.com" }, "eventTime": "2023-05-09T23:55:48Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "docdb-elastic.amazonaws.com", "userAgent": "docdb-elastic.amazonaws.com", "requestParameters": { "retiringPrincipal": "docdb-elastic.us-east-1.amazonaws.com", "granteePrincipal": "docdb-elastic.us-east-1.amazonaws.com", "operations": [ "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "CreateGrant", "RetireGrant", "DescribeKey" ], "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
GenerateDataKey
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-05-10T18:02:59Z", "mfaAuthenticated": "false" } }, "invokedBy": "docdb-elastic.amazonaws.com" }, "eventTime": "2023-05-10T18:03:25Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "docdb-elastic.amazonaws.com", "userAgent": "docdb-elastic.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-05-10T18:05:49Z", "mfaAuthenticated": "false" } }, "invokedBy": "docdb-elastic.amazonaws.com" }, "eventTime": "2023-05-10T18:06:19Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "docdb-elastic.amazonaws.com", "userAgent": "docdb-elastic.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-05-09T23:04:20Z", "mfaAuthenticated": "false" } }, "invokedBy": "docdb-elastic.amazonaws.com" }, "eventTime": "2023-05-09T23:55:48Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "docdb-elastic.amazonaws.com", "userAgent": "docdb-elastic.amazonaws.com", "requestParameters": { "keyId": "alias/SampleKmsKey" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

Weitere Informationen

Die folgenden Ressourcen bieten weitere Informationen zur Datenverschlüsselung im Ruhezustand: