Replizieren von mit serverseitiger Verschlüsselung (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS) erstellten Objekten - Amazon Simple Storage 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.

Replizieren von mit serverseitiger Verschlüsselung (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS) erstellten Objekten

Wichtig

Amazon S3 wendet jetzt serverseitige Verschlüsselung mit von Amazon S3 verwalteten Verschlüsselungsschlüssel (SSE-S3) als Basisverschlüsselung für jeden Bucket in Amazon S3 an. Ab dem 5. Januar 2023 werden alle neuen Objekt-Uploads auf Amazon S3 ohne zusätzliche Kosten und ohne Auswirkungen auf die Leistung automatisch verschlüsselt. Der automatische Verschlüsselungsstatus für die Standardverschlüsselungskonfiguration des S3-Buckets und für neue Objekt-Uploads ist in - AWS CloudTrail Protokollen, S3 Inventory, S3 Storage Lens, der Amazon S3-Konsole und als zusätzlicher Amazon S3-API-Antwort-Header in der AWS Command Line Interface und AWS SDKs verfügbar. Weitere Informationen finden Sie unter Häufig gestellte Fragen zur Standardverschlüsselung.

Bei der Replikation von Objekten, die mit der serverseitigen Verschlüsselung verschlüsselt wurden, sind einige besondere Punkte zu beachten. Amazon S3 unterstützt die folgenden Arten von serverseitiger Verschlüsselung:

  • Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)

  • Serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS)

  • Serverseitige Dual-Layer-Verschlüsselung mit - AWS KMS Schlüsseln (DSSE-KMS)

  • Serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C)

Weitere Informationen zur serverseitigen Verschlüsselung finden Sie unter Schützen von Daten mit serverseitiger Verschlüsselung.

In diesem Thema werden die Berechtigungen erläutert, die Sie benötigen, um Amazon S3 anzuweisen, Objekte zu replizieren, die mithilfe serverseitiger Verschlüsselung verschlüsselt wurden. Dieses Thema enthält auch zusätzliche Konfigurationselemente, die Sie hinzufügen können, sowie Beispiele für AWS Identity and Access Management (IAM)-Richtlinien, die die erforderlichen Berechtigungen für die Replikation verschlüsselter Objekte gewähren.

Ein Beispiel mit step-by-step Anweisungen finden Sie unter Replizieren verschlüsselter Objekte. Weitere Informationen zum Erstellen einer Replikationskonfiguration finden Sie unter Replizieren von Objekten.

Anmerkung

Sie können Multi-Region AWS KMS keys in Amazon S3 verwenden. Amazon S3 behandelt jedoch derzeit Multi-Regions-Schlüssel wie Einzel-Regions-Schlüssel und verwendet nicht die Multi-Regions-Funktionen des Schlüssels. Weitere Informationen finden Sie unter Using multi-Region keys (Verwenden von Multi-Regions-Zugriffpunkt-Schlüsseln) im AWS Key Management Service -Entwicklerhandbuch.

So wirkt sich die Standard-Bucket-Verschlüsselung auf die Replikation aus

Wenn Sie die Standard-Verschlüsselung für einen Replikations-Ziel-Bucket aktivieren, gilt das folgende Verschlüsselungsverhalten:

  • Wenn Objekte im Quell-Bucket nicht verschlüsselt sind, werden die Replikatobjekte im Ziel-Bucket mithilfe der Einstellungen der Standard-Verschlüsselung des Ziel-Buckets verschlüsselt. Daher unterscheiden sich die ETags (Entity-Tags) der Quellobjekte von den ETags der Replikatobjekte. Wenn Sie Anwendungen haben, die ETags verwenden, müssen Sie diese Anwendungen aktualisieren, um diesen Unterschied auszugleichen.

  • Wenn Objekte im Quell-Bucket mit serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3), serverseitiger Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS) oder serverseitiger Dual-Layer-Verschlüsselung mit - AWS KMS Schlüsseln (DSSE-KMS) verschlüsselt werden, verwenden die Replikatobjekte im Ziel-Bucket denselben Verschlüsselungstyp wie die Quellobjekte. Die Einstellungen der Standard-Verschlüsselung des Ziel-Buckets werden nicht verwendet.

Mit SSE-C verschlüsselte Objekte replizieren

Die serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C) gestattet Ihnen, eigene Verschlüsselungsschlüssel zu verwalten. Mit SSE-C verwalten Sie die Schlüssel, während Amazon S3 den Verschlüsselungs- und Entschlüsselungsprozess verwaltet. Sie müssen einen Verschlüsselungsschlüssel als Teil Ihrer Anfrage angeben, brauchen aber keinen Code zu schreiben, um die Objektverschlüsselung oder -entschlüsselung durchzuführen. Wenn Sie ein Objekt hochladen, verschlüsselt Amazon S3 das Objekt mithilfe des von Ihnen angegebenen Schlüssels. Amazon S3 löscht diesen Schlüssel dann aus dem Speicher. Wenn Sie ein Objekt abrufen, müssen Sie denselben Verschlüsselungsschlüssel als Teil Ihrer Anfrage angeben. Weitere Informationen finden Sie unter Verwenden von serverseitiger Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C).

Die S3-Replikation unterstützt Objekte, die mit SSE-C verschlüsselt sind. Sie können die SSE-C-Objektreplikation in der Amazon S3-Konsole oder mit den - AWS SDKs auf die gleiche Weise konfigurieren, wie Sie die Replikation für unverschlüsselte Objekte konfigurieren. Es gibt keine zusätzlichen SSE-C-Berechtigungen, die über das hinausgehen, was derzeit für die Replikation erforderlich ist.

Die S3-Replikation repliziert automatisch neu hochgeladene mit SSE-C verschlüsselte Objekte, sofern sie wie in Ihrer S3-Replikationskonfiguration angegeben infrage kommen. Verwenden Sie die S3-Batchreplikation, um vorhandene Objekte in Ihren Buckets zu replizieren. Weitere Informationen zum Replizieren von Objekten finden Sie unter Einrichten der Replikation und Replizieren bestehender Objekte mit S3-Batch-Replikation.

Für die Replikation von SSE-C-Objekten fallen keine zusätzlichen Gebühren an. Einzelheiten zu den Replikationspreisen finden Sie auf der Seite Amazon S3 – Preise.

Replizieren von mit SSE-S3, SSE-KMS oder DSSE-KMS verschlüsselten Objekten

Standardmäßig repliziert Amazon S3 keine Objekte, die mit SSE-KMS oder DSSE-KMS verschlüsselt sind. In diesem Abschnitt werden die zusätzlichen Konfigurationselemente erörtert, die Sie hinzufügen können, um Amazon S3 anzuweisen, diese Objekte zu replizieren.

Ein Beispiel mit step-by-step Anweisungen finden Sie unter Replizieren verschlüsselter Objekte. Weitere Informationen zum Erstellen einer Replikationskonfiguration finden Sie unter Replizieren von Objekten.

Angeben zusätzlicher Informationen in der Replikations-Konfiguration

In der Replikations-Konfiguration machen Sie Folgendes:

  • Fügen Sie im Destination Element in Ihrer Replikationskonfiguration die ID des symmetrischen, vom AWS KMS Kunden verwalteten Schlüssels hinzu, den Amazon S3 zum Verschlüsseln von Objektreplikaten verwenden soll, wie im folgenden Beispiel für eine Replikationskonfiguration gezeigt.

  • Melden Sie sich ausdrücklich an, indem Sie die Replikation von Objekten aktivieren, die mit KMS-Schlüsseln (SSE-KMS oder DSSE-KMS) verschlüsselt wurden. Fügen Sie dazu das SourceSelectionCriteria-Element hinzu, wie im folgenden Beispiel einer Replikationskonfiguration dargestellt.

<ReplicationConfiguration> <Rule> ... <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> ... <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same AWS-Region as the destination bucket.</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> ... </Rule> </ReplicationConfiguration>
Wichtig

Der KMS-Schlüssel muss in derselben AWS-Region wie die Ziel-Buckets erstellt worden sein.

Der KMS-Schlüssel muss gültig sein. Die PutBucketReplication-API-Operation überprüft nicht die Gültigkeit von KMS-Schlüsseln. Wenn Sie einen ungültigen KMS-Schlüssel verwenden, erhalten Sie als Antwort den HTTP-200 OK-Statuscode, aber die Replikation schlägt fehl.

Das folgende Beispiel zeigt eine Replikationskonfiguration, die optionale Konfigurationselemente enthält. Diese Replikations-Konfiguration weist eine Regel auf. Die Regel wird auf alle Objekte mit dem Schlüsselpräfix Tax angewendet. Amazon S3 verwendet die angegebene  AWS KMS key -ID zum Verschlüsseln dieser Objektreplikate.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <ID>Rule-1</ID> <Priority>1</Priority> <Status>Enabled</Status> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same AWS-Region as the destination bucket. (S3 uses this key to encrypt object replicas.)</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> </Rule> </ReplicationConfiguration>

Erteilen zusätzlicher Berechtigungen für die IAM-Rolle

Um Objekte zu replizieren, die im Ruhezustand mit SSE-S3, SSE-KMS oder DSSE-KMS verschlüsselt sind, erteilen Sie der AWS Identity and Access Management (IAM)-Rolle, die Sie in der Replikationskonfiguration angeben, die folgenden zusätzlichen Berechtigungen. Sie erteilen diese Berechtigungen, indem Sie die mit der IAM-Rolle verknüpfte Berechtigungsrichtlinie aktualisieren.

  • s3:GetObjectVersionForReplication-Aktion für Quellobjekte – Diese Aktion ermöglicht Amazon S3, sowohl unverschlüsselte Objekte als auch Objekte, die mit serverseitiger Verschlüsselung mit SSE-S3, SSE-KMS oder DSSE-KMS erstellt wurden, zu replizieren.

    Anmerkung

    Wir empfehlen, dass Sie die Aktion s3:GetObjectVersionForReplication statt der Aktion s3:GetObjectVersion verwenden, da s3:GetObjectVersionForReplication Amazon S3 nur die minimalen Berechtigungen bereitstellt, die für eine Replikation nötig sind. Darüber hinaus ermöglicht die Aktion s3:GetObjectVersion die Replikation von unverschlüsselten und über SSE-S3 verschlüsselten Objekten, nicht aber von Objekten, die mit KMS-Schlüsseln (SSE-KMS oder DSSE-KMS) verschlüsselt wurden.

  • kms:Decrypt - und -kms:Encrypt AWS KMS Aktionen für die KMS-Schlüssel

    • Sie müssen kms:Decrypt-Berechtigungen für den AWS KMS key gewähren, der zum Entschlüsseln des Quellobjekts verwendet wird.

    • Sie müssen kms:Encrypt-Berechtigungen für den AWS KMS key gewähren, der zum Verschlüsseln des Objektreplikats verwendet wird.

  • kms:GenerateDataKey-Aktion zur Replikation von Klartextobjekten – Wenn Sie Klartextobjekte in einen Bucket replizieren, für den die SSE-KMS- oder DSSE-KMS-Verschlüsselung standardmäßig aktiviert ist, müssen Sie die kms:GenerateDataKey-Berechtigung für den Zielverschlüsselungskontext und den KMS-Schlüssel zur IAM-Richtlinie hinzufügen.

Wir empfehlen, diese Berechtigungen mithilfe von AWS KMS Bedingungsschlüsseln nur auf die Ziel-Buckets und -Objekte zu beschränken. Das AWS-Konto , dem die IAM-Rolle gehört, muss über Berechtigungen für die kms:Decrypt Aktionen kms:Encrypt und für die KMS-Schlüssel verfügen, die in der Richtlinie aufgeführt sind. Wenn die KMS-Schlüssel einem anderen gehören AWS-Konto, muss der Besitzer der KMS-Schlüssel diese Berechtigungen dem gewähren AWS-Konto , dem die IAM-Rolle gehört. Weitere Informationen zum Verwalten des Zugriffs auf diese KMS-Schlüssel finden Sie unter Verwenden von IAM-Richtlinien mit AWS KMS im AWS Key Management Service -Entwicklerhandbuch.

S3 Bucket-Schlüssel und Replikation

Um die Replikation mit einem S3-Bucket-Schlüssel zu verwenden, muss die AWS KMS key Richtlinie für den KMS-Schlüssel, der zum Verschlüsseln des Objektreplikats verwendet wird, die -kms:DecryptBerechtigung für den aufrufenden Prinzipal enthalten. Der Aufruf zur kms:Decrypt Überprüfung der Integrität des S3-Bucket-Schlüssels, bevor er verwendet wird. Weitere Informationen finden Sie unter Verwenden eines S3-Bucket-Schlüssels mit Replikation.

Wenn ein S3-Bucket-Schlüssel für den Quell- oder Ziel-Bucket aktiviert ist, ist der Verschlüsselungskontext der Amazon-Ressourcenname (ARN) des Buckets, nicht der Objekt-ARN (z. B. arn:aws:s3:::bucket_ARN). Sie müssen Ihre IAM-Richtlinien aktualisieren, um den Bucket-ARN für den Verschlüsselungskontext verwenden zu können:

"kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::bucket_ARN" ]

Weitere Informationen finden Sie unter Verschlüsselungskontext (x-amz-server-side-encryption-context) (im Abschnitt „Verwenden der REST-API“ und unter Änderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten.

Beispielrichtlinien – Verwenden von SSE-S3 und SSE-KMS bei der Replikation

Die folgenden IAM-Beispielrichtlinien zeigen Anweisungen für die Verwendung von SSE-S3 und SSE-KMS bei der Replikation.

Beispiel – Verwenden von SSE-KMS mit separaten Ziel-Buckets

Die folgende Beispielrichtlinie zeigt Anweisungen zur Verwendung von SSE-KMS mit separaten Ziel-Buckets.

{ "Version":"2012-10-17", "Statement":[ { "Action": ["kms:Decrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] } }, "Resource": [ "List of AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-1-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET1/key-prefix1*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same AWS-Region as destination bucket 1). Used to encrypt object replicas created in destination bucket 1." ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-2-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET2/key-prefix1*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same AWS-Region as destination bucket 2). Used to encrypt object replicas created in destination bucket 2." ] } ] }
Beispiel – Replizieren von mit SSE-S3 und SSE-KMS erstellten Objekten

Im Folgenden sehen Sie eine vollständige IAM-Richtlinie, die die erforderlichen Berechtigungen zum Replizieren von unverschlüsselten Objekten, Objekten, die mit SSE-S3 erstellt wurden, und Objekten, die mit SSE-KMS erstellt wurden, gewährt.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/key-prefix1*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] } }, "Resource":[ "List of the AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/prefix1*" ] } }, "Resource":[ "AWS KMS key ARNs (in the same AWS-Region as the destination bucket) to use for encrypting object replicas" ] } ] }
Beispiel – Replizieren von Objekten mit S3-Bucket-Schlüsseln

Im Folgenden sehen Sie eine vollständige IAM-Richtlinie, die die erforderlichen Berechtigungen zum Replizieren von Objekten mit S3-Bucket-Schlüsseln gewährt.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/key-prefix1*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET" ] } }, "Resource":[ "List of the AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET" ] } }, "Resource":[ "AWS KMS key ARNs (in the same AWS-Region as the destination bucket) to use for encrypting object replicas" ] } ] }

Erteilen von zusätzlichen Berechtigungen für kontenübergreifende Szenarien

In einem kontoübergreifenden Szenario, in dem die Quell- und Ziel-Buckets verschiedenen gehören AWS-Konten, können Sie einen KMS-Schlüssel verwenden, um Objektreplikate zu verschlüsseln. Der KMS-Schlüssel-Besitzer muss dem Besitzer des Quell-Buckets jedoch die Berechtigung erteilen, den KMS-Schlüssel zu verwenden.

Anmerkung

Über Von AWS verwaltete Schlüssel verschlüsselte Objekte können nicht kontoübergreifend geteilt werden, da Sie die Schlüsselrichtlinien nicht ändern können. Wenn Sie SSE-KMS-Daten kontoübergreifend replizieren müssen, müssen Sie einen vom Kunden verwalteten Schlüssel von verwenden AWS KMS.

So erteilen Sie dem Quell-Bucket-Eigentümer die Berechtigung zur Verwendung des KMS-Schlüssels (AWS KMS -Konsole)
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die - AWS KMS Konsole unter https://console.aws.amazon.com/kms.

  2. Um die zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

  3. Zum Anzeigen der Schlüssel in Ihrem Konto, die Sie erstellen und verwalten, wählen Sie im Navigationsbereich Customer managed keys (Vom Kunden verwaltete Schlüssel) aus.

  4. Wählen Sie den KMS-Schlüssel aus.

  5. Wählen Sie unter Allgemeine Konfiguration den Tab Schlüsselrichtlinie aus.

  6. Scrollen Sie nach unten zu Andere AWS-Konten.

  7. Wählen Sie Andere hinzufügen aus AWS-Konten.

    Das Dialogfeld Andere AWS-Konten wird angezeigt.

  8. Wählen Sie im Dialogfeld Weitere hinzufügen aus AWS-Konto. Geben Sie für arn:aws:iam:: die Konto-ID des Quell-Buckets ein.

  9. Wählen Sie Änderungen speichern aus.

So erteilen Sie dem Quell-Bucket-Eigentümer die Berechtigung zur Verwendung des KMS-Schlüssels (AWS CLI)

AWS KMS Überlegungen zu Transaktionskontingenten

Wenn Sie nach der Aktivierung der regionsübergreifenden Replikation (CRR) viele neue Objekte mit AWS KMS Verschlüsselung hinzufügen, kann es zu einer Drosselung kommen (HTTP-503 Service UnavailableFehler). Die Drosselung erfolgt, wenn die Anzahl an AWS KMS -Transaktionen pro Sekunde das aktuelle Kontingent überschreitet. Weitere Informationen finden Sie unter Kontingente im AWS Key Management Service -Entwicklerhandbuch.

Zum Anfordern einer Erhöhung für ein Kontingent verwenden Sie Service-Quotas verwenden. Weitere Informationen finden Sie unter Anfordern einer Kontingenterhöhung. Wenn Service Quotas in Ihrer Region nicht unterstützt wird, öffnen Sie einen - AWS Support Fall.