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 utilizzi gli AWS SDK o la CLI, devi scrivere codice per calcolare le firme che forniscono informazioni di autenticazione nelle tue richieste. Il calcolo delle AWS firme nella versione 4 di Signature può essere un'impresa complessa e ti consigliamo di utilizzare gli AWS SDK o la CLI ogni volta che è possibile.
Puoi esprimere le informazioni di autenticazione utilizzando uno dei seguenti metodi.
Intestazione HTTP di autorizzazione
L'intestazione Authorization
HTTP è il metodo più comune per autenticare una richiesta. Tutte le operazioni del REST API (ad eccezione dei caricamenti basati su browser che utilizzano richieste POST
) 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) nel riferimento all'API di Amazon S3.
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 valore |
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 un URL. In questo caso, utilizzi i parametri di interrogazione per fornire le informazioni sulla richiesta, incluse le informazioni di autenticazione. Poiché la firma richiesta è parte dell'URL, questo tipo di URL viene chiamato URL pre-firmato. Puoi utilizzare gli URL preimpostati per incorporare link cliccabili in HTML; questi link saranno 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 all'API Amazon S3.
Di seguito è riportato un esempio di URL prefirmato. Le interruzioni di riga vengono aggiunte a questo esempio solo per migliorare la leggibilità.
https://s3.amazonaws.com/examplebucket/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 valore X-Amz-Credential
nell'URL mostra il carattere “/” solo per 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 della query nell'URL che forniscono 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, imposti 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 seguire lo standard ISO 8601 e deve essere formattato con il formato |
X-Amz-Expires |
Fornisce il periodo di tempo, in secondi, per il quale l'URL prefirmato generato è valido. Ad esempio, 86400 (24 ore). Questo valore è un numero intero. Il valore minimo che puoi impostare è 1 e il massimo è 604800 (sette giorni). Un URL prefirmato può essere valido per massimo 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 opzionale delle credenziali se si utilizzano credenziali provenienti dal servizio STS. |