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 AWS Identity and Access Management (IAM-) Rolle, die für den Job angegeben ist, an Batch Operations zu übergeben.

Allgemeine Informationen zur Angabe von IAM-Ressourcen finden Sie in den IAM JSON-Richtlinienelements-Ressourcen im IAM-Benutzerhandbuch. Die folgenden Abschnitte enthalten Informationen zum Erstellen einer IAM-Rolle und zum Anhängen von Richtlinien.

Erstellen einer IAM-Rolle für S3-BatchVorgänge

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 zu den Vertrauens- und Berechtigungsrichtlinien, die Sie beim Erstellen einer IAM-Rolle verwenden. Weitere Informationen finden Sie unter IAM-Rollen im IAM-Benutzerhandbuch. Beispiele finden Sie unter Steuern von Berechtigungen für Batch Operations mithilfe von Auftragsmarkierungen und Kopieren von Objekten mit S3 BatchVorgänge.

Sie können in Ihren IAM-Richtlinien auch Bedingungsschlüssel verwenden, um Zugriffsberechtigungen für S3-BatchVorgängeaufträge zu filtern. Weitere Informationen und eine vollständige Liste der IAM-Berechtigungen, -Ressourcen und -Bedingungsschlüssel für Amazon S3 finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service-Authorization-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.

Das folgende Video zeigt, wie Sie IAM-Berechtigungen für Aufträge für Batchoperationen über die AWS Management Console einrichten.

Vertrauensrichtlinie

Sie fügen der Rolle die folgende Vertrauensrichtlinie an, um dem S3-BatchVorgängeaervice-Prinzipal zu erlauben, die IAM-Rolle zu übernehmen.

JSON
{ "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 Manifeste von Amazon-S3-Bestandsbericht benötigt S3-Batch-Vorgänge die Berechtigung, 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 Batch Operations 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:GenerateDataKey" für das Objekt manifest.json "kms:Decrypt" 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 für den Batch-Job konfigurierten IAM-Rolle erteilen. Wenn Sie diese Berechtigung nicht angeben, schlägt der Batch-Job mit dem Fehler Error occurred when preparing manifest: Failed to write manifest fehl.

Objekte kopieren: PutObject

JSON
{ "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-Tags ersetzen: PutObjectTagging

JSON
{ "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-Tags löschen: DeleteObjectTagging

JSON
{ "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/*" ] } ] }

Zugriffssteuerungsliste ersetzen: PutObjectAcl

JSON
{ "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

JSON
{ "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/*" ] } ] }

Object-Lock-Aufbewahrung anwenden: PutObjectRetention

JSON
{ "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/*" ] } ] }
JSON
{ "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/*" ] } ] }

Bestehende 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 Operations zum Replizieren vorhandener Objekte finden Sie unter Replizieren vorhandener Objekte mit der Batch-Replikation.

JSON
{ "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/*" ] } ] }

Bestehende Objekte replizieren: InitiateReplication mit einem Benutzermanifest

Verwenden Sie diese Richtlinie, wenn Sie ein vom Benutzer bereitgestelltes Manifest verwenden. Weitere Informationen zur Verwendung von Batch Operations zum Replizieren vorhandener Objekte finden Sie unter Replizieren vorhandener Objekte mit der Batch-Replikation.

JSON
{ "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/*" ] } ] }

Prüfsumme berechnen: ZulassenGetObject,, und GetObjectVersionRestoreObjectPutObject

Verwenden Sie diese Richtlinie, wenn Sie versuchen, den Vorgang Checksum berechnen mit S3 Batch Operations zu verwenden. Berechtigungen für GetObjectGetObjectVersion, und RestoreObject sind erforderlich, um die Byte der gespeicherten Daten abzurufen und zu lesen. Ersetzen Sie die Platzhalter für Benutzereingaben durch Ihre eigenen Informationen. Weitere Informationen zur Prüfsumme berechnen finden Sie unter. Überprüfung der Objektintegrität auf ruhende Daten in Amazon S3

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:RestoreObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket3/*" ] } ] }