Replizieren verschlüsselter Objekte - 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 verschlüsselter Objekte

Standardmäßig repliziert Amazon S3 keine Objekte, die mit 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 wurden. Um mit SSE-KMS oder DSSE-KMS verschlüsselte Objekte zu replizieren, müssen Sie die Bucket-Replikationskonfiguration ändern und weisen damit Amazon S3 an, diese Objekte zu replizieren. In diesem Beispiel wird erläutert, wie Sie die Amazon S3-Konsole und die AWS Command Line Interface (AWS CLI) verwenden, um die Bucket-Replikationskonfiguration zu ändern und die Replikation verschlüsselter Objekte zu ermöglichen.

Weitere Informationen finden Sie unter Replizieren von mit serverseitiger Verschlüsselung (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS) erstellten Objekten.

Anmerkung

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. 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 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.

step-by-step Anweisungen finden Sie unter Konfigurieren der Replikation für Quell- und Ziel-Buckets im Eigentum desselben Kontos. Dieses Thema enthält Anweisungen zum Festlegen einer Replikationskonfiguration, wenn sich die Buckets im Besitz desselben und unterschiedlicher befinden AWS-Konten.

Gehen Sie wie folgt vor AWS CLI, um verschlüsselte Objekte mit der zu replizieren:

  • 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 zum Replizieren von Objekten erteilt. Zu den Berechtigungen für die IAM-Rolle gehören die, die zum Replizieren der verschlüsselten Objekte notwendig sind.

  • Fügen Sie eine Replikationskonfiguration zum Quell-Bucket hinzu. Die Replikationskonfiguration stellt Informationen zur Replizierung von Objekten bereit, die mit KMS-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:
  1. In diesem Beispiel erstellen Sie den DOC-EXAMPLE-SOURCE-BUCKET- und DOC-EXAMPLE-DESTINATION-BUCKET-Bucket im selben AWS-Konto. Sie richten auch das Anmeldeinformationsprofil für die AWS CLI ein. Dieses Beispiel verwendet den Profilnamen acctA.

    Weitere Informationen zum Festlegen von Anmeldeinformationsprofilen finden Sie unter Benannte Profile im AWS Command Line Interface -Benutzerhandbuch. Die Befehle in diesem Beispiel können Sie verwenden, indem Sie die user input placeholders durch Ihre eigenen Informationen ersetzen.

  2. Verwenden Sie die folgenden Befehle, um den DOC-EXAMPLE-SOURCE-BUCKET-Bucket zu erstellen und die Versionsverwaltung für diesen zu aktivieren. Mit den folgenden Beispielbefehlen wird der DOC-EXAMPLE-SOURCE-BUCKET-Bucket in der Region USA Ost (Nord-Virginia) (us-east-1) erstellt.

    aws s3api create-bucket \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --region us-east-1 \ --profile acctA
    aws s3api put-bucket-versioning \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --versioning-configuration Status=Enabled \ --profile acctA
  3. Verwenden Sie die folgenden Befehle, um den DOC-EXAMPLE-DESTINATION-BUCKET-Bucket zu erstellen und die Versionsverwaltung für diesen zu aktivieren. Mit den folgenden Beispielbefehlen wird der DOC-EXAMPLE-DESTINATION-BUCKET-Bucket in der Region USA West (Oregon) (us-west-2) erstellt.

    Anmerkung

    Um eine Replikationskonfiguration einzurichten, wenn sich sowohl DOC-EXAMPLE-SOURCE-BUCKET - als auch -DOC-EXAMPLE-DESTINATION-BUCKETBuckets im selben befinden AWS-Konto, verwenden Sie dasselbe Profil. In diesem Beispiel verwenden wir acctA. Zum Konfigurieren der Replikation, wenn sich die Buckets im Besitz unterschiedlicher AWS-Konten befinden, legen Sie verschiedene Profile für die Buckets fest.

    aws s3api create-bucket \ --bucket DOC-EXAMPLE-DESTINATION-BUCKET \ --region us-west-2 \ --create-bucket-configuration LocationConstraint=us-west-2 \ --profile acctA
    aws s3api put-bucket-versioning \ --bucket DOC-EXAMPLE-DESTINATION-BUCKET \ --versioning-configuration Status=Enabled \ --profile acctA
  4. Als Nächstes erstellen Sie eine IAM-Servicerolle. Sie werden diese Rolle in der Replikationskonfiguration angeben, die Sie später zum Bucket DOC-EXAMPLE-SOURCE-BUCKET hinzufügen. Amazon S3 übernimmt diese Rolle, um Objekte in Ihrem Namen zu replizieren. Sie erstellen eine IAM-Rolle in zwei Schritten:

    • Erstellen Sie eine Servicerolle.

    • Fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu.

    1. Um eine IAM-Servicerolle zu erstellen, gehen Sie wie folgt vor:

      1. Kopieren Sie die folgende Vertrauensrichtlinie und speichern Sie sie in einer Datei mit dem Namen s3-role-trust-policy-kmsobj.json im aktuellen Verzeichnis auf Ihrem lokalen Computer. Diese Richtlinie weist dem Amazon-S3-Service-Prinzipal die Berechtigungen zum Annehmen der Rolle zu, damit Amazon S3 Aufgaben in Ihrem Namen durchführen kann.

        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
      2. Verwenden Sie den folgenden Befehl, um die Rolle zu erstellen:

        $ aws iam create-role \ --role-name replicationRolekmsobj \ --assume-role-policy-document file://s3-role-trust-policy-kmsobj.json \ --profile acctA
    2. Als Nächstes fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu. Diese Zugriffsrichtlinie erteilt Berechtigungen für verschiedene Amazon-S3-Bucket- und -Objektaktionen.

      1. Kopieren Sie die folgende Berechtigungsrichtlinie und speichern Sie sie in einer Datei mit dem Namen s3-role-permissions-policykmsobj.json im aktuellen Verzeichnis auf Ihrem lokalen Computer. Sie werden eine IAM-Rolle erstellen und fügen ihr später die Richtlinie an.

        Wichtig

        In der Berechtigungsrichtlinie geben Sie die AWS KMS Schlüssel-IDs an, die für die Verschlüsselung der DOC-EXAMPLE-DESTINATION-BUCKET Buckets DOC-EXAMPLE-SOURCE-BUCKET und verwendet werden. Sie müssen zwei separate KMS-Schlüssel für die Buckets DOC-EXAMPLE-SOURCE-BUCKET und DOC-EXAMPLE-DESTINATION-BUCKET erstellen. AWS KMS keys werden nicht außerhalb der geteilt, AWS-Region in der sie erstellt wurden.

        { "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-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":[ "AWS KMS key IDs(in ARN format) to use for encrypting object replicas" ] } }, "Resource":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/*" ] } }, "Resource":[ "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:::DOC-EXAMPLE-DESTINATION-BUCKET/*" ] } }, "Resource":[ "AWS KMS key IDs(in ARN format) to use for encrypting object replicas" ] } ] }
      2. Erstellen Sie eine Richtlinie und hängen Sie sie an die Rolle an.

        $ aws iam put-role-policy \ --role-name replicationRolekmsobj \ --policy-document file://s3-role-permissions-policykmsobj.json \ --policy-name replicationRolechangeownerPolicy \ --profile acctA
  5. Als Nächstes fügen Sie die folgende Replikationskonfiguration zum DOC-EXAMPLE-SOURCE-BUCKET-Bucket hinzu. Sie weist Amazon S3 an, Objekte mit dem Präfix Tax/ in den DOC-EXAMPLE-DESTINATION-BUCKET-Bucket zu replizieren.

    Wichtig

    In der Replikationskonfiguration legen Sie die IAM-Rolle fest, die Amazon S3 annehmen 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 unter Erteilen von Berechtigungen, mit denen ein Benutzer eine Rolle an einen AWS-Serviceübergeben kann im IAM-Benutzerhandbuch.

    <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:::DOC-EXAMPLE-DESTINATION-BUCKET</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key IDs to use for encrypting object replicas</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> </Rule> </ReplicationConfiguration>

    Um eine Replikationskonfiguration zum DOC-EXAMPLE-SOURCE-BUCKET-Bucket hinzuzufügen, gehen Sie wie folgt vor:

    1. Der AWS CLI erfordert, dass Sie die Replikationskonfiguration als JSON angeben. Speichern Sie den folgenden JSON-Code in einer Datei (replication.json) im aktuellen Verzeichnis auf Ihrem lokalen Computer.

      { "Role":"IAM-Role-ARN", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ "Prefix":"Tax" }, "Destination":{ "Bucket":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET", "EncryptionConfiguration":{ "ReplicaKmsKeyID":"AWS KMS key IDs (in ARN format) to use for encrypting object replicas" } }, "SourceSelectionCriteria":{ "SseKmsEncryptedObjects":{ "Status":"Enabled" } } } ] }
    2. Bearbeiten Sie den JSON-Code, um Werte für den DOC-EXAMPLE-DESTINATION-BUCKET-Bucket, die AWS KMS key IDs (in ARN format) und den IAM-role-ARN anzugeben. Speichern Sie die Änderungen.

    3. Verwenden Sie den folgenden Befehl, um die Replikationskonfiguration zu Ihrem DOC-EXAMPLE-SOURCE-BUCKET-Bucket hinzuzufügen. Stellen Sie sicher, dass Sie den Namen für den DOC-EXAMPLE-SOURCE-BUCKET-Bucket angeben.

      $ aws s3api put-bucket-replication \ --replication-configuration file://replication.json \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --profile acctA
  6. 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:

    1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3-Konsole unter https://console.aws.amazon.com/s3/.

    2. Erstellen Sie im DOC-EXAMPLE-SOURCE-BUCKET-Bucket einen Ordner mit dem Namen Tax.

    3. Fügen Sie Beispielobjekte zum Ordner hinzu. Stellen Sie sicher, dass Sie die Verschlüsselungsoption wählen und Ihren KMS-Schlüssel angeben, um die Objekte zu verschlüsseln.

    4. Vergewissern Sie sich, dass der DOC-EXAMPLE-DESTINATION-BUCKET-Bucket die Objektreplikate enthält und dass sie mithilfe des KMS-Schlüssels verschlüsselt sind, den Sie in der Konfiguration angegeben haben. Weitere Informationen finden Sie unter Abrufen von Replikationsstatusinformationen.

Ein Code-Beispiel, das zeigt, wie eine Replikationskonfiguration hinzugefügt wird, finden Sie unter Verwenden der AWS SDKs. Sie müssen die Replikationskonfiguration entsprechend ändern.

Weitere konzeptuelle Informationen finden Sie unter Replizieren von mit serverseitiger Verschlüsselung (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS) erstellten Objekten.