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.
Replikation verschlüsselter Objekte (SSE-S3, SSE -, DSSE - KMSKMS, SSE -C)
Wichtig
Amazon S3 wendet jetzt serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) als Basisverschlüsselungsebene 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 das Hochladen neuer Objekte ist in den AWS CloudTrail Protokollen, im S3-Inventar, in der S3-Speicherlinse, in der Amazon S3 S3-Konsole und als zusätzlicher Amazon S3 API S3-Antwort-Header im AWS Command Line Interface und AWS SDKs verfügbar. Weitere Informationen finden Sie unter Standardverschlüsselung FAQ.
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 verwalteten Amazon S3 S3-Schlüsseln (SSE-S3)
-
Serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) Schlüsseln (-) SSE KMS
-
Zweischichtige serverseitige Verschlüsselung mit AWS KMS Schlüsseln (-) DSSE KMS
-
Serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (-C) SSE
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 Beispielrichtlinien AWS Identity and Access Management (IAM), die die erforderlichen Berechtigungen für die Replikation verschlüsselter Objekte gewähren.
Ein Beispiel mit step-by-step Anweisungen finden Sie unterReplikation für verschlüsselte Objekte aktivieren. Weitere Informationen zum Erstellen einer Replikationskonfiguration finden Sie unter Objekte innerhalb und zwischen Regionen replizieren.
Anmerkung
Sie können Multiregion 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 Verwenden von Schlüsseln für mehrere Regionen im AWS Key Management Service Entwicklerhandbuch.
Themen
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. Infolgedessen unterscheiden sich die Entity-Tags (ETags) der Quellobjekte von denen ETags der Replikatobjekte. Wenn Sie Anwendungen haben, die dies verwendenETags, müssen Sie diese Anwendungen aktualisieren, um diesem Unterschied Rechnung zu tragen.
-
Wenn Objekte im Quell-Bucket mit serverseitiger Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3), serverseitiger Verschlüsselung mit AWS Key Management Service () -Schlüsseln (SSE-AWS KMS KMS) oder zweischichtiger serverseitiger 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.
Replizieren von Objekten, die mit -C verschlüsselt wurden SSE
Durch die serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C) können Sie Ihre eigenen proprietären Verschlüsselungsschlüssel 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 Sie serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (-C) SSE.
Die S3-Replikation unterstützt Objekte, die mit SSE -C verschlüsselt sind. Sie können die SSE -C-Objektreplikation in der Amazon S3 S3-Konsole oder mit dem auf die AWS SDKs 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.
S3 Replication repliziert automatisch neu hochgeladene SSE -C-verschlüsselte Objekte, sofern sie geeignet sind, wie in Ihrer S3-Replikationskonfiguration angegeben. Verwenden Sie die S3-Batchreplikation, um vorhandene Objekte in Ihren Buckets zu replizieren. Weitere Informationen zum Replizieren von Objekten finden Sie unter Überblick über die Einrichtung der Live-Replikation und Replizieren vorhandener Objekte mit Batch Replication.
Für die Replikation SSE von -C-Objekten fallen keine zusätzlichen Gebühren an. Einzelheiten zu den Replikationspreisen finden Sie unter Amazon S3 S3-Preise
Replizieren von Objekten, die mit SSE -S3KMS, SSE - oder - verschlüsselt wurden DSSE KMS
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 unterReplikation für verschlüsselte Objekte aktivieren. Weitere Informationen zum Erstellen einer Replikationskonfiguration finden Sie unter Objekte innerhalb und zwischen Regionen replizieren.
Angeben zusätzlicher Informationen in der Replikations-Konfiguration
In der Replikations-Konfiguration machen Sie Folgendes:
-
Fügen Sie in dem
Destination
Element in Ihrer Replikationskonfiguration die ID des symmetrischen, vom AWS KMS Kunden verwalteten Schlüssels hinzu, den Amazon S3 zur Verschlüsselung von Objektreplikaten verwenden soll, wie in der folgenden Beispiel-Replikationskonfiguration gezeigt. -
Entscheiden Sie sich ausdrücklich dafür, indem Sie die Replikation von Objekten aktivieren, die mithilfe von KMS Schlüsseln (SSE- KMS oder DSSE -) verschlüsselt wurden. KMS 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 im selben Ordner AWS-Region wie der Ziel-Bucket 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 HTTP200 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
angewendet. Amazon S3 verwendet die angegebene AWS KMS key ID, um diese Objektreplikate zu verschlüsseln.Tax
<?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:::</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>
amzn-s3-demo-destination-bucket
AWS KMS key ARN or Key Alias ARN that's in the same AWS-Region as the destination bucket.
</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> </Rule> </ReplicationConfiguration>
Erteilen zusätzlicher Berechtigungen für die Rolle IAM
Um Objekte zu replizieren, die im Ruhezustand mit SSE -S3, - oder SSE DSSE - verschlüsselt wurden KMSKMS, gewähren Sie der Rolle AWS Identity and Access Management (IAM), die Sie in der Replikationskonfiguration angeben, die folgenden zusätzlichen Berechtigungen. Sie gewähren diese Berechtigungen, indem Sie die der Rolle zugeordnete Berechtigungsrichtlinie aktualisieren. IAM
-
s3:GetObjectVersionForReplication
Aktion für Quellobjekte — Diese Aktion ermöglicht Amazon S3, sowohl unverschlüsselte Objekte als auch Objekte zu replizieren, die mit serverseitiger Verschlüsselung mithilfe von SSE -S3, SSE - oder - KMS erstellt wurden. DSSE KMSAnmerkung
Wir empfehlen, dass Sie die Aktion
s3:GetObjectVersionForReplication
statt der Aktions3:GetObjectVersion
verwenden, das3:GetObjectVersionForReplication
Amazon S3 nur die minimalen Berechtigungen bereitstellt, die für eine Replikation nötig sind. Darüber hinaus ermöglicht dies3:GetObjectVersion
Aktion die Replikation von unverschlüsselten und SSE -S3-verschlüsselten Objekten, jedoch nicht von Objekten, die mithilfe von Schlüsseln (- oder -) verschlüsselt wurden. KMS SSE KMS DSSE KMS -
kms:Decrypt
undkms:Encrypt
AWS KMS Aktionen für die Schlüssel KMS-
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 zum Replizieren von Klartextobjekten — Wenn Sie Klartextobjekte in einen Bucket replizieren, bei dem SSE die KMS Verschlüsselung standardmäßig aktiviert KMS oder DSSE aktiviert ist, müssen Sie diekms:GenerateDataKey
Berechtigung für den Zielverschlüsselungskontext und den KMS Schlüssel in die Richtlinie aufnehmen. IAM
Wir empfehlen, diese Berechtigungen mithilfe von Bedingungsschlüsseln nur auf die Ziel-Buckets und -Objekte zu beschränken. AWS KMS Derjenige, dem die IAM Rolle gehört AWS-Konto , muss über Berechtigungen für die Schlüssel kms:Encrypt
und kms:Decrypt
Aktionen für die KMS Schlüssel verfügen, die in der Richtlinie aufgeführt sind. Wenn die KMS Schlüssel einer anderen Person gehören AWS-Konto, muss der Besitzer der KMS Schlüssel diese Berechtigungen demjenigen gewähren AWS-Konto , dem die IAM Rolle gehört. Weitere Informationen zur Verwaltung des Zugriffs auf diese KMS Schlüssel finden Sie unter IAM Richtlinien verwenden 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:Decrypt
Berechtigung 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 Key für den Quell- oder Ziel-Bucket aktiviert ist, ist der Verschlüsselungskontext der Amazon-Ressourcenname (ARN) des Buckets, nicht der des Objekts ARN (zum Beispielarn:aws:s3:::
). Sie müssen Ihre IAM Richtlinien aktualisieren, um den Bucket ARN für den Verschlüsselungskontext verwenden zu können:bucket_ARN
"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 von RESTAPI“) undÄnderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten.
Beispielrichtlinien: Verwendung von SSE -S3 und SSE - KMS mit 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:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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 Objekten, die mit SSE -S3 und - erstellt wurden SSE KMS
Im Folgenden finden 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 - erstellt wurden, gewährt. SSE KMS
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::
" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-source-bucket
/
amzn-s3-demo-source-bucket
key-prefix1
*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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 finden Sie eine vollständige IAM Richtlinie, die die erforderlichen Berechtigungen zum Replizieren von Objekten mit S3-Bucket-Keys gewährt.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::
" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-source-bucket
/
amzn-s3-demo-source-bucket
key-prefix1
*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::/
amzn-s3-demo-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:::" ] } }, "Resource":[ "
amzn-s3-demo-source-bucket
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:::" ] } }, "Resource":[ "
amzn-s3-demo-destination-bucket
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 unterschiedlichen Besitzern gehören, können Sie einen KMS Schlüssel verwenden AWS-Konten, um Objektreplikate zu verschlüsseln. Der KMS Schlüsselbesitzer muss dem Besitzer des Quell-Buckets jedoch die Erlaubnis zur Verwendung des Schlüssels erteilen. KMS
Anmerkung
Wenn Sie KMS Daten kontoübergreifend SSE replizieren müssen, muss Ihre Replikationsregel einen vom Kunden verwalteten Schlüssel AWS KMS für das Zielkonto angeben. Von AWS verwaltete Schlüsselerlauben keine kontoübergreifende Verwendung und können daher nicht für die kontenübergreifende Replikation verwendet werden.
Um dem Besitzer des Quell-Buckets die Erlaubnis zur Verwendung des KMS Schlüssels zu erteilen (Konsole)AWS KMS
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS KMS Konsole unter https://console.aws.amazon.com/kms
. -
Um das zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.
-
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.
-
Wählen Sie den KMS-Schlüssel aus.
-
Wählen Sie unter Allgemeine Konfiguration den Tab Schlüsselrichtlinie aus.
-
Scrollen Sie nach unten zu Andere. AWS-Konten
-
Wählen Sie Andere hinzufügen AWS-Konten.
Das AWS-Konten Dialogfeld „Andere“ wird angezeigt.
-
Wählen Sie im Dialogfeld „Weitere hinzufügen“ aus AWS-Konto. Für arn:aws:iam::In geben Sie die Konto-ID des Quell-Buckets ein.
-
Wählen Sie Änderungen speichern.
Um dem Besitzer des Quell-Buckets die Erlaubnis zu erteilen, den KMS Schlüssel (AWS CLI) zu verwenden
-
Hinweise zum Befehl
put-key-policy
AWS Command Line Interface (AWS CLI) finden Sie unter put-key-policyin der AWS CLI Befehlsreferenz. Hinweise zur zugrunde liegendenPutKeyPolicy
API Operation finden Sie unter PutKeyPolicyin der AWS Key Management Service APIReferenz.
AWS KMS Überlegungen zu Transaktionsquoten
Wenn Sie nach der Aktivierung der regionsübergreifenden Replikation (CRR) viele neue Objekte mit AWS KMS Verschlüsselung hinzufügen, kann es zu Drosselungen (HTTP503 Service
Unavailable
Fehlern) kommen. 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 werden, öffnen Sie einen AWS Support Fall
Replikation für verschlüsselte Objekte aktivieren
Standardmäßig repliziert Amazon S3 keine Objekte, die mit serverseitiger Verschlüsselung mit AWS Key Management Service (AWS KMS) Schlüsseln (SSE-) oder zweischichtiger serverseitiger Verschlüsselung mit AWS KMS Schlüsseln (-KMS) verschlüsselt wurden. DSSE KMS Um Objekte zu replizieren, die mit SSE - KMS oder DSS - verschlüsselt wurdenKMS, müssen Sie die Bucket-Replikationskonfiguration so ändern, dass Amazon S3 diese Objekte replizieren soll. In diesem Beispiel wird erklärt, wie Sie die Amazon S3 S3-Konsole und die AWS Command Line Interface (AWS CLI) verwenden, um die Bucket-Replikationskonfiguration zu ändern, um die Replikation verschlüsselter Objekte zu ermöglichen.
Anmerkung
Wenn ein S3-Bucket Key für den Quell- oder Ziel-Bucket aktiviert ist, ist der Verschlüsselungskontext der Amazon-Ressourcenname (ARN) des Buckets, nicht der des ObjektsARN. Sie müssen Ihre IAM Richtlinien aktualisieren, um den Bucket ARN für den Verschlüsselungskontext verwenden zu können. Weitere Informationen finden Sie unter S3 Bucket-Schlüssel und Replikation.
Anmerkung
Sie können Multiregion 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 Verwenden von Schlüsseln für mehrere Regionen im AWS Key Management Service Entwicklerhandbuch.
step-by-stepAnweisungen finden Sie unterKonfiguration der Replikation für Buckets im selben Konto. Dieses Thema enthält Anweisungen zum Einrichten einer Replikationskonfiguration, wenn Quell- und Ziel-Buckets denselben und unterschiedlichen AWS-Konten Besitzern gehören.
Um verschlüsselte Objekte mit dem zu replizieren AWS CLI, gehen Sie wie folgt vor:
-
Erstellen Sie Quell- und Ziel-Buckets und aktivieren Sie die Versionsverwaltung für diese Buckets.
-
Erstellen Sie eine AWS Identity and Access Management (IAM) -Servicerolle, die Amazon S3 die Berechtigung erteilt, Objekte zu replizieren. Die Berechtigungen der IAM Rolle beinhalten die erforderlichen Berechtigungen, um die verschlüsselten Objekte zu replizieren.
-
Fügen Sie eine Replikationskonfiguration zum Quell-Bucket hinzu. Die Replikationskonfiguration enthält Informationen zur Replikation von Objekten, die mithilfe KMS von Schlüsseln verschlüsselt wurden.
-
Fügen Sie verschlüsselte Objekte zum Quell-Bucket hinzu.
-
Testen Sie die Einrichtung, um sicherzustellen, dass Ihre verschlüsselten Objekte in den Ziel-Bucket repliziert werden.
Die folgenden Verfahren führen Sie durch diesen Prozess.
Replizieren Sie serverseitig verschlüsselte Objekte (AWS CLI) wie folgt:
Wenn Sie die Beispiele in diesem Verfahren verwenden möchten, ersetzen Sie sie durch Ihre eigenen Informationen. user
input placeholders
-
In diesem Beispiel erstellen Sie sowohl die Quelle (
) und Ziel (amzn-s3-demo-source-bucket
) Eimer im selben AWS-Konto. Sie richten auch das Anmeldeinformationsprofil für die AWS CLI ein. Dieses Beispiel verwendet den Profilnamenamzn-s3-demo-destination-bucket
.acctA
Informationen zum Einrichten von Anmeldeinformationsprofilen und zur Verwendung benannter Profile finden Sie im Benutzerhandbuch unter Konfiguration und Einstellungen für Anmeldeinformationsdateien.AWS Command Line Interface
-
Verwenden Sie die folgenden Befehle, um den
-Bucket zu erstellen und die Versionsverwaltung für diesen zu aktivieren. Mit den folgenden Beispielbefehlen wird deramzn-s3-demo-source-bucket
-Bucket in der Region USA Ost (Nord-Virginia) (amzn-s3-demo-source-bucket
us-east-1
) erstellt.aws s3api create-bucket \ --bucket
amzn-s3-demo-source-bucket
\ --regionus-east-1
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-source-bucket
\ --versioning-configuration Status=Enabled \ --profileacctA
-
Verwenden Sie die folgenden Befehle, um den
-Bucket zu erstellen und die Versionsverwaltung für diesen zu aktivieren. Mit den folgenden Beispielbefehlen wird deramzn-s3-demo-destination-bucket
-Bucket in der Region USA West (Oregon) (amzn-s3-demo-destination-bucket
us-west-2
) erstellt.Anmerkung
Um eine Replikationskonfiguration einzurichten, wenn sich
- undamzn-s3-demo-source-bucket
-Bucket im selben AWS-Konto befinden, verwenden Sie dasselbe Profil. Dieses Beispiel verwendetamzn-s3-demo-destination-bucket
. Um die Replikation zu konfigurieren, wenn die Buckets unterschiedlichen Besitzern gehören AWS-Konten, geben Sie für jeden Bucket unterschiedliche Profile an.acctA
aws s3api create-bucket \ --bucket
amzn-s3-demo-destination-bucket
\ --regionus-west-2
\ --create-bucket-configuration LocationConstraint=us-west-2
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-destination-bucket
\ --versioning-configuration Status=Enabled \ --profileacctA
-
Als Nächstes erstellen Sie eine IAM Servicerolle. Sie geben diese Rolle in der Replikationskonfiguration an, die Sie dem
Bucket später hinzufügen. Amazon S3 übernimmt diese Rolle, um Objekte in Ihrem Namen zu replizieren. Sie erstellen eine IAM Rolle in zwei Schritten:amzn-s3-demo-source-bucket
-
Erstellen Sie eine Servicerolle.
-
Fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu.
-
Gehen Sie wie folgt vor, um eine IAM Servicerolle zu erstellen:
-
Kopieren Sie die folgende Vertrauensrichtlinie und speichern Sie sie in einer Datei mit dem Namen
im aktuellen Verzeichnis auf Ihrem lokalen Computer. Diese Richtlinie gewährt dem Amazon S3-Serviceprinzipal die Erlaubnis, die Rolle zu übernehmen, sodass Amazon S3 Aufgaben in Ihrem Namen ausführen kann.s3-role-trust-policy-kmsobj
.json{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
Verwenden Sie den folgenden Befehl, um die Rolle zu erstellen:
$
aws iam create-role \ --role-namereplicationRolekmsobj
\ --assume-role-policy-document file://s3-role-trust-policy-kmsobj
.json \ --profileacctA
-
-
Als Nächstes fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu. Diese Zugriffsrichtlinie erteilt Berechtigungen für verschiedene Amazon-S3-Bucket- und -Objektaktionen.
-
Kopieren Sie die folgende Berechtigungsrichtlinie und speichern Sie sie in einer Datei mit dem Namen
im aktuellen Verzeichnis auf Ihrem lokalen Computer. Sie werden eine IAM Rolle erstellen und ihr die Richtlinie später hinzufügen.s3-role-permissions-policykmsobj
.jsonWichtig
In der Berechtigungsrichtlinie geben Sie den AWS KMS Schlüssel anIDs, der für die Verschlüsselung der
Bucketsamzn-s3-demo-destination-bucket
und verwendet wird. Sie müssen zwei separate KMS Schlüssel für dieamzn-s3-demo-source-bucket
Bucketsamzn-s3-demo-destination-bucket
und erstellen. AWS KMS keys werden nicht außerhalb des Bereichs geteilt, AWS-Region in dem sie erstellt wurden.amzn-s3-demo-source-bucket
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::
", "arn:aws:s3:::amzn-s3-demo-source-bucket
/*" ] }, { "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Effect":"Allow", "Condition":{ "StringLikeIfExists":{ "s3:x-amz-server-side-encryption":[ "aws:kms", "AES256", "aws:kms:dsse" ], "s3:x-amz-server-side-encryption-aws-kms-key-id":[ "amzn-s3-demo-source-bucket
AWS KMS key IDs(in ARN format) to use for encrypting object replicas
" ] } }, "Resource":"arn:aws:s3:::
/*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.amzn-s3-demo-destination-bucket
us-east-1
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::
/*" ] } }, "Resource":[ "amzn-s3-demo-source-bucket
AWS KMS key IDs(in ARN format) used to encrypt source objects.
" ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-west-2
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::
/*" ] } }, "Resource":[ "amzn-s3-demo-destination-bucket
AWS KMS key IDs (in ARN format) to use for encrypting object replicas
" ] } ] } -
Erstellen Sie eine Richtlinie und hängen Sie sie an die Rolle an.
$
aws iam put-role-policy \ --role-namereplicationRolekmsobj
\ --policy-document file://s3-role-permissions-policykmsobj
.json \ --policy-namereplicationRolechangeownerPolicy
\ --profileacctA
-
-
-
Als Nächstes fügen Sie die folgende Replikationskonfiguration zum
-Bucket hinzu. Sie weist Amazon S3 an, Objekte mit dem Präfixamzn-s3-demo-source-bucket
in denTax/
-Bucket zu replizieren.amzn-s3-demo-destination-bucket
Wichtig
In der Replikationskonfiguration geben Sie die IAM Rolle an, die Amazon S3 übernehmen kann. Dies können Sie nur tun, wenn Sie über die
iam:PassRole
-Berechtigung verfügen. Das Profil, das Sie im CLI Befehl angeben, muss über diese Berechtigung verfügen. Weitere Informationen finden Sie im Benutzerhandbuch unter Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle AWS-Service an einen. IAM<ReplicationConfiguration> <Role>
IAM-Role-ARN
</Role> <Rule> <Priority>1</Priority> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Status>Enabled</Status> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> <Bucket>arn:aws:s3:::
</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>amzn-s3-demo-destination-bucket
AWS KMS key IDs to use for encrypting object replicas
</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> </Rule> </ReplicationConfiguration>Um eine Replikationskonfiguration zum
-Bucket hinzuzufügen, gehen Sie wie folgt vor:amzn-s3-demo-source-bucket
-
AWS CLI Für das müssen Sie die Replikationskonfiguration als angebenJSON. Speichern Sie Folgendes JSON in einer Datei (
) im aktuellen Verzeichnis auf Ihrem lokalen Computer.replication
.json{ "Role":"
IAM-Role-ARN
", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ "Prefix":"Tax
" }, "Destination":{ "Bucket":"arn:aws:s3:::
", "EncryptionConfiguration":{ "ReplicaKmsKeyID":"amzn-s3-demo-destination-bucket
AWS KMS key IDs (in ARN format) to use for encrypting object replicas
" } }, "SourceSelectionCriteria":{ "SseKmsEncryptedObjects":{ "Status":"Enabled" } } } ] } -
Bearbeiten Sie denJSON, um Werte für den
Bucketamzn-s3-demo-destination-bucket
, und anzugebenAWS KMS key IDs (in ARN format)
. Speichern Sie die Änderungen.IAM-role-ARN
-
Verwenden Sie den folgenden Befehl, um die Replikationskonfiguration zu Ihrem
-Bucket hinzuzufügen. Stellen Sie sicher, dass Sie den Namen für denamzn-s3-demo-source-bucket
-Bucket angeben.amzn-s3-demo-source-bucket
$
aws s3api put-bucket-replication \ --replication-configuration file://replication
.json \ --bucket
\ --profileamzn-s3-demo-source-bucket
acctA
-
-
Testen Sie die Konfiguration, um zu überprüfen, ob die verschlüsselten Objekte repliziert werden. Führen Sie in der Amazon-S3-Konsole die folgenden Schritte aus:
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Erstellen Sie im
-Bucket einen Ordner mit dem Namenamzn-s3-demo-source-bucket
.Tax
-
Fügen Sie Beispielobjekte zum Ordner hinzu. Achten Sie darauf, die Verschlüsselungsoption auszuwählen und Ihren KMS Schlüssel zur Verschlüsselung der Objekte anzugeben.
-
Stellen Sie sicher, dass der
Bucket die Objektreplikate enthält und dass sie mit dem KMS Schlüssel verschlüsselt sind, den Sie in der Konfiguration angegeben haben. Weitere Informationen finden Sie unter Abrufen von Replikationsstatusinformationen.amzn-s3-demo-destination-bucket
Ein Code-Beispiel, das zeigt, wie eine Replikationskonfiguration hinzugefügt wird, finden Sie unter Mit dem AWS SDKs. Sie müssen die Replikationskonfiguration entsprechend ändern.