Einrichten von Berechtigungen für die Replikation - Amazon Simple Storage Service

Einrichten von Berechtigungen für die Replikation

Wenn Sie die Replikation einrichten, müssen Sie die erforderlichen Berechtigungen wie folgt erwerben:

  • Erstellen Sie eine IAM-Rolle – Amazon S3 benötigt Berechtigungen, um Objekte in Ihrem Namen zu replizieren. Sie erteilen diese Berechtigungen, indem Sie eine IAM-Rolle erstellen und die Rolle in der Replikationskonfiguration festlegen.

  • Wenn sich der Quell- und der Ziel-Bucket im Besitz verschiedener AWS-Konten befinden, muss der Eigentümer des Ziel-Buckets dem Quell-Bucket-Eigentümer die Berechtigungen zum Speichern der Replikate erteilen.

Erstellen einer IAM-Rolle

Standardmäßig sind alle Amazon S3-Ressourcen – Buckets, Objekte und zugehörige Unterressourcen – privat: Nur der Ressourceninhaber kann auf die Ressource zugreifen. Um Objekte aus dem Quell-Bucket zu lesen und im Ziel-Bucket zu replizieren, benötigt Amazon S3 die Berechtigungen zum Durchführen dieser Aufgaben. Sie erteilen diese Berechtigungen, indem Sie eine IAM-Rolle erstellen und die Rolle in der Replikationskonfiguration festlegen.

In diesem Abschnitt werden die Vertrauensrichtlinie und die mindestens erforderliche Berechtigungsrichtlinie erläutert. Diese Beispielanleitungen enthalten Schritt-für-Schritt-Anweisungen zum Erstellen einer IAM-Rolle. Weitere Informationen finden Sie unter Replikations-Walkthroughs.

  • Im Folgenden wird eine Vertrauensrichtlinie gezeigt, bei der Sie Amazon S3 als den Service-Prinzipal identifizieren, der die Rolle übernehmen kann.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

    Weitere Informationen zu IAM-Rollen finden Sie unter IAM-Rollen im IAM-Benutzerhandbuch.

  • Im Folgenden wird eine Zugriffsrichtlinie gezeigt, bei der Sie der Rolle die Berechtigungen erteilen, Replikationsaufgaben in Ihrem Namen durchzuführen. Wenn Amazon S3 die Rolle annimmt, verfügt es über die Berechtigungen, die Sie in dieser Richtlinie angeben.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::source-bucket" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3:::source-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource":"arn:aws:s3:::destination-bucket/*" } ] }

    Die Zugriffsrichtlinie erteilt Berechtigungen für folgenden Aktionen:

    • s3:GetReplicationConfiguration und s3:ListBucket – Berechtigungen für diese Aktionen für den Quell-Bucket gestatten es Amazon S3, die Replikationskonfiguration abzurufen und die Bucket-Inhalte aufzulisten (das aktuelle Berechtigungsmodell erfordert die s3:ListBucket-Berechtigung für den Zugriff auf Löschmarkierungen).

    • s3:GetObjectVersion und s3:GetObjectVersionAcl – Berechtigungen für diese Aktionen, die für alle Objekte erteilt wurden, gestatten es Amazon S3, eine bestimmte Objektversion zu erhalten und auf die mit Objekten verknüpfte Zugriffskontrollliste (ACL) zuzugreifen.

    • s3:ReplicateObject und s3:ReplicateDelete – Berechtigungen für diese Aktionen für Objekte im Ziel-Bucket gestatten es Amazon S3, Objekte oder Löschmarkierungen in den Ziel-Bucket zu replizieren. Informationen zu Löschmarkierungen finden Sie unter Auswirkungen von Löschvorgängen auf die Replikation.

      Anmerkung

      Berechtigungen für die Aktion s3:ReplicateObject für den Ziel-Bucket erlauben auch die Replikation von Objekt-Tags, sodass Sie die Berechtigung für die Aktion s3:ReplicateTags nicht explizit erteilen müssen.

    • s3:GetObjectVersionTagging – Berechtigungen für diese Aktion für Objekte im Quell-Bucket gestatten es Amazon S3, Objekt-Tags für die Replikation zu lesen (siehe Markieren von Objekten). Wenn Amazon S3 nicht über diese Berechtigungen verfügt, repliziert es die Objekte, aber nicht die Objekt-Tags.

    Eine Liste der Amazon S3-Aktionen finden Sie unter Amazon S3-Aktionen.

    Wichtig

    Das AWS-Konto, das die IAM-Rolle besitzt, muss über Berechtigungen für die Aktionen verfügen, die es der IAM-Rolle erteilt.

    Angenommen, der Quell-Bucket enthält beispielsweise Objekte, die im Besitz eines anderen AWS-Kontos sind. Der Eigentümer der Objekte muss dem AWS-Konto, das die IAM-Rolle besitzt, die erforderlichen Berechtigungen explizit über die Objekt-ACL erteilen. Andernfalls kann Amazon S3 nicht auf die Objekte zugreifen, und die Replikation dieser Objekte schlägt fehl. Weitere Informationen zu ACL-Berechtigungen finden Sie unter Zugriffskontrolllisten (ACL) – Übersicht.

    Die hier beschriebenen Berechtigungen gehören zur Mindestreplikationskonfiguration. Wenn Sie optionale Replikationskonfigurationen hinzufügen möchten, müssen Sie Amazon S3 zusätzliche Berechtigungen erteilen. Weitere Informationen finden Sie unter Zusätzliche Replikationskonfigurationen.

Erteilen von Berechtigungen, wenn sich Quell- und Ziel-Buckets im Besitz verschiedener AWS-Konten befinden

Wenn sich der Quell- und der Ziel-Bucket im Besitz von unterschiedlichen Konten befinden, muss der Eigentümer des Ziel-Buckets auch eine Bucket-Richtlinie hinzufügen, um dem Eigentümer des Quell-Buckets die Berechtigung zum Ausführen von Replikationsaktionen wie folgt zu erteilen.

{ "Version":"2008-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"1", "Effect":"Allow", "Principal":{ "AWS":"SourceBucket-AcctID" }, "Action":[ "s3:ReplicateDelete", "s3:ReplicateObject" ], "Resource":"arn:aws:s3:::destinationbucket/*" }, { "Sid":"2", "Effect":"Allow", "Principal":{ "AWS":"SourceBucket-AcctID" }, "Action": [ "s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource":"arn:aws:s3:::destinationbucket" } ] }

Ein Beispiel finden Sie unter Beispiel 2: Konfigurieren der Replikation, wenn sich Quell- und Ziel-Buckets im Besitz verschiedener Konten befinden..

Wenn Objekte im Quell-Bucket mit einem Tag versehen sind, beachten Sie Folgendes:

  • Wenn der Eigentümer des Quell-Buckets Amazon S3 die Berechtigung für die Aktionen s3:GetObjectVersionTagging und s3:ReplicateTags zum Replizieren von Objekt-Tags (über die IAM-Rolle) erteilt, repliziert Amazon S3 die Tags zusammen mit den Objekten. Weitere Information zur IAM-Rolle finden Sie unter Erstellen einer IAM-Rolle.

  • Wenn der Eigentümer des Ziel-Buckets die Tags nicht replizieren will, kann er die folgende Anweisung zur Richtlinie für den Ziel-Bucket hinzufügen, um die Berechtigung für die Aktion s3:ReplicateTags explizit zu verweigern.

    ... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-AcctID:root" }, "Action":["s3:ReplicateTags"], "Resource":"arn:aws:s3:::destinationbucket/*" } ] ...

Ändern der Replikateigentümerschaft

Wenn verschiedene AWS-Konten Quell- und Ziel-Bucket besitzen, können Sie Amazon S3 anweisen, die Eigentümerschaft des Replikats zu dem AWS-Konto zu ändern, das den Ziel-Bucket besitzt. Dies wird als Eigentümer-Überschreibungs-Option bezeichnet. Weitere Informationen finden Sie unter Ändern des Replikateigentümers.