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à.
Elementi della firma di una richiesta AWS API
Importante
A meno che non si utilizzi la AWS SDKs o CLI, è 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 la AWS SDKs o la CLI ogni volta che è possibile.
Ogni richiesta HTTP/HTTPS che utilizza Signature Version 4 deve contenere questi elementi.
Specifica dell'endpoint
Specifica il nome DNS dell'endpoint a cui inviare la richiesta. Questo nome di solito contiene il codice del servizio e la regione. Ad esempio, l'endpoint Amazon DynamoDB per la regione us-east-1 è dynamodb.us-east-1.amazonaws.com.
Per le richieste HTTP/1.1 devi includere l'intestazione Host. Per le richieste HTTP/2, puoi utilizzare l'intestazione :authority o l'intestazione Host. Utilizza solo l'intestazione :authority per conformità con la specifica HTTP/2. Non tutti i servizi supportano le richieste HTTP/2.
Per gli endpoint supportati da ciascun servizio, consulta Endpoint e quote del servizio nella Riferimenti generali di AWS.
Azione
Specifica un'operazione API per il servizio. Ad esempio, l'azione CreateTable DynamoDB o l'azione Amazon. EC2 DescribeInstances
Per le operazioni supportate da ciascun servizio, consulta la Guida di riferimento per l'autorizzazione del servizio.
Parametri dell'operazione
Specifica i parametri per l'operazione specificata nella richiesta. Ogni azione AWS API ha un set di parametri obbligatori e opzionali. La versione dell'API di solito è un parametro obbligatorio.
Per i parametri supportati da un'operazione API, consulta la Documentazione di riferimento delle API per il servizio.
Data
Specifica la data e l'ora della richiesta. Con la data e l'ora nella richiesta puoi evitare che le terze parti intercettino la tua richiesta e la inviino in un secondo momento. La data specificata nell'ambito delle credenziali deve corrispondere alla data della richiesta.
Il timestamp deve essere in UTC e deve avere il seguente formato ISO 8601: YYYYMMDDTHHMMSSZ. Ad esempio, 20220830T123600Z. Non includere i millisecondi nel time stamp.
Si può utilizzare un'intestazione date, un'intestazione x-amz-date o includere x-amz-date come parametro di query. Se non riusciamo a trovare un'intestazione x-amz-date, cerchiamo un'intestazione date.
Informazioni sull'autenticazione
Ogni richiesta inviata deve includere le seguenti informazioni. AWS utilizza queste informazioni per garantire la validità e l'autenticità della richiesta.
-
Algoritmo: l'algoritmo che stai utilizzando come parte del processo di firma.
-
SigV4: consente di specificare
AWS4-HMAC-SHA256la versione 4 di Signature con l'algoritmoHMAC-SHA256hash. -
SigV4a —
AWS4-ECDSA-P256-SHA256Utilizzato per specificare l'algoritmo hash.ECDSA-P256-SHA-256
-
-
Credenziale: una stringa formata dalla concatenazione dell'ID della chiave di accesso e dei componenti dell'ambito delle credenziali.
-
SigV4 — L'ambito delle credenziali include l'ID della chiave di accesso, la data in formato YYYYMMDD, il codice regionale, il codice di servizio e la stringa di terminazione, separati da barre (/).
aws4_requestDevi utilizzare caratteri minuscoli per la regione, il codice del servizio e la stringa di chiusura.AKIAIOSFODNN7EXAMPLE/YYYYMMDD/region/service/aws4_request -
SigV4a — L'ambito delle credenziali include la data in formato YYYYMMDD, il nome del servizio e la stringa di terminazione, separati da barre (/).
aws4_requestTieni presente che l'ambito delle credenziali non include la regione poiché l'area è coperta da un'intestazione separata.X-Amz-Region-SetAKIAIOSFODNN7EXAMPLE/YYYYMMDD/service/aws4_request
-
-
Intestazioni firmate: le intestazioni HTTP da includere nella firma, separate da punto e virgola (;). Ad esempio,
host;x-amz-date.Per SigV4A, è necessario includere un'intestazione del set di regioni che specifichi l'insieme di regioni in cui la richiesta sarà valida. L'intestazione
X-Amz-Region-Setè specificata come un elenco di valori separati da virgole. L'esempio seguente mostra un'intestazione di regione che consente di effettuare una richiesta nelle regioni us-east-1 e us-west-1.X-Amz-Region-Set=us-east-1,us-west-1È possibile utilizzare caratteri jolly (*) nelle regioni per specificare più regioni. Nell'esempio seguente, l'intestazione consente di effettuare una richiesta sia in us-west-1 che in us-west-2.
X-Amz-Region-Set=us-west-* -
Firma: una stringa con codifica esadecimale che rappresenta la firma calcolata. Devi calcolare la firma utilizzando l'algoritmo specificato nel parametro
Algorithm.
Per ulteriori informazioni, consulta Metodi di autenticazione