View a markdown version of this page

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

Die folgenden Themen helfen Ihnen, mehr über AWS Key Management Service Verschlüsselungsschlüssel für Amazon DocumentDB Elastic Clusters zu erfahren, diese zu erstellen und zu überwachen:

Elastische Amazon DocumentDB-Cluster integrieren sich zur Schlüsselverwaltung automatisch in AWS Key Management Service (AWS KMS) und verwenden zum Schutz Ihrer Daten eine Methode, die als Umschlagverschlüsselung bekannt ist. 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.

Die elastischen Amazon DocumentDB-Cluster unterstützen die Verschlüsselung mit zwei Arten von Schlüsseln:

  • AWS Eigene Schlüssel — Amazon DocumentDB Elastic Clusters verwenden diese Schlüssel standardmäßig, um persönlich identifizierbare Daten automatisch zu verschlüsseln. Sie können AWS eigene Schlüssel nicht anzeigen, 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.

  • Customer-managed 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 im AWS KMS Entwicklerhandbuch unter Asymmetrische Schlüssel. AWS Key Management Service

Wenn Amazon DocumentDB keinen Zugriff mehr auf den Verschlüsselungsschlüssel für einen Cluster erhalten kann — beispielsweise, wenn der Zugriff auf einen Schlüssel widerrufen wird — wechselt der verschlüsselte Cluster in einen Terminalzustand. 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 außerdem den Schlüssel für einen verschlüsselten Amazon DocumentDB-Cluster deaktivieren, verlieren Sie 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 Terminalzustand. 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 mehr ä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 Amazon DocumentDB Elastic Clusters 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, gewähren Amazon DocumentDB Elastic Clusters in Ihrem Namen einen Zuschuss, indem Sie eine CreateGrant Anfrage an senden. AWS KMS Grants in AWS KMS werden verwendet, um Amazon DocumentDB Elastic Clusters Zugriff auf einen KMS-Schlüssel in einem Kundenkonto zu gewähren.

Für elastische Amazon DocumentDB-Cluster ist der Zuschuss erforderlich, um Ihren vom Kunden verwalteten Schlüssel für die folgenden internen Vorgänge verwenden zu können:

  • Senden Sie DescribeKey Anfragen an, um AWS KMS zu überprüfen, ob die symmetrische, vom Kunden verwaltete Schlüssel-ID, die Sie bei der Erstellung eines elastischen Clusters eingegeben haben, gültig ist.

  • Senden Sie GenerateDataKey Anfragen an, AWS KMS um Datenschlüssel zu generieren, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt werden.

  • 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 Daten zugreifen, die mit dem vom Kunden verwalteten Schlüssel verschlüsselt wurden. Dies wirkt sich auf Vorgänge aus, die von diesen Daten abhängig sind.

Erstellen eines kundenseitig verwalteten Schlüssels

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel erstellen, indem Sie die AWS-Managementkonsole oder die AWS KMS API verwenden.

Symmetrische, vom Kunden verwaltete Schlüsselerstellung

Folgen Sie den Schritten zur Erstellung eines symmetrischen, vom Kunden verwalteten Schlüssels im AWS Key Management Service Entwicklerhandbuch.

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 kundenseitig 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 des AWS Key Management Service Entwicklerhandbuchs.

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 zulässig sein:

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

  • kms:DescribeKey— Stellt die vom Kunden verwalteten Schlüsseldetails bereit, damit Amazon DocumentDB Elastic Clusters den Schlüssel validieren kann.

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

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

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

Beschränkung des Zugriffs auf vom Kunden verwaltete Schlüssel mithilfe von IAM-Richtlinien

Zusätzlich zu den KMS-Schlüsselrichtlinien können Sie auch die KMS-Schlüsselberechtigungen in einer IAM-Richtlinie 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 Amazon DocumentDB Elastic Clustern haben, können Sie den kms:ViaService Bedingungsschlü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 Kunden verwalteten Schlüssel für Ihre Amazon DocumentDB Elastic Cluster-Ressourcen verwenden, können Sie Amazon CloudWatch Logs verwenden AWS CloudTrail , um Anfragen zu verfolgen, an die Amazon DocumentDB Elastic Clusters gesendet werden. 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 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 enthalten weitere Informationen zur Verschlüsselung von Daten im Ruhezustand: