View a markdown version of this page

Amazon S3 Signature Version 4: Spezifische Richtlinienschlüssel für die Authentifizierung - 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.

Amazon S3 Signature Version 4: Spezifische Richtlinienschlüssel für die Authentifizierung

Die folgende Tabelle zeigt die Richtlinienschlüssel für die Amazon S3 Signature Version 4-Authentifizierung, die in den Amazon S3-Richtlinien enthalten sein können. In einer Bucket-Richtlinie können Sie diese Bedingungen hinzufügen, um ein bestimmtes Verhalten zu erzwingen, wenn Anforderungen mit der Signature Version 4 authentifiziert werden. Beispiele für Richtlinien finden Sie unter Beispiele für Bucket-Richtlinien, bei denen Bedingungsschlüssel im Zusammenhang mit Signature Version 4 verwendet werden.

Anwendbare Schlüssel Description

s3:signatureversion

Identifiziert die Version von AWS Signature, die Sie für authentifizierte Anfragen unterstützen möchten. Für authentifizierte Anfragen unterstützt Amazon S3 sowohl Signature Version 4 als auch Signature Version 2. Sie können diese Bedingung zu Ihrer Bucket-Richtlinie hinzufügen, um eine bestimmte Signaturversion zu benötigen.

Zulässige Werte:

"AWS"identifiziert Signaturversion 2

"AWS4-HMAC-SHA256"identifiziert Signaturversion 4

s3:authType

Amazon S3 unterstützt verschiedene Authentifizierungsmethoden (sieheAnfragen authentifizieren (AWS Signatur (Version 4). Sie können diesen Bedingungsschlüssel optional verwenden, um eingehende Anfragen auf eine bestimmte Authentifizierungsmethode zu beschränken. Sie können beispielsweise zulassen, dass nur der Authorization HTTP-Header für die Anforderungsauthentifizierung verwendet wird.

Zulässige Werte:

REST-HEADER

REST-QUERY-STRING

POST

s3:signatureAge

Die Zeitspanne in Millisekunden, die eine Signatur in einer authentifizierten Anfrage gültig ist.

Diese Bedingung funktioniert für:

In Signature Version 2 ist dieser Wert immer auf 0 gesetzt.

In Signature Version 4 ist der Signierschlüssel bis zu sieben Tage lang gültig. Daher sind die Signaturen auch bis zu sieben Tage lang gültig. Sie können diese Bedingung verwenden, um das Alter der Unterschrift weiter einzuschränken. Weitere Informationen finden Sie unter Einführung in das Signieren von Anfragen.

Beispielwert: 100

s3:x-amz-content-sha256

Sie können diesen Bedingungsschlüssel verwenden, um nicht signierte Inhalte in Ihrem Bucket zu verbieten.

Wenn Sie die Signature Version 4 verwenden, fügen Sie bei Anfragen, die den Authorization Header verwenden, den x-amz-content-sha256 Header in die Signaturberechnung ein und setzen dann seinen Wert auf die Hash-Nutzlast. Beachten Sie, dass dieser Bedingungsschlüssel den x-amz-content-sha256 Header als Abfragezeichenfolgenparameter nicht unterstützt.

Sie können diesen Bedingungsschlüssel in Ihrer Bucket-Richtlinie verwenden, um Uploads abzulehnen, bei denen Payloads nicht signiert sind. Sie können beispielsweise Uploads ablehnen, die den Authorization Header zur Authentifizierung von Anfragen verwenden, die Payload jedoch nicht signieren. Weitere Informationen finden Sie unter Signaturberechnungen für den Autorisierungs-Header: Übertragung der Nutzlast in einem einzigen Block (AWS Signatur (Version 4).

Zulässiger Wert: UNSIGNED-PAYLOAD

Beispiele für Bucket-Richtlinien, bei denen Bedingungsschlüssel im Zusammenhang mit Signature Version 4 verwendet werden

Die folgende Bucket-Richtlinie lehnt alle vorsignierten Amazon S3-URL-Anfragen für Objekte ab, examplebucket wenn die Signatur älter als zehn Minuten ist.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Deny a presigned URL request if the signature is more than 10 min old", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::examplebucket3/*", "Condition": { "NumericGreaterThan": { "s3:signatureAge": 600000 } } } ] }

Die folgende Bucket-Richtlinie lässt nur Anfragen zu, die den Authorization-Header für die Anfrageauthentifizierung verwenden. Alle POST- oder vorsignierten URL-Anfragen werden abgelehnt.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow only requests that use Authorization header for request authentication. Deny POST or presigned URL requests.", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::examplebucket3/*", "Condition": { "StringNotEquals": { "s3:authType": "REST-HEADER" } } } ] }

Die folgende Bucket-Richtlinie lehnt Anfragen ab, die vorsignierte URLs für die Anforderungsauthentifizierung verwenden:

JSON
{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyUploadsUsingPresignedURL", "Effect":"Deny", "Principal":"*", "Action":"s3:*", "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*", "Condition":{ "StringEquals":{ "s3:authType":"REST-query-string" } } } ] }

Die folgende Bucket-Richtlinie lehnt alle Uploads mit unsignierten Nutzlasten ab:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Deny uploads with unsigned payloads that use the Authorization header.", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::examplebucket3/*", "Condition": { "StringEquals": { "s3:x-amz-content-sha256": "UNSIGNED-PAYLOAD" } } } ] }