Elementi della firma di una richiesta AWS API - AWS Identity and Access Management

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 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.

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'operazione CreateTable di DynamoDB o l'operazione DescribeInstances di Amazon EC2.

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 una serie 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: utilizza AWS 4-HMAC-SHA256 per specificare Signature Version 4 con l'algoritmo hash HMAC-SHA256.

  • Credenziale: una stringa composta dall'ID della chiave di accesso, dalla data in formato AAAAMMGG, dal codice della regione, dal codice del servizio e dalla stringa di chiusura aws4_request, separati da barre (/). Devi utilizzare caratteri minuscoli per la regione, il codice del servizio e la stringa di chiusura.

    AKIAIOSFODNN7EXAMPLE/YYYYMMDD/region/service/aws4_request
  • Intestazioni firmate: le intestazioni HTTP da includere nella firma, separate da punto e virgola (;). Ad esempio, host;x-amz-date.

  • Firma: una stringa con codifica esadecimale che rappresenta la firma calcolata. Devi calcolare la firma utilizzando l'algoritmo specificato nel parametro Algorithm.