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 einer 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 AWS umfassende Schlüssel und Amazon S3-spezifische Schlüssel verwenden, um Bedingungen in einer Amazon S3 S3-Zugriffsrichtlinie festzulegen. 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

AWS-Konto Besitzt ein Benutzer eine Ressource, kann er diese Berechtigungen einem anderen gewähren AWS-Konto. Dieses Konto kann diese Berechtigungen oder eine Untermenge davon an Benutzer in dem Konto delegieren. Dies wird als Delegierung von Berechtigungen bezeichnet. Ein Konto, das Berechtigungen von einem anderen Konto erhält, kann Berechtigungen jedoch nicht kontoübergreifend 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 Ressourcenbesitzer bezieht sich auf den, der AWS-Konto die Ressource erstellt hat. Beispielsweise:

  • Derjenige AWS-Konto , den Sie verwenden, um Buckets zu erstellen und Objekte hochzuladen, besitzt diese Ressourcen.

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

  • Ein Bucket-Eigentümer kann einem anderen AWS-Konto (oder Benutzern in einem anderen Konto) kontenübergreifende Berechtigungen erteilen, um Objekte hochzuladen. In diesem Fall gehören diese Objekte dem AWS-Konto , das sie hochlädt. 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 zur Anforderungsauthentifizierung finden Sie unter Anfragen stellen in der Amazon S3 API S3-Referenz.

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

Es wird empfohlen, die AWS-Konto Root-Benutzeranmeldedaten nicht für authentifizierte Anfragen zu verwenden. 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 die der Administratorrolle zugewiesenen Anmeldeinformationen anstelle von AWS-Konto Root-Benutzeranmeldedaten verwenden, um mit Aufgaben wie dem Erstellen eines Buckets, dem Erstellen von Benutzern AWS und dem Erteilen von Berechtigungen zu interagieren und diese auszuführen. Weitere Informationen finden Sie unter AWS Sicherheitsanmeldedaten und bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch.