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à.
Metodi di autenticazione
Importante
A meno che non si utilizzi l'CLIopzione AWS SDKs o, è necessario scrivere codice per calcolare le firme che forniscono informazioni di autenticazione nelle richieste. Il calcolo delle AWS firme nella versione 4 di Signature può essere un'impresa complessa e ti consigliamo di utilizzare AWS SDKs o CLI quando possibile.
Puoi esprimere le informazioni di autenticazione utilizzando uno dei seguenti metodi.
HTTPintestazione di autorizzazione
L'HTTPAuthorization
intestazione è il metodo più comune per autenticare una richiesta. Tutte le REST API operazioni (ad eccezione dei caricamenti basati su browser tramite POST
richieste) richiedono questa intestazione. Per ulteriori informazioni sul valore dell'intestazione di autorizzazione e su come calcolare la firma e le opzioni correlate, consulta Authenticating Requests: Using the Authorization Header (AWS Signature Version 4) in Amazon S3 Reference. API
Di seguito è riportato un esempio del valore per l’intestazione Authorization
. Le interruzioni di riga vengono aggiunte a questo esempio solo per migliorare la leggibilità. Nel tuo codice, l’intestazione deve essere una stringa continua. Non c'è una virgola tra l'algoritmo e le credenziali, ma gli altri elementi devono essere separati da virgole.
Authorization: AWS 4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;range;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
La tabella seguente descrive i vari componenti del valore dell'intestazione di autorizzazione nell'esempio precedente:
Componente | Descrizione |
---|---|
Autorizzazione |
L'algoritmo utilizzato per calcolare la firma. È necessario fornire questo valore quando si utilizza AWS Signature Version 4 per l'autenticazione. La stringa specifica Signature Version 4 () e l'algoritmo di AWS firma (). |
Credential |
L'ID della chiave di accesso e le informazioni sull'ambito, che includono la data, la regione e il servizio utilizzati per calcolare la firma. Questa stringa ha il seguente formato:
Dove: il |
SignedHeaders |
Un elenco separato da punto e virgola delle intestazioni di richiesta che hai utilizzato per il calcolo |
Firma |
La firma a 256 bit espressa come 64 caratteri esadecimali minuscoli. Ad esempio: Tieni presente che i calcoli della firma variano a seconda dell'opzione scelta per trasferire il payload. |
Parametri della stringa di query
È possibile utilizzare una stringa di query per esprimere una richiesta interamente in unURL. In questo caso, utilizzi i parametri di interrogazione per fornire le informazioni sulla richiesta, incluse le informazioni di autenticazione. Poiché la firma della richiesta fa parte diURL, questo tipo URL viene spesso definito prefirmatoURL. Puoi utilizzare presigned URLs per incorporare link cliccabiliHTML, che possono essere validi per un massimo di sette giorni. Per ulteriori informazioni, consulta Autenticazione delle richieste: utilizzo dei parametri di interrogazione (AWS Signature versione 4) nel riferimento Amazon API S3.
Quello che segue è un esempio prefirmato. URL Le interruzioni di riga vengono aggiunte a questo esempio solo per migliorare la leggibilità.
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.txt ? X-Amz-Algorithm=AWS4-HMAC-SHA256 & X-Amz-Credential=<your-access-key-id>/20130721/us-east-1/s3/aws4_request & X-Amz-Date=20130721T201207Z & X-Amz-Expires=86400 & X-Amz-SignedHeaders=host &X-Amz-Signature=<signature-value>
Nota
Il X-Amz-Credential
valore in URL mostra il carattere «/» solo per motivi di leggibilità. In pratica, dovrebbe essere codificato come %2F. Per esempio:
&X-Amz-Credential=<your-access-key-id>%2F20130721%2Fus-east-1%2Fs3%2Faws4_request
La tabella seguente descrive i parametri di interrogazione URL che forniscono le informazioni di autenticazione.
Nome parametro stringa di query | Descrizione |
---|---|
Algoritmo X-Amz |
Identifica la versione di AWS Signature e l'algoritmo utilizzato per calcolare la firma. Per la versione 4 di AWS Signature, si imposta questo valore del parametro su. |
Credenziali X-Amz |
Oltre all'ID della chiave di accesso, questo parametro fornisce anche l'ambito (AWS regione e servizio) per il quale la firma è valida. Questo valore deve corrispondere all'ambito utilizzato nei calcoli della firma, illustrato nella sezione seguente. La forma generale per questo valore di parametro è la seguente:
Ad esempio: Per un elenco di stringhe AWS regionali, consulta Endpoint regionali nel Riferimento AWS generale. |
X-Amz-Date |
Il formato di data e ora deve essere conforme allo standard ISO 8601 e deve essere formattato con tale formato. |
X-Amz-Expires |
Fornisce il periodo di tempo, in secondi, URL per il quale il presegnato generato è valido. Ad esempio, 86400 (24 ore). Questo valore è un numero intero. Il valore minimo che è possibile impostare è 1 e il massimo è 604800 (sette giorni). Un prefirmato URL può essere valido per un massimo di sette giorni perché la chiave di firma utilizzata nel calcolo della firma è valida per un massimo di sette giorni. |
X-Amz- SignedHeaders |
Elenca le intestazioni che hai utilizzato per calcolare la firma. Per i calcoli delle firme sono necessarie le seguenti intestazioni:
Per maggiore sicurezza, devi firmare tutte le intestazioni della richiesta che intendi includere nella richiesta. |
X-Amz-Signature |
Fornisce la firma per autenticare la richiesta. Questa firma deve corrispondere alla firma calcolata dal servizio; in caso contrario, il servizio rifiuta la richiesta. Ad esempio, I calcoli delle firme sono descritti nella sezione seguente. |
X-Amz-Security-Token |
Parametro di credenziale facoltativo se si utilizzano credenziali provenienti dal servizio. STS |