

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
<a name="reference_sigv-authentication-methods"></a>

**Importante**  
A meno che tu non stia utilizzando AWS gli 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 quando possibile.

Puoi esprimere le informazioni di autenticazione utilizzando uno dei seguenti metodi.

## Intestazione HTTP di autorizzazione
<a name="aws-signing-authentication-methods-http"></a>

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.

Gli esempi seguenti mostrano il valore dell’intestazione `Authorization` per SigV4 e SigV4a. 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.

**Example SigV4**  

```
Authorization: AWS4-HMAC-SHA256
Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, 
SignedHeaders=host;range;x-amz-date, 
Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
```

**Example SigV4a**  

```
Authorization: AWS4-ECDSA-P256-SHA256
Credential=AKIAIOSFODNN7EXAMPLE/20130524/s3/aws4_request, 
SignedHeaders=host;range;x-amz-date;x-amz-region-set,
Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
```

La tabella seguente descrive i vari componenti del valore dell'intestazione di autorizzazione nell'esempio precedente:


| Componente | Description | 
| --- | --- | 
| Autorizzazione | L'algoritmo utilizzato per calcolare la firma.+  SigV4: utilizza `AWS4-HMAC-SHA256`. Questa stringa identifica AWS Sigv4 () e l'algoritmo. `AWS4` `HMAC-SHA256` <br />+  SigV4a: utilizza `AWS4-ECDSA-P256-SHA256`. Questa stringa identifica AWS SigV4 () e l'algoritmo. `AWS4` `ECDSA-P256-SHA-256`  | 
| Credential | L’ID della chiave di accesso e le informazioni sull’ambito.+  SigV4: include la data, la Regione e il servizio utilizzati per calcolare la firma. Questa stringa ha il seguente formato: <br />`<your-access-key-id>/<date>/<aws-region>/<aws-service>/aws4_request` <br />+  SigV4a: include la data e il servizio utilizzati per calcolare la firma. Questa stringa ha il seguente formato:  <br />`<your-access-key-id>/<date>/<aws-service>/aws4_request` <br />Il valore <date> è specificato utilizzando il formato AAAAMMGG. Il valore <aws-service> è S3 quando si invia una richiesta ad Amazon S3. | 
| SignedHeaders |  Un elenco separato da punto e virgola delle intestazioni di richiesta che hai utilizzato per il calcolo della firma. L'elenco include solo i nomi delle intestazioni e i nomi delle intestazioni devono essere in minuscolo. Ad esempio: `host;range;x-amz-date`<br />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. | 
| Firma | La firma a 256 bit espressa come 64 caratteri esadecimali minuscoli. Ad esempio:`fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024`<br />Tieni presente che i calcoli della firma variano a seconda dell'opzione scelta per trasferire il payload. | 

## Parametri della stringa di query
<a name="aws-signing-authentication-methods-query"></a>

È 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 [ Authenticating Requests: Using Query Parameters (AWS Signature Version 4) ](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) nell'Amazon S3 API Reference. * *

Gli esempi seguenti mostrano gli URL prefirmati per SigV4 e SigV4a. Le interruzioni di riga vengono aggiunte a questo esempio solo per migliorare la leggibilità.

**Example SigV4**  

```
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.txt ?
X-Amz-Algorithm=AWS4-HMAC-SHA256 &
X-Amz-Credential=<your-access-key-id>/20130721/<region>/s3/aws4_request &
X-Amz-Date=20130721T201207Z &
X-Amz-Expires=86400 &
X-Amz-SignedHeaders=host &X-Amz-Signature=<signature-value>
```

**Example SigV4a**  

```
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.txt ?
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256 &
X-Amz-Credential=<your-access-key-id>/20240721/s3/aws4_request &
X-amz-Region-Set=<regionset> &
X-Amz-Date=20240721T201207Z &
X-Amz-Expires=86400 &
X-Amz-SignedHeaders=host;x-amz-region-set &
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. Ad 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 | Description | 
| --- | --- | 
| X-Amz-Algorithm | La versione della AWS firma e l'algoritmo utilizzato per calcolare la firma.+  SigV4: utilizza `AWS4-HMAC-SHA256`. Questa stringa identifica AWS Sigv4 (`AWS4`) e l'algoritmo. `HMAC-SHA256` <br />+  SigV4a: utilizza `AWS4-ECDSA-P256-SHA256`. Questa stringa identifica AWS SigV4 () e l'algoritmo. `AWS4` `ECDSA-P256-SHA-256`  | 
| X-Amz-Credential | Oltre all’ID della chiave di accesso, questo parametro fornisce anche l’ambito per cui la firma è valida. Questo valore deve corrispondere all'ambito utilizzato nei calcoli della firma, illustrato nella sezione seguente.+  SigV4: la forma generale per questo valore di parametro è la seguente: `<your-access-key-id>/<date>/<AWS Region>/<AWS-service>/aws4_request`  <br />Ad esempio: `AKIAIOSFODNN7EXAMPLE/20130721/us-east-1/s3/aws4_request`  <br />+  SigV4a: la forma generale per questo valore di parametro è la seguente: `<your-access-key-id>/<date>/<AWS-service>/aws4_request`  <br />Ad esempio: `AKIAIOSFODNN7EXAMPLE/20130721/s3/aws4_request`  <br />La Regione per SigV4a è definita nell’intestazione dell’insieme di Regioni `X-Amz-Region-Set`. <br />Per un elenco delle stringhe AWS regionali, vedere [ Regional Endpoints ](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) nella Guida generale. *AWS * | 
| X-Amz-Region-Set | 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. | 
| X-Amz-Date | Il formato di data e ora deve seguire lo standard ISO 8601 e deve essere formattato con il formato `yyyyMMddTHHmmssZ`. Ad esempio, se la data e l'ora erano "08/01/2016 15:32:41.982-700", devono prima essere convertite in UTC (Coordinated Universal Time) e quindi inviate come «20160801T223241Z». | 
| 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:+  L'intestazione dell'host HTTP. <br />+  Qualsiasi intestazione x-amz-\* che intendi aggiungere alla richiesta. <br />+  Per Sigv4a, è necessario specificare le regioni in cui è possibile effettuare la richiesta. X-Amz-Region-Set  <br />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, `733255ef022bec3f2a8701cd61d4b371f3f28c9f193a1f02279211d48d5193d7`<br />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. | 