Richtlinien und Berechtigungen in Amazon S3 - 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.

Richtlinien und Berechtigungen in Amazon S3

Diese Seite bietet einen Überblick über Bucket- und Benutzerrichtlinien in Amazon S3 und beschreibt die grundlegenden Elemente eines AWS Identity and Access Management (IAM) Richtlinie. Jedes aufgelistete Element verweist auf weitere Details zu diesem Element und auf Beispiele für die Verwendung dieses Elements.

Eine vollständige Liste der Amazon S3-Aktionen, Ressourcen und Bedingungen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service Authorization Reference.

Weitere Informationen zu den Berechtigungen für API S3-Operationen nach S3-Ressourcentypen finden Sie unterErforderliche Berechtigungen für Amazon S3 API S3-Operationen.

In ihrer einfachsten Form enthält eine Richtlinie die folgenden Elemente:

  • Resource— Der Amazon S3 S3-Bucket, das Objekt, der Access Point oder der Job, für den die Richtlinie gilt. Verwenden Sie den Amazon-Ressourcennamen (ARN) des Buckets, Objekts, Access Points oder Jobs, um die Ressource zu identifizieren.

    Ein Beispiel für Operationen auf Bucket-Ebene:

    "Resource": "arn:aws:s3:::bucket_name"

    Beispiele für Operationen auf Objektebene:

    • "Resource": "arn:aws:s3:::bucket_name/*"für alle Objekte im Bucket.

    • "Resource": "arn:aws:s3:::bucket_name/prefix/*"für Objekte unter einem bestimmten Präfix im Bucket.

    Weitere Informationen finden Sie unter Richtlinienressourcen für Amazon S3.

  • Actions— Für jede Ressource unterstützt Amazon S3 eine Reihe von Vorgängen. Sie identifizieren RessourcenVorgänge, die Sie zulassen (oder ablehnen) können, indem Sie Aktionsschlüsselwörter verwenden.

    Die s3:ListBucket Berechtigung ermöglicht es dem Benutzer beispielsweise, Amazon S3 zu verwenden. ListObjectsV2Betrieb. (Bei der s3:ListBucket Berechtigung handelt es sich um einen Fall, in dem der Aktionsname nicht direkt dem Operationsnamen zugeordnet ist.) Weitere Informationen zur Verwendung von Amazon-S3-Aktionen finden Sie unter Politische Maßnahmen für Amazon S3. Eine vollständige Liste der Amazon S3 S3-Aktionen finden Sie unter Aktionen in der Amazon Simple Storage API Service-Referenz.

  • Effect— Welche Auswirkung hat, wenn der Benutzer die spezifische Aktion anfordert — dies kann entweder oder Allow sein. Deny

    Wenn Sie den Zugriff auf eine Ressource nicht ausdrücklich gestatten („Allow“), wird er automatisch verweigert. Sie können den Zugriff auf eine Ressource auch explizit verweigern. So könnten Sie z. B. sicherstellen, dass ein Benutzer nicht auf die Ressource zugreifen kann, auch wenn der Zugriff durch eine andere Richtlinie gestattet wird. Weitere Informationen finden Sie unter IAMJSONPolicy Elements: Effect im IAMBenutzerhandbuch.

  • Principal— Das Konto oder der Benutzer, dem Zugriff auf die Aktionen und Ressourcen in der Erklärung gewährt wird. In einer Bucket-Richtlinie ist der Prinzipal der Benutzer, das Konto, der Service oder eine andere Entität, der/die/das der Empfänger dieser Berechtigung ist. Weitere Informationen finden Sie unter Prinzipien für Bucket-Richtlinien.

  • Condition— Bedingungen für das Inkrafttreten einer Richtlinie. Sie können Folgendes verwenden … AWS‐weite Schlüssel und Amazon S3-spezifische Schlüssel zur Festlegung von Bedingungen in einer Amazon S3 S3-Zugriffsrichtlinie. Weitere Informationen finden Sie unter Beispiele für Bucket-Richtlinien mit Bedingungsschlüsseln.

Die folgende Beispiel-Bucket-Richtlinie zeigt die ElementeEffect,Principal, Action und. Resource Diese Richtlinie ermöglicht Akua einem Benutzer im Konto123456789012, s3:GetObjects3:GetBucketLocation, und s3:ListBucket Amazon S3 S3-Berechtigungen für den amzn-s3-demo-bucket1 Bucket.

{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Akua" }, "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }

Vollständige Informationen zur Sprache der Richtlinie finden Sie unter Richtlinien und Berechtigungen IAM und Referenzinformationen zu IAM JSON Richtlinien im IAMBenutzerhandbuch.

Berechtigungsdelegation

Wenn ein AWS-Konto besitzt eine Ressource, kann sie diese Berechtigungen einer anderen Person gewähren AWS-Konto. Dieses Konto kann dann diese Berechtigungen oder einen Teil davon an Benutzer im Konto delegieren. Dies wird als Delegierung von Berechtigungen bezeichnet. Ein Konto, das Berechtigungen von einem anderen Konto erhält, kann jedoch keine kontoübergreifenden Berechtigungen an ein anderes delegieren AWS-Konto.

Amazon-S3-Bucket- und Objekt-Eigentümerschaft

Buckets und Objekte sind Amazon-S3-Ressourcen. Standardmäßig kann nur der jeweilige Eigentümer auf diese Ressourcen zugreifen. Der Besitzer der Ressource bezieht sich auf AWS-Konto das erstellt die Ressource. Beispielsweise:

  • Das Tool AWS-Konto die Sie verwenden, um Buckets zu erstellen und Objekte hochzuladen, besitzt diese Ressourcen.

  • Wenn Sie ein Objekt hochladen mit AWS Identity and Access Management (IAM) Benutzer- oder Rollenanmeldedaten, die AWS-Konto dem der Benutzer oder die Rolle angehört, besitzt das Objekt.

  • Ein Bucket-Besitzer kann einem anderen Benutzer kontoübergreifende Berechtigungen gewähren AWS-Konto (oder Benutzern in einem anderen Konto), um Objekte hochzuladen. In diesem Fall gibt das Feld AWS-Konto derjenige, der Objekte hochlädt, besitzt diese Objekte. Der Bucket-Besitzer hat keine Berechtigungen für die Objekte, die anderen Konten gehören, mit den folgenden Ausnahmen:

    • Der Bucket-Eigentümer zahlt die Rechnungen. Ein Bucket-Eigentümer kann explizit den Zugriff auf Objekte verweigern oder Objekte im Bucket löschen, unabhängig davon, wem sie gehören.

    • Ein Bucket-Eigentümer kann Objekte archivieren oder archivierte Objekte wiederherstellen, unabhängig davon, wem sie gehören. Die Archivierung bezieht sich auf die Speicherklasse, die beim Speichern der Objekte verwendet wurde. Weitere Informationen finden Sie unter Verwaltung des Lebenszyklus von Objekten.

Eigentümerschaft und Anforderungsauthentifizierung

Alle Anforderungen nach einem Bucket sind authentifiziert oder nicht authentifiziert. Authentifizierte Anforderungen müssen einen Signaturwert enthalten, der den Absender der Anforderung authentifiziert, und für nicht authentifizierte Anforderungen gilt dies nicht. Weitere Informationen über Anforderungsauthentifizierung finden Sie unter Senden von Anforderungen.

Der Eigentümer eines Buckets kann nicht authentifizierte Anforderungen zulassen. Zum Beispiel nicht authentifiziert PutObjectAnfragen sind zulässig, wenn für einen Bucket eine öffentliche Bucket-Richtlinie gilt oder wenn ein Bucket speziell der All Users Gruppe WRITE oder dem anonymen Benutzer FULL_CONTROL Zugriff ACL gewährt. Weitere Informationen zu öffentlichen Bucket-Richtlinien und öffentlichen Zugriffskontrolllisten (ACLs) finden Sie unterDie Bedeutung von „öffentlich“.

Alle nicht authentifizierten Anforderungen werden vom anonymen Benutzer erstellt. Dieser Benutzer wird ACLs durch die spezifische kanonische Benutzer-ID repräsentiert. 65a011a29cdf8ec533ec3d1ccaae921c Wenn ein Objekt mit einer nicht authentifizierten Anforderung zu einem Bucket hochgeladen wird, ist der anonyme Benutzer Eigentümer des Objekts. Das Standardobjekt ACL gewährt FULL_CONTROL dem anonymen Benutzer die Rolle des Eigentümers des Objekts. Daher erlaubt Amazon S3 nicht authentifizierte Anfragen, um das Objekt abzurufen oder zu ändern. ACL

Um zu verhindern, dass Objekte vom anonymen Benutzer geändert werden, empfehlen wir, keine Bucket-Richtlinien zu implementieren, die anonyme öffentliche Schreibvorgänge in Ihren Bucket zulassen, oder solche zu verwendenACLs, die anonymen Benutzern Schreibzugriff auf Ihren Bucket gewähren. Sie können diese empfohlene Verhaltensweise durch die Verwendung von Amazon S3 Block Public Access erzwingen.

Weitere Informationen zum Blockieren des öffentlichen Zugriffs finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher. Weitere Informationen zu finden ACLs Sie unterÜbersicht über die Zugriffskontrollliste (ACL).

Wichtig

Wir empfehlen, dass Sie das nicht verwenden AWS-Konto Root-Benutzeranmeldedaten, um authentifizierte Anfragen zu stellen. Erstellen Sie stattdessen eine IAM Rolle und gewähren Sie dieser Rolle vollen Zugriff. Wir bezeichnen Benutzer mit dieser Rolle als Administratorbenutzer. Sie können anstelle von Anmeldeinformationen, die der Administratorrolle zugewiesen sind, verwenden AWS-Konto Root-Benutzeranmeldedaten, mit denen Sie interagieren AWS und Aufgaben wie das Erstellen eines Buckets, das Erstellen von Benutzern und das Erteilen von Berechtigungen ausführen. Weitere Informationen finden Sie unter AWS Sicherheitsnachweise und bewährte Sicherheitsmethoden finden Sie IAM im IAM Benutzerhandbuch.