Gewähren von Berechtigungen für Batchoperationen - 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.

Gewähren von Berechtigungen für Batchoperationen

Bevor Sie S3 Batch Operation-Aufträge erstellen und ausführen, müssen Sie die erforderlichen Berechtigungen erteilen. Um einen Amazon-S3-Batch-Vorgangsauftrag zu erstellen, ist die s3:CreateJob-Benutzerberechtigung erforderlich. Dieselbe Entität, die den Job erstellt, muss auch die iam:PassRole Berechtigung haben, die Rolle AWS Identity and Access Management (IAM), die für den Job angegeben ist, an Batch Operations zu übergeben.

Allgemeine Informationen zur Angabe von IAM Ressourcen finden Sie unter IAMJSONRichtlinie, Ressourcenelemente im IAMBenutzerhandbuch. Die folgenden Abschnitte enthalten Informationen zum Erstellen einer IAM Rolle und zum Anhängen von Richtlinien.

Eine IAM S3-Rolle für Batch Operations erstellen

Amazon S3 benötigt Berechtigungen, um S3-Batch-Vorgänge für Sie auszuführen. Sie gewähren diese Berechtigungen über eine AWS Identity and Access Management (IAM) -Rolle. Dieser Abschnitt enthält Beispiele für die Vertrauens- und Berechtigungsrichtlinien, die Sie beim Erstellen einer IAM Rolle verwenden. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMRollen. Beispiele finden Sie unter Steuern von Berechtigungen für Batch-Operationen mithilfe von Job-Tags und Kopieren von Objekten mit S3 BatchVorgänge.

In Ihren IAM Richtlinien können Sie auch Bedingungsschlüssel verwenden, um Zugriffsberechtigungen für S3 Batch Operations-Jobs zu filtern. Weitere Informationen und eine vollständige Liste der Amazon S3-spezifischen Bedingungsschlüssel finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service Authorization Reference.

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

Das folgende Video zeigt, wie Sie IAM Berechtigungen für Batch Operations-Jobs mithilfe von einrichten AWS Management Console.

Vertrauensrichtlinie

Damit der Dienstprinzipal von S3 Batch Operations die IAM Rolle übernehmen kann, fügen Sie der Rolle die folgende Vertrauensrichtlinie hinzu.

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

Anfügen von Berechtigungsrichtlinien

Je nach Art der Operation können Sie eine der folgenden Richtlinien anfügen.

Bevor Sie Berechtigungen konfigurieren, beachten Sie Folgendes:

  • Unabhängig von der Operation benötigt Amazon S3 Berechtigungen, um das Manifestobjekt aus Ihrem S3-Bucket zu lesen und optional einen Bericht in Ihren Bucket zu schreiben. Daher enthalten alle der folgenden Richtlinien diese Berechtigungen.

  • Für Amazon S3 S3-Inventarberichtsmanifeste benötigt S3 Batch Operations die Erlaubnis, das manifest.json-Objekt und alle zugehörigen CSV Datendateien zu lesen.

  • Versionsspezifische Berechtigungen wie s3:GetObjectVersion sind nur erforderlich, wenn Sie die Versions-ID der Objekte festlegen.

  • Wenn Sie S3-Batchoperationen für verschlüsselte Objekte ausführen, muss die IAM Rolle auch Zugriff auf die AWS KMS Schlüssel haben, mit denen sie verschlüsselt wurden.

  • Wenn Sie ein mit verschlüsseltes Inventarberichtsmanifest einreichen AWS KMS, muss Ihre IAM Richtlinie die Berechtigungen "kms:Decrypt" "kms:GenerateDataKey" für das Objekt manifest.json und alle zugehörigen CSV Datendateien enthalten.

  • Wenn der Batch Operations-Job ein Manifest in einem Bucket generiert, für den Zugriffskontrolllisten (ACLs) aktiviert sind und sich in einem anderen Bucket befindet AWS-Konto, müssen Sie die s3:PutObjectAcl Berechtigung in der IAM Richtlinie der IAM Rolle erteilen, die für den Batch-Job konfiguriert ist. Wenn Sie diese Berechtigung nicht angeben, schlägt der Batch-Job mit der folgenden Fehlermeldung fehlError occurred when preparing manifest: Failed to write manifest.

Objekte kopieren: PutObject

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket", "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Objekt-Tagging ersetzen: PutObjectTagging

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Objekt-Tagging löschen: DeleteObjectTagging

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:DeleteObjectTagging", "s3:DeleteObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Zugriffskontrollliste ersetzen: PutObjectAcl

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObjectAcl", "s3:PutObjectVersionAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Objekte wiederherstellen: RestoreObject

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:RestoreObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Aufbewahrung von Object Lock anwenden: PutObjectRetention

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Effect": "Allow", "Action": [ "s3:PutObjectRetention", "s3:BypassGovernanceRetention" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Effect": "Allow", "Action": "s3:PutObjectLegalHold", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Existierende Objekte replizieren: InitiateReplication mit einem von S3 generierten Manifest

Verwenden Sie diese Richtlinie, wenn Sie ein von S3 generiertes Manifest verwenden und speichern. Weitere Informationen zur Verwendung von Batch-Operationen zum Replizieren vorhandener Objekte finden Sie unterReplizieren vorhandener Objekte mit Batch Replication.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Action":[ "s3:GetReplicationConfiguration", "s3:PutInventoryConfiguration" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*", "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] } ] }

Replizieren Sie vorhandene Objekte: InitiateReplication mit einem Benutzermanifest

Verwenden Sie diese Richtlinie, wenn Sie ein vom Benutzer bereitgestelltes Manifest verwenden. Weitere Informationen zur Verwendung von Batch-Operationen zum Replizieren vorhandener Objekte finden Sie unterReplizieren vorhandener Objekte mit Batch Replication.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }