

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
<a name="reference_sigv-signing-elements"></a>

**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 HTTP/HTTPS richiesta che utilizza la firma Signature Version 4 deve contenere questi elementi.

**Topics**
+ [Specifica dell'endpoint](#endpoint-specification)
+ [Azione](#action)
+ [Parametri dell'operazione](#parameters)
+ [Data](#date)
+ [Informazioni sull'autenticazione](#authentication)

## Specifica dell'endpoint
<a name="endpoint-specification"></a>

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](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) nella *Riferimenti generali di AWS*.

## Azione
<a name="action"></a>

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](https://docs.aws.amazon.com//service-authorization/latest/reference/reference.html).

## Parametri dell'operazione
<a name="parameters"></a>

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
<a name="date"></a>

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: *YYYYMMDD*T*HHMMSS*Z. 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
<a name="authentication"></a>

Ogni richiesta inviata deve includere le seguenti informazioni. AWS utilizza queste informazioni per garantire la validità e l'autenticità della richiesta.
+ Algoritmo: l’algoritmo utilizzato come parte del processo di firma. 
  + SigV4: utilizza `AWS4-HMAC-SHA256` per specificare Signature Version 4 con l’algoritmo hash `HMAC-SHA256`. 
  + SigV4a: utilizza `AWS4-ECDSA-P256-SHA256` per specificare l’algoritmo hash `ECDSA-P256-SHA-256`.
+ Credenziale: una stringa che è formata concatenando i componenti ID chiave di accesso e ambito delle credenziali.
  + SigV4: l’ambito delle credenziali include l’ID della chiave di accesso, la data in formato *AAAAMMGG*, il codice della Regione, il codice del servizio e la 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
    ```
  + SigV4a: l’ambito delle credenziali include la data in formato AAAAMMGG, il nome del servizio e la stringa di chiusura `aws4_request`, separati da barre (/). Ricorda che l’ambito delle credenziali non include la Regione, poiché è indicata in un’intestazione separata `X-Amz-Region-Set`.

    ```
    AKIAIOSFODNN7EXAMPLE/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 dell’insieme di Regioni che specifichi l’insieme delle 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 sia nella Regione us-east-1 sia in us-west-1.

  ```
  X-Amz-Region-Set=us-east-1,us-west-1
  ```

  È possibile utilizzare i caratteri jolly (\$1) nelle Regioni per specificare più Regioni. Nell’esempio seguente, l’intestazione consente di effettuare una richiesta sia in us-west-1 sia 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](reference_sigv-authentication-methods.md)