Einrichten von Berechtigungen für die Live-Replikation - 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.

Einrichten von Berechtigungen für die Live-Replikation

Wenn Sie eine Live-Replikation in Amazon S3 einrichten, müssen Sie die erforderlichen Berechtigungen wie folgt einholen:

  • Amazon S3 benötigt Berechtigungen, um Objekte in Ihrem Namen zu replizieren. Sie gewähren diese Berechtigungen, indem Sie eine AWS Identity and Access Management (IAM-) Rolle erstellen und diese Rolle dann in Ihrer Replikationskonfiguration angeben.

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

Berechtigungen zum Erstellen von Replikationsregeln einrichten

Der IAM-Benutzer oder die IAM-Rolle, die Sie zum Erstellen von Replikationsregeln verwenden, benötigt Berechtigungen zum Erstellen von Replikationsregeln für unidirektionale oder bidirektionale Replizierungen. Wenn der Benutzer oder die Rolle nicht über diese Berechtigungen verfügt, können Sie keine Replikationsregeln erstellen. Weitere Informationen finden Sie unter IAM-Identitäten im IAM-Benutzerhandbuch.

Der Benutzer oder die Rolle benötigt die folgenden Aktionen:

  • iam:AttachRolePolicy

  • iam:CreatePolicy

  • iam:CreateServiceLinkedRole

  • iam:PassRole

  • iam:PutRolePolicy

  • s3:GetBucketVersioning

  • s3:GetObjectVersionAcl

  • s3:GetObjectVersionForReplication

  • s3:GetReplicationConfiguration

  • s3:PutReplicationConfiguration

Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie, die diese Aktionen umfasst.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetAccessPoint", "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:ListAccessPoints", "s3:ListAllMyBuckets", "s3:PutReplicationConfiguration", "s3:GetReplicationConfiguration", "s3:GetBucketVersioning", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObject", "s3:ListBucket", "s3:GetObjectVersion", "s3:GetBucketOwnershipControls", "s3:PutBucketOwnershipControls", "s3:GetObjectLegalHold", "s3:GetObjectRetention", "s3:GetBucketObjectLockConfiguration" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1-*", "arn:aws:s3:::amzn-s3-demo-bucket2-*/*" ] }, { "Effect": "Allow", "Action": [ "s3:List*AccessPoint*", "s3:GetMultiRegion*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:Get*", "iam:CreateServiceLinkedRole", "iam:CreateRole", "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/service-role/s3*" }, { "Effect": "Allow", "Action": [ "iam:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:PutRolePolicy", "iam:CreatePolicy" ], "Resource": [ "arn:aws:iam::*:policy/service-role/s3*", "arn:aws:iam::*:role/service-role/s3*" ] } ] }

Erstellen einer IAM-Rolle

Standardmäßig sind alle Amazon-S3-Ressourcen – Buckets, Objekte und zugehörige Unterressourcen – privat, sodass nur der Ressourcenbesitzer auf die Ressource zugreifen kann. Amazon S3 benötigt Berechtigungen zum Lesen und Replizieren von Objekten aus dem Quell-Bucket. Sie erteilen diese Berechtigungen, indem Sie eine IAM-Rolle erstellen und die Rolle in Ihrer Replikationskonfiguration festlegen.

In diesem Abschnitt werden die Vertrauensrichtlinie und die mindestens erforderliche Berechtigungsrichtlinie erläutert, die dieser IAM-Rolle hinzugefügt werden. Die exemplarischen Vorgehensweisen enthalten step-by-step Anweisungen zum Erstellen einer IAM-Rolle. Weitere Informationen finden Sie unter Beispiele für die Konfiguration einer Live-Replikation.

Die Vertrauensrichtlinie legt fest, welche Prinzipalidentitäten die IAM-Rolle übernehmen können. Die Berechtigungsrichtlinie legt fest, welche Aktionen die IAM-Rolle für welche Ressourcen und unter welchen Bedingungen ausführen kann.

  • Das folgende Beispiel zeigt eine Vertrauensrichtlinie, bei der Sie Amazon S3 als AWS-Service Principal identifizieren, der die Rolle übernehmen kann:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
  • Das folgende Beispiel zeigt eine Vertrauensrichtlinie, bei der Sie Amazon S3 und S3-Batch-Vorgänge als Service-Prinzipale identifizieren, die die Rolle übernehmen können. Wenden Sie diesen Ansatz an, wenn Sie einen Batch-Replikationsauftrag erstellen. Weitere Informationen finden Sie unter Einen Batch-Replikationsauftrag für neue Replikationsregeln oder Ziele erstellen.

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

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

  • Das folgende Beispiel zeigt eine Zugriffsrichtlinie, bei der Sie der IAM-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. In dieser Richtlinie ist amzn-s3-demo-source-bucket der Quell-Bucket und amzn-s3-demo-destination-bucket der Ziel-Bucket.

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

    Die Berechtigungsrichtlinie erteilt Berechtigungen für die folgenden Aktionen:

    • s3:GetReplicationConfiguration und s3:ListBucket – Berechtigungen für diese Aktionen im Bucket amzn-s3-demo-source-bucket erlauben es Amazon S3, die Replikationskonfiguration abzurufen und den Bucket-Inhalt aufzulisten. (Das aktuelle Berechtigungsmodell erfordert die s3:ListBucket-Berechtigung für den Zugriff auf Löschmarkierungen.)

    • s3:GetObjectVersionForReplication und s3:GetObjectVersionAcl – Berechtigungen für diese Aktionen, die für alle Objekte erteilt wurden, erlauben es Amazon S3, eine bestimmte Objektversion und eine mit Objekten verknüpfte Zugriffssteuerungsliste (ACL) abzurufen.

    • s3:ReplicateObject und s3:ReplicateDelete – Berechtigungen für diese Aktionen für alle Objekte im amzn-s3-demo-destination-bucket-Bucket erlauben 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

      Die Berechtigungen für die s3:ReplicateObject Aktion im amzn-s3-demo-destination-bucket Bucket ermöglichen auch die Replikation von Metadaten wie Objekt-Tags und ACLs. Daher müssen Sie für die s3:ReplicateTags-Aktion keine explizite Berechtigung erteilen.

    • s3:GetObjectVersionTagging – Berechtigungen für diese Aktion für Objekte im Bucket amzn-s3-demo-source-bucket erlauben es Amazon S3, Objektmarkierungen für die Replikation zu lesen. Weitere Informationen über Objekt-Markierungen finden Sie unter Kategorisieren des Speichers mithilfe von Markierungen. Wenn Amazon S3 nicht über die Berechtigung s3:GetObjectVersionTagging verfügt, repliziert es die Objekte, aber nicht die Objektmarkierungen.

    Eine Liste von Amazon-S3-Aktionen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service-Autorisierungs-Referenz.

    Weitere Informationen zu den Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen.

    Wichtig

    AWS-Konto Derjenige, der die IAM-Rolle besitzt, muss über Berechtigungen für die Aktionen verfügen, die er der IAM-Rolle gewährt.

    Angenommen, der Quell-Bucket enthält beispielsweise Objekte, die im Besitz eines anderen AWS-Konto sind. Der Besitzer der Objekte muss demjenigen AWS-Konto , dem die IAM-Rolle gehört, die erforderlichen Berechtigungen über die Zugriffskontrolllisten der Objekte () ausdrücklich gewähren. ACLs 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 Mindest-Replikationskonfiguration. Wenn Sie optionale Replikationskonfigurationen hinzufügen möchten, müssen Sie Amazon S3 zusätzliche Berechtigungen gewähren:

    • Um verschlüsselte Objekte zu replizieren, müssen Sie auch die erforderlichen Schlüsselberechtigungen AWS Key Management Service (AWS KMS) gewähren. Weitere Informationen finden Sie unter Replizieren verschlüsselter Objekte (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

    • Um Object Lock mit der Replikation zu verwenden, müssen Sie zwei zusätzliche Berechtigungen für den Quell-S3-Bucket in der AWS Identity and Access Management (IAM) -Rolle gewähren, mit der Sie die Replikation einrichten. Die zwei neuen Berechtigungen sind s3:GetObjectRetention und s3:GetObjectLegalHold. Wenn die Rolle über eine s3:Get*-Berechtigungsanweisung verfügt, ist die Anforderung dadurch erfüllt. Weitere Informationen finden Sie unter Verwenden von Object Lock mit der S3-Replikation.

Erteilen von Berechtigungen, wenn die Quell- und Ziel-Buckets unterschiedlichen Besitzern gehören AWS-Konten

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 zu erteilen, wie im folgenden Beispiel gezeigt. In dieser Beispielrichtlinie ist amzn-s3-demo-destination-bucket der Ziel-Bucket.

Sie können diese Bucket-Richtlinie auch automatisch über die Amazon-S3-Konsole für Sie generieren lassen. Weitere Informationen finden Sie unter Den Empfang replizierter Objekte aus einem Quell-Bucket aktivieren.

Anmerkung

Das ARN-Format der Rolle könnte anders aussehen. Wenn die Rolle mit der Konsole erstellt wurde, lautet das ARN-Format arn:aws:iam::account-ID:role/service-role/role-name. Wenn die Rolle mit dem erstellt wurde AWS CLI, lautet das ARN-Formatarn:aws:iam::account-ID:role/role-name. Weitere Informationen finden Sie unter IAM-Rollen im IAM-Benutzerhandbuch.

{ "Version":"2012-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":[ "s3:ReplicateDelete", "s3:ReplicateObject" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Sid":"Permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket" } ] }

Ein Beispiel finden Sie unter Konfigurieren einer Replikation bei Buckets in verschiedenen Konten.

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. In dieser Richtlinie ist amzn-s3-demo-destination-bucket der Ziel-Bucket.

    ... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-id:role/service-role/source-account-IAM-role" }, "Action":"s3:ReplicateTags", "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] ...
Anmerkung
  • Wenn Sie verschlüsselte Objekte replizieren möchten, müssen Sie auch die erforderlichen Berechtigungen für den AWS KMS-Schlüssel ( AWS Key Management Service ) erteilen. Weitere Informationen finden Sie unter Replizieren verschlüsselter Objekte (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

  • Um Object Lock mit der Replikation zu verwenden, müssen Sie zwei zusätzliche Berechtigungen für den S3-Quell-Bucket in der AWS Identity and Access Management (IAM) -Rolle gewähren, mit der Sie die Replikation einrichten. Die zwei neuen Berechtigungen sind s3:GetObjectRetention und s3:GetObjectLegalHold. Wenn die Rolle über eine s3:Get*-Berechtigungsanweisung verfügt, ist die Anforderung dadurch erfüllt. Weitere Informationen finden Sie unter Verwenden von Object Lock mit der S3-Replikation.

Den Empfang replizierter Objekte aus einem Quell-Bucket aktivieren

Anstatt die vorherige Richtlinie manuell zu Ihrem Ziel-Bucket hinzuzufügen, können Sie schnell die Richtlinien generieren, die erforderlich sind, um den Empfang replizierter Objekte aus einem Quell-Bucket über die Amazon-S3-Konsole zu aktivieren.

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

  2. Wählen Sie im linken Navigationsbereich Buckets aus.

  3. Wählen Sie in der Liste Buckets den Bucket aus, den Sie als Ziel-Bucket verwenden möchten.

  4. Wählen Sie die Registerkarte Management (Verwaltung) aus und scrollen Sie nach unten zu Replication rules (Replikationsregeln).

  5. Wählen Sie für Actions (Aktionen) die Option Receive replicated objects (Replizierte Objekte empfangen) aus.

    Folgen Sie den Anweisungen, geben Sie die AWS-Konto ID des Quell-Bucket-Kontos ein und wählen Sie dann Richtlinien generieren aus. Die Konsole generiert daraufhin eine Amazon-S3-Bucket-Richtlinie und eine KMS-Schlüsselrichtlinie.

  6. Wenn Sie diese Richtlinie Ihrer bestehenden Bucket-Richtlinie hinzufügen möchten, wählen Sie entweder Apply settings (Einstellungen anwenden) oder Copy (Kopieren) aus, um die Änderungen manuell zu kopieren.

  7. (Optional) Kopieren Sie die AWS KMS Richtlinie in die gewünschte KMS-Schlüsselrichtlinie in der AWS Key Management Service Konsole.

Ändern des Replikatbesitzers

Wenn unterschiedliche AWS-Konten Eigentümer des Quell- und des Ziel-Buckets sind, können Sie Amazon S3 anweisen, den Eigentümer des Replikats auf den Eigentümer des Ziel-Buckets zu ändern. AWS-Konto Weitere Informationen zum Außerkraftsetzen des Besitzers finden Sie unter Ändern des Replikat-Eigentümers.

Gewähren von Berechtigungen für S3-Batch-Operationen

Die S3-Batch-Replikation bietet Ihnen die Möglichkeit, die folgenden Objekte zu replizieren:

  • Objekte, die vor dem Einrichten einer Replikationskonfiguration existierten

  • Objekte, die bereits repliziert wurden

  • Objekte, deren Replikation fehlgeschlagen ist

Beim Erstellen der ersten Regel in einer neuen Replikationskonfiguration oder beim Hinzufügen eines neuen Ziels zu einer vorhandenen Konfiguration über die Amazon-S3-Konsole können Sie einen einmaligen Batch-Replikationsauftrag erstellen. Sie können die Batch-Replikation auch für eine bestehende Replikationskonfiguration initiieren, indem Sie einen Batch-Operationsauftrag erstellen.

Beispiele für eine Batch-Replikations-IAM-Rolle und entsprechende Richtlinien finden Sie unter Konfigurieren einer IAM-Rolle für die S3-Batch-Replikation.