Wie Amazon S3 eine Anforderung 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 autorisiert

Wenn Amazon S3 eine Anforderung erhält – z. B. ein Bucket oder eine Objektoperation –, überprüft es zuerst, ob der Auftraggeber die erforderlichen Berechtigungen besitzt. Amazon S3 bewertet alle relevanten Zugriffsrichtlinien, Benutzerrichtlinien und ressourcenbasierten Richtlinien (Bucket-Richtlinie, Bucket-Zugriffskontrollliste (ACL) und ObjektACL), um zu entscheiden, ob die Anfrage autorisiert werden soll.

Anmerkung

Wenn bei der Amazon S3-Berechtigungsprüfung keine gültigen Berechtigungen gefunden werden, wird die Fehlermeldung Zugriff verweigert (403 Forbidden) Permission denied (403 Forbidden) zurückgegeben. Weitere Informationen finden Sie unter Problembehandlung bei Access Denied (403 Forbidden) in Amazon S3.

Um festzustellen, ob der Anforderer berechtigt ist, den bestimmten Vorgang auszuführen, geht Amazon S3 bei Eingang einer Anfrage wie folgt vor:

  1. Konvertiert alle relevanten Zugriffsrichtlinien (Benutzerrichtlinie, Bucket-Richtlinie undACLs) zur Laufzeit in eine Reihe von Richtlinien zur Auswertung.

  2. Es wertet in den folgenden Schritten die resultierende Richtlinienmenge aus. Amazon S3 wertet in jedem Schritt eine Untermenge der Richtlinien in einem spezifischen Kontext aus, basierend auf der Kontextautorität.

    1. Benutzerkontext – Im Benutzerkontext ist das übergeordnete Konto, zu dem der Benutzer gehört, die Kontextautorität.

      Amazon S3 wertet eine Untermenge der Richtlinien aus, die dem übergeordneten Konto gehören. Diese Untermenge beinhaltet die Benutzerrichtlinie, die das übergeordnete Konto dem Benutzer zuordnet. Wenn das übergeordnete Objekt auch Eigentümer der Ressource in der Anfrage ist (Bucket oder Objekt), bewertet Amazon S3 gleichzeitig auch die entsprechenden Ressourcenrichtlinien (Bucket-RichtlinieACL, Bucket und ObjektACL).

      Ein Benutzer benötigt die Berechtigung von dem übergeordneten Konto, um die Operation auszuführen.

      Dieser Schritt wird nur angewendet, wenn die Anforderung von einem Benutzer in einem AWS-Konto gestellt wurde. Wenn die Anfrage mit den Root-Benutzeranmeldedaten eines gestellt wird AWS-Konto, überspringt Amazon S3 diesen Schritt.

    2. Bucket-Kontext — Im Bucket-Kontext wertet Amazon S3 Richtlinien aus, die demjenigen gehören AWS-Konto , dem der Bucket gehört.

      Erfolgt die Anforderung für eine Bucket-Operation, muss der Auftraggeber die Berechtigung vom Bucket-Eigentümer besitzen. Erfolgt die Anforderung für ein Objekt, wertet Amazon S3 alle Richtlinien aus, die dem Bucket-Eigentümer gehören, um zu überprüfen, ob der Bucket-Eigentümer für das Objekt eine explizite Zugriffsverweigerung festgelegt hat. Wurde eine explizite Zugriffsverweigerung festgelegt, autorisiert Amazon S3 die Anforderung nicht.

    3. Objektkontext – Erfolgt die Anforderung für ein Objekt, wertet Amazon S3 die Untermenge der Richtlinien aus, die dem Objekteigentümer gehören.

Im Folgenden finden Sie einige Beispielszenarien, die veranschaulichen, wie Amazon S3 eine Anfrage autorisiert.

Beispiel — Der Anforderer ist ein Principal IAM

Wenn es sich bei dem Antragsteller AWS-Konto um einen IAM Principal handelt, muss Amazon S3 feststellen, ob das Mutterunternehmen, dem der Principal angehört, dem Principal die erforderliche Genehmigung zur Durchführung des Vorgangs erteilt hat. Erfolgt die Anforderung darüber hinaus für eine Bucket-Operation, wie beispielsweise eine Anforderung, den Bucket-Inhalt aufzulisten, muss Amazon S3 prüfen, ob der Bucket-Eigentümer dem Auftraggeber die Berechtigung erteilt hat, die Operation auszuführen. Um einen bestimmten Vorgang mit einer Ressource durchzuführen, benötigt ein IAM Principal die Genehmigung sowohl von der Muttergesellschaft, AWS-Konto zu der sie gehört, als auch von der Person AWS-Konto , der die Ressource gehört.

Beispiel — Der Anforderer ist ein IAM Principal — Wenn es sich bei der Anfrage um einen Vorgang für ein Objekt handelt, das dem Bucket-Besitzer nicht gehört

Wenn es sich bei der Anfrage um einen Vorgang mit einem Objekt handelt, das nicht dem Bucket-Besitzer gehört, muss Amazon S3 nicht nur sicherstellen, dass der Anforderer über die Berechtigungen des Objekteigentümers verfügt, sondern auch die Bucket-Richtlinie überprüfen, um sicherzustellen, dass der Bucket-Besitzer nicht die explizite Ablehnung für das Objekt festgelegt hat. Ein Bucket-Eigentümer (der die Rechnung zahlt) kann explizit den Zugriff auf Objekte im Bucket verweigern, unabhängig davon, wem dieser gehört. Der Bucket-Eigentümer kann auch ein beliebiges Objekt im Bucket löschen.

Wenn ein anderer Benutzer ein Objekt in Ihren S3-Bucket AWS-Konto hochlädt, besitzt dieses Konto (der Objektschreiber) standardmäßig das Objekt, hat Zugriff darauf und kann anderen Benutzern über Zugriffskontrolllisten (ACLs) Zugriff darauf gewähren. Mit Object Ownership können Sie dieses Standardverhalten so ändern, dass ACLs es deaktiviert ist und Sie als Bucket-Besitzer automatisch Eigentümer aller Objekte in Ihrem Bucket sind. Daher basiert die Zugriffskontrolle für Ihre Daten auf Richtlinien wie IAM Benutzerrichtlinien, S3-Bucket-Richtlinien, Virtual Private Cloud (VPC) -Endpunktrichtlinien und AWS Organizations Dienststeuerungsrichtlinien (SCPs). Weitere Informationen finden Sie unter Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.

Weitere Informationen darüber, wie Amazon S3 Zugriffsrichtlinien zur Autorisierung oder Ablehnung von Anfragen für Bucket-Vorgänge und Objekt-Vorgänge bewertet, finden Sie in den folgenden Themen: