Global outage event
If you’re experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
Warum kann ich nicht auf ein Objekt zugreifen, das von einem anderen AWS-Konto in meinen Amazon S3-Bucket hochgeladen wurde?
Ein AWS Identity and Access Management (IAM)-Benutzer von einem anderen AWS-Konto hat ein Objekt in meinen Amazon Simple Storage Service (Amazon S3)-Bucket hochgeladen. Wenn ich versuche, auf dieses Objekt zuzugreifen, erhalte ich den Fehler 403 Access Denied. Wie kann ich das beheben?
Kurzbeschreibung
Bei vorhandenen Amazon S3-Buckets mit den Standardeinstellungen für Objekteigentümer ist der Objekteigentümer das AWS-Konto, das das Objekt in den Bucket hochgeladen hat. Für diese vorhandenen Buckets musste ein Objekteigentümer einem Objekt explizit Berechtigungen gewähren (indem er eine Zugriffskontrollliste anfügte). Andernfalls könnte der Bucket-Besitzer nicht auf das Objekt zugreifen.
Mit S3 Object Ownership können Bucket-Besitzer jetzt den Besitz aller Objekte verwalten, die in ihre Buckets hochgeladen wurden. Standardmäßig ist für alle neu erstellten S3-Buckets die vom Bucket-Besitzer erzwungene Einstellung aktiviert. Wenn die Einstellung Bucket-Besitzer erzwungen aktiviert ist, werden Bucket-Besitzer zu Objekt-Besitzern für alle Objekte innerhalb des Buckets. Darüber hinaus sind alle ACLs in einem Bucket und seinen Objekten deaktiviert.
Sie können den S3-Objektbesitz auch für bestehende Buckets festlegen, indem Sie entweder die Einstellung Bucket-Besitzer erzwungen oder Bucket-Besitzer empfohlen aktivieren. Wenn die Einstellung Bucket-Besitzer empfohlen aktiviert ist, sind ACLs immer noch aktiviert. Außerdem gehören nur Objekte, die mit einer bucket-owner-full-control-ACL in den Bucket hochgeladen wurden, dem Bucket-Besitzer. Wenn Sie die Einstellung Bucket-Besitzer erzwungen für einen vorhandenen Bucket aktivieren, beachten Sie, dass Sie sie auch jederzeit deaktivieren können. (Wenn Sie die Einstellung Bucket-Besitzer erzwungen für einen vorhandenen Bucket deaktivieren, werden alle zuvor angewendeten Buckets und Objekt-ACLs wieder aktiviert.)
Es ist eine bewährte Methode, dass Bucket-Besitzer die Einstellung für Bucket-Besitzer erzwungen für neue und bestehende Buckets verwenden und gleichzeitig die Berechtigungen mithilfe von IAM- und Bucket-Richtlinien verwalten.
Wichtig: Bevor Sie ACLs für vorhandene Buckets deaktivieren, sollten Sie die möglichen Auswirkungen abschätzen. Wenn ein Objekt oder Bucket mehrere ACLs enthält, überprüfen und aktualisieren Sie Ihre Bucket- und IAM-Richtlinien, um die erforderlichen Berechtigungen zu gewähren.
Lösung
Führen Sie den folgenden Befehl aus, um ACLs für Ihren Bucket zu deaktivieren und den Besitz für alle Objekte im Bucket zu übernehmen:
aws s3api put-bucket-ownership-controls --bucket example-bucket --ownership-controls 'Rules=[{ObjectOwnership=BucketOwnerEnforced}]'
Wenn Sie ACLs in Ihrem Bucket nicht deaktivieren können, verwenden Sie die folgenden Optionen, um Zugriff auf Objekte in Ihrem Bucket zu gewähren.
Zugriff während eines Put- oder Kopiervorgangs gewähren
Während eines Put- oder Kopiervorgangs kann der Objekt-Besitzer angeben, dass die ACL des Objekts dem Bucket-Besitzer die volle Kontrolle gibt.
Für eine Put-Operation kann der Objekt-Besitzer diesen Befehl ausführen:
aws s3api put-object --bucket destination_DOC-EXAMPLE-BUCKET --key dir-1/my_images.tar.bz2 --body my_images.tar.bz2 --acl bucket-owner-full-control
Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden.
Für einen Kopiervorgang eines einzelnen Objekts kann der Objekt-Besitzer einen der folgenden Befehle ausführen:
aws s3api copy-object --bucket destination_DOC-EXAMPLE-BUCKET --key source_DOC-EXAMPLE-BUCKET/myobject --acl bucket-owner-full-control
-oder-
aws s3 cp s3://source_DOC-EXAMPLE-BUCKET/myobject s3://destination_DOC-EXAMPLE-BUCKET/ --acl bucket-owner-full-control
Für einen Kopiervorgang mehrerer Objekte kann der Objekt-Besitzer den folgenden Befehl ausführen:
aws s3 cp s3://source_DOC-EXAMPLE-BUCKET/ s3://destination_DOC-EXAMPLE-BUCKET/ --acl bucket-owner-full-control --recursive
Zugriff gewähren, nachdem das Objekt dem Bucket hinzugefügt wurde
Wenn sich das Objekt bereits in einem Bucket in einem anderen Konto befindet, kann der Objekt-Besitzer dem Bucket-Besitzer mit einem Befehl put-object-acl Zugriff gewähren:
aws s3api put-object-acl --bucket destination_DOC-EXAMPLE-BUCKET --key keyname --acl bucket-owner-full-control
Verlangen, dass Objekte dem Bucket-Besitzer die volle Kontrolle gewähren
Sie können eine Bucket-Richtlinie verwenden, um zu verlangen, dass für alle Objekte, die von einem anderen Konto in Ihren Bucket hochgeladen werden, die ACL auf „bucket-owner-full-control“ gesetzt wird. Ein Beispiel finden Sie unter Wenn andere AWS-Konten Objekte in meinen S3-Bucket hochladen, wie kann ich verlangen, dass sie mir das Eigentum an Objekten gewähren?
Ähnliche Informationen
IAM-Tutorial: Delegieren Sie den Zugriff über AWS-Konten mithilfe von IAM-Rollen
- Themen
- Storage
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr