Wie Amazon S3 eine Anforderung für eine Objekt-Operation autorisiert - 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.

Wie Amazon S3 eine Anforderung für eine Objekt-Operation autorisiert

Wenn Amazon S3 eine Anforderung für eine Bucket-Operation erhält, wandelt es alle relevanten Berechtigungen – ressourcenbasierte Berechtigungen (Objekt-Access-Control-List (ACL), Bucket-Richtlinie, Bucket-ACL) und IAM-Benutzerrichtlinien – in eine Reihe von Richtlinien um, die zur Laufzeit ausgewertet werden sollen. Anschließend wertet es in mehreren Schritten die resultierende Richtlinienmenge aus. Es wertet in jedem Schritt eine Untermenge der Richtlinien in drei spezifischen Kontexten aus – Benutzerkontext, Bucket-Kontext und Objektkontext.

  1. Benutzerkontext — Wenn der Anforderer ein IAM-Principal ist, muss der Principal die Erlaubnis des übergeordneten Unternehmens haben, zu dem er gehört. AWS-Konto In diesem Schritt wertet Amazon S3 eine Untermenge der Richtlinien aus, die dem übergeordneten Konto gehören (auch als Kontextautorität bezeichnet). Diese Richtlinienuntermenge beinhaltet die Benutzerrichtlinie, die das übergeordnete Konto dem Prinzipal zuordnet. Wenn dem übergeordneten Konto auch die Ressource in der Anforderung gehört (Bucket oder Objekt), wertet Amazon S3 gleichzeitig die entsprechenden Ressourcenrichtlinien aus (Bucket-Richtlinie, Bucket-ACL und Objekt-ACL).

    Anmerkung

    Wenn das übergeordnete Objekt AWS-Konto Eigentümer der Ressource (Bucket oder Objekt) ist, kann es seinem IAM-Prinzipal mithilfe der Benutzerrichtlinie oder der Ressourcenrichtlinie Ressourcenberechtigungen gewähren.

  2. Bucket-Kontext – In diesem Kontext wertet Amazon S3 Richtlinien aus, die dem AWS-Konto gehören, dem der Bucket gehört.

    Wenn der AWS-Konto Besitzer des Objekts in der Anfrage nicht mit dem Bucket-Besitzer identisch ist, überprüft Amazon S3 die Richtlinien, ob der Bucket-Besitzer den Zugriff auf das Objekt explizit verweigert hat. Wurde eine explizite Zugriffsverweigerung für das Objekt festgelegt, autorisiert Amazon S3 die Anforderung nicht.

  3. Objekt-Kontext – Der Anforderer muss die Berechtigung vom Objekt-Eigentümer besitzen, eine spezifische Objekt-Operation auszuführen. In diesem Schritt wertet Amazon S3 die Objekt-ACL aus.

    Anmerkung

    Ist der Bucket-Eigentümer gleich dem Objekt-Eigentümer ist, kann der Zugriff auf das Objekt in der Bucket-Richtlinie erteilt werden, die im Bucket-Kontext ausgewertet wird. Unterscheiden sich die Eigentümer, müssen die Objekt-Eigentümer eine Objekt-ACL verwenden, um die Berechtigungen zu erteilen. Wenn es sich bei dem Konto AWS-Konto , dem das Objekt gehört, auch um das übergeordnete Konto handelt, zu dem der IAM-Principal gehört, kann es Objektberechtigungen in einer Benutzerrichtlinie konfigurieren, die im Benutzerkontext ausgewertet wird. Weitere Informationen über die Verwendung dieser Alternativen zu Zugriffsrichtlinien finden Sie unter Anleitungen, die Richtlinien verwenden, um den Zugriff auf Ihre Amazon-S3-Ressourcen zu verwalten.

    Wenn Sie als Bucket-Besitzer Eigentümer aller Objekte in Ihrem Bucket sein und Bucket-Richtlinien oder Richtlinien verwenden möchten, die auf der IAMto Verwaltung des Zugriffs auf diese Objekte basieren, können Sie die erzwungene Einstellung des Bucket-Besitzers für Objekteigentum anwenden. Mit dieser Einstellung besitzen Sie als Bucket-Eigentümer automatisch die volle Kontrolle über jedes Objekt in Ihrem Bucket. Bucket und Objekt ACLs können nicht bearbeitet werden und werden nicht mehr für den Zugriff berücksichtigt. Weitere Informationen finden Sie unter Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.

Nachfolgend sehen Sie eine grafische Darstellung der kontextbasierten Auswertung für eine Objekt-Operation.

Eine Abbildung, die die kontextbasierte Bewertung für eine Objektoperation zeigt.

Beispiel einer Objektoperationsanforderung

In diesem Beispiel sendet die IAM-Benutzerin Jill, deren übergeordnetes Element 1111-1111-1111 AWS-Konto ist, eine Objektoperationsanforderung (z. B.GetObject) für ein Objekt, das AWS-Konto 3333-3333-3333 gehört, in einem Bucket, der 2222-2222-2222 gehört. AWS-Konto

Eine Abbildung, die eine Objektoperationsanforderung zeigt.

Jill benötigt die Erlaubnis des Elternteils, des Bucket-Besitzers und des Objekteigentümers. AWS-Konto Amazon S3 wertet den Kontext wie folgt aus:

  1. Da die Anfrage von einem IAM-Principal stammt, bewertet Amazon S3 den Benutzerkontext, um sicherzustellen, dass das übergeordnete Objekt AWS-Konto 1111-1111-1111 Jill die Erlaubnis erteilt hat, den angeforderten Vorgang auszuführen. Wenn sie die Berechtigung besitzt, wertet Amazon S3 den Bucket-Kontext aus. Andernfalls lehnt Amazon S3 die Anforderung ab.

  2. Im Bucket-Kontext ist der Bucket-Besitzer, 2222-2222-2222, die Kontextautorität. AWS-Konto Amazon S3 wertet die Bucket-Richtlinie aus, um festzustellen, ob der Bucket-Eigentümer Jill explizit die Berechtigung entzogen hat, auf das Objekt zuzugreifen.

  3. Im Objektkontext ist die Kontextautorität das AWS-Konto 3333-3333-3333, der Objekteigentümer. Amazon S3 wertet die Objekt-ACL aus, um festzustellen, ob Jill die Berechtigung besitzt, auf das Objekt zuzugreifen. Ist dies der Fall, autorisiert Amazon S3 die Anfrage.