Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie kopiere ich Amazon S3-Objekte von einem anderen AWS-Konto?
Ich möchte Amazon Simple Storage Service (Amazon S3)-Objekte zwischen AWS-Konten kopieren und sicherstellen, dass das Zielkonto die kopierten Objekte besitzt.
Behebung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.
Das AWS-Konto, das die Objekte hochlädt, ist nicht automatisch Eigentümer der Objekte in Amazon S3. Wenn du die Einstellung S3-Objekteigentümerschaft änderst, empfiehlt es sich, die Einstellung Bucket-Besitzer erzwungen zu verwenden. Die Einstellung Bucket-Eigentümer erzwungen vereinfacht die Zugriffsverwaltung für Daten, die in Amazon S3 gespeichert sind. Diese Option deaktiviert jedoch alle Bucket-Zugriffssteuerungslisten (ACL) und ACL für alle Objekte in deinem Bucket.
Wenn du die Einstellung Bucket-Eigentümer erzwungen in S3-Eigentümerschaft verwendest, besitzt derselbe Bucket-Eigentümer automatisch alle Objekte in einem Amazon S3-Bucket. Bei vorhandenen Buckets ist das Konto, das das S3-Objekt hochlädt, Eigentümer des Objekts, sofern du die ACLs nicht explizit deaktivierst.
Wenn deine bestehende Methode der gemeinsamen Nutzung auf ACL beruht, identifiziere die Prinzipale, die ACL für den Zugriff auf Objekte verwenden. Weitere Informationen findest du unter Voraussetzungen für die Deaktivierung von ACL.
Wenn du deine ACL nicht deaktivieren kannst, gehe wie folgt vor, um das Eigentum an Objekten zu übernehmen, bis du die Bucket-Richtlinie anpassen kannst:
-
Erstelle im Quellkonto eine vom Kunden verwaltete AWS Identity and Access Management (IAM) -Richtlinie, die einer IAM-Identität kontoübergreifenden Zugriff gewährt. Der IAM-Benutzer muss Zugriff haben, um Objekte aus dem Quell-Bucket abzurufen und Objekte in den Ziel-Bucket zu legen.
Beispiel für eine Richtlinie:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::source-DOC-EXAMPLE-BUCKET", "arn:aws:s3:::source-DOC-EXAMPLE-BUCKET/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET", "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*" ] } ] }Hinweis: Diese vorherige IAM-Beispielrichtlinie umfasst nur die erforderlichen Mindestberechtigungen für das kontenübergreifende Auflisten von Objekten und das Kopieren von Objekten in Buckets. Passe die zulässigen S3-Aktionen an deinen Anwendungsfall an. Wenn der Benutzer beispielsweise Objekte kopieren muss, die Objekt-Tags haben, musst du auch Berechtigungen für s3:GetObjectTagging gewähren. Wenn bei dir Berechtigungsfehler auftreten, isoliere als Admin-Benutzer Probleme im Zusammenhang mit IAM.
-
Hänge im Quellkonto die vom Kunden verwaltete Richtlinie an die IAM-Identität an.
-
Lege im Zielkonto für die S3-Objekteigentümerschaft für den Ziel-Bucket die Option Bucket-Eigentümer bevorzugt fest. Das Zielkonto besitzt jetzt automatisch die neuen Objekte, die du hochlädst, wobei die ACL auf bucket-owner-full-control gesetzt ist.
-
Ändere im Zielkonto die Bucket-Richtlinie des Ziels, um dem Quellkonto Berechtigungen zum Hochladen von Objekten zu gewähren. Füge der Bucket-Richtlinie außerdem eine Bedingung hinzu, nach der Objekt-Uploads die ACL auf bucket-owner-full-control setzen müssen.
Beispiel für eine Richtlinie:{ "Version": "2012-10-17", "Id": "Policy1611277539797", "Statement": [ { "Sid": "Stmt1611277535086", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:user/Jane" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "Stmt1611277877767", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:user/Jane" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET" } ] }**Hinweis:**Ersetze destination-DOC-EXAMPLE-BUCKET durch den Namen des Ziel-Buckets und arn:aws:iam::222222222222:user/Jane durch den ARN der IAM-Identität aus dem Quellkonto.
Diese vorherige Beispiel-Bucket-Richtlinie beinhaltet nur die mindestens erforderlichen Berechtigungen für das Hochladen eines Objekts mit der erforderlichen ACL. Passe die zulässigen S3-Aktionen an deinen Anwendungsfall an. -
Stelle sicher, dass die ACL auf bucket-owner-full-control gesetzt ist, damit die IAM-Identität des Quellkontos Objekte in den Ziel-Bucket hochladen kann. Beispielsweise muss die Quell-IAM-Identität den AWS CLI-Befehl cp mit der Option —acl ausführen:
aws s3 cp s3://source-DOC-EXAMPLE-BUCKET/object.txt s3://destination-DOC-EXAMPLE-BUCKET/object.txt --acl bucket-owner-full-controlIm vorherigen Beispiel kopiert der Befehl die Datei object.txt. Um einen ganzen Ordner zu kopieren, führe den folgenden Befehl aus:
aws s3 cp directory/ s3://bucketname/directory --recursive --acl bucket-owner-full-control**Hinweis:**Wenn du einen AccessDenied-Fehler erhältst, findest du weitere Informationen unter Beheben von Fehlern mit Zugriffsverweigerung (403 Forbidden) in Amazon S3.
**Wichtig:**Wenn für Ihren S3-Bucket die Standardverschlüsselung mit aktiviertem AWS Key Management Service (AWS KMS) aktiviert ist, müssen Sie auch die AWS KMS-Schlüsselberechtigungen ändern. Anweisungen findest du unter Mein Amazon S3-Bucket verfügt über eine Standardverschlüsselung mit einem benutzerdefinierten AWS KMS-Schlüssel. Wie kann ich Benutzern erlauben, aus dem Bucket herunterzuladen und in den Bucket hochzuladen?
Informationen zum Kopieren großer Datenmengen zwischen S3-Buckets findest du unterWas ist der beste Weg, um große Datenmengen von einem Amazon S3 Bucket in einen anderen zu übertragen?Siehe auch Wie kann ich die Leistung optimieren, wenn ich große Datenmengen auf Amazon S3 hochlade?
Ähnliche Informationen
Examples of Amazon S3 bucket policies
Beispiel 2: Bucket-Besitzer gewährt kontoübergreifende Bucket-Berechtigungen
- Themen
- Storage
- Sprache
- Deutsch
Ähnliche Videos


Relevanter Inhalt
AWS OFFICIALAktualisiert vor 4 Monaten
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 8 Monaten