View a markdown version of this page

Chiavi specifiche delle policy di autenticazione di Amazon S3 Signature versione 4 - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Chiavi specifiche delle policy di autenticazione di Amazon S3 Signature versione 4

La tabella seguente mostra le chiavi di policy relative all'autenticazione Amazon S3 Signature Version 4 che possono essere incluse nelle policy di Amazon S3. In una policy del bucket, puoi aggiungere queste condizioni per applicare un comportamento specifico quando le richieste vengono autenticate tramite Signature Version 4. Per esempi di policy, consulta Esempi di policy Bucket che utilizzano le chiavi di condizione relative alla versione 4 di Signature.

Chiavi applicabili Description

s3:signatureversion

Identifica la versione di AWS Signature che desideri supportare per le richieste autenticate. Per le richieste autenticate, Amazon S3 supporta sia la versione 4 di Signature che la versione 2 di Signature. Puoi aggiungere questa condizione nella tua bucket policy per richiedere una versione di firma specifica.

Valori validi:

"AWS"identifica la versione 2 di Signature

"AWS4-HMAC-SHA256"identifica la versione 4 di Signature

s3:authType

Amazon S3 supporta vari metodi di autenticazione (vedi. Autenticazione delle richieste (AWS Signature (versione 4) Facoltativamente, puoi utilizzare questa chiave di condizione per limitare le richieste in arrivo all'uso di un metodo di autenticazione specifico. Ad esempio, puoi consentire l'utilizzo solo dell'Authorizationintestazione HTTP nell'autenticazione delle richieste.

Valori validi:

REST-HEADER

REST-QUERY-STRING

POST

s3:signatureAge

Il periodo di tempo, espresso in millisecondi, di validità di una firma in una richiesta autenticata.

Questa condizione funziona per:

  • URL prefirmati: dove prevale la condizione più restrittiva. Per ulteriori informazioni, consulta Lavorare con gli URL prefirmati.

  • POST prefirmato: carica i file direttamente su S3 utilizzando POST prefirmato. Per ulteriori informazioni, consulta la politica POST di Amazon S3.

Nella versione 2 di Signature, questo valore è sempre impostato su 0.

In Signature Version 4, la chiave di firma è valida per un massimo di sette giorni. Pertanto, anche le firme sono valide per un massimo di sette giorni. Puoi utilizzare questa condizione per limitare ulteriormente la durata della firma. Per ulteriori informazioni, consulta Introduzione alla firma delle richieste.

Valore di esempio: 100

s3:x-amz-content-sha256

Questa chiave di condizione può essere utilizzata per non consentire contenuti non firmati nel bucket.

Quando utilizzi Signature Version 4, per le richieste che utilizzano l'intestazione Authorization, aggiungi l'intestazione x-amz-content-sha256 nel calcolo della firma e quindi imposti il suo valore sul payload hash. Nota che questa chiave di condizione non supporta l'x-amz-content-sha256intestazione come parametro della stringa di query.

Puoi utilizzare questa chiave di condizione nella tua bucket policy per negare qualsiasi caricamento in cui i payload non sono firmati. Ad esempio, puoi negare i caricamenti che utilizzano l'Authorizationintestazione per autenticare le richieste ma non firmano il payload. Per ulteriori informazioni, consulta Calcolo delle firme per l'intestazione di autorizzazione: trasferimento del payload in un unico blocco (AWS Signature (versione 4).

Valore valido: UNSIGNED-PAYLOAD

Esempi di policy Bucket che utilizzano le chiavi di condizione relative alla versione 4 di Signature

La seguente policy sui bucket nega qualsiasi richiesta di URL prefirmato di Amazon S3 sugli oggetti examplebucket se la firma risale a più di dieci minuti.

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 } } } ] }

La seguente policy del bucket consente solo le richieste che utilizzano l'intestazione Authorization per l'autenticazione della richiesta. Qualsiasi richiesta POST o URL prefirmata verrà rifiutata.

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" } } } ] }

La seguente policy sui bucket nega le richieste che utilizzano URL prefirmati per l'autenticazione delle richieste:

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" } } } ] }

La seguente policy sui bucket nega qualsiasi caricamento con payload non firmati:

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" } } } ] }