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à.
Autenticazione delle richieste per Amazon SQS
L'autenticazione è un processo per l'identificazione e la verifica di chi invia una richiesta. Durante la prima fase di autenticazione, AWS verifica l'identità del produttore e se il produttore è registrato per utilizzare AWS
-
Il produttore (mittente) ottiene le credenziali necessarie.
-
Il produttore invia al consumatore (ricevitore) una richiesta con la credenziale.
-
Il consumatore utilizza la credenziale per verificare se il produttore ha inviato la richiesta.
-
Si verifica una delle seguenti situazioni:
-
Se l'autenticazione va a buon fine, il consumatore elabora la richiesta.
-
Se l'autenticazione ha esito negativo, il consumatore rifiuta la richiesta e restituisce un errore.
-
Processo di autenticazione di base con HMAC-SHA
Quando accedi ad Amazon SQS utilizzando l'API della query, devi fornire le seguenti voci affinché la richiesta possa essere autenticata:
-
L'ID della chiave di AWS accesso che ti identifica Account AWS, AWS utilizzato per cercare la tua chiave di accesso segreta.
-
La firma della HMAC-SHA richiesta, calcolata utilizzando la tua chiave di accesso segreta (un segreto condiviso noto solo a te e, AWS per ulteriori informazioni, vedi http://www.faqs.org/rfcs/rfc2104.html
RFC2104). L'AWS SDK gestisce il processo di firma; tuttavia, se invii una richiesta di query su HTTP o HTTPS, devi includere una firma in ogni richiesta di query. -
Ottenere una chiave di firma Signature Version 4. Per ulteriori informazioni, consulta Ottenere una chiave di firma con Java.
Nota
Amazon SQS supporta la versione 4 di Signature, che offre SHA256-based sicurezza e prestazioni migliorate rispetto alle versioni precedenti. Se crei nuove applicazioni che utilizzano Amazon SQS, è consigliabile usare Signature Version 4.
-
Base64-encode la firma della richiesta. Il seguente codice Java di esempio procede in questo modo:
package amazon.webservices.common; // Define common routines for encoding data in AWS requests. public class Encoding { /* Perform base64 encoding of input bytes. * rawData is the array of bytes to be encoded. * return is the base64-encoded string representation of rawData. */ public static String EncodeBase64(byte[] rawData) { return Base64.encodeBytes(rawData); } }
-
-
Il timestamp (o scadenza) della richiesta. Il timestamp utilizzato nella richiesta deve essere un
dateTimeoggetto, con la data completa, incluso ore, minuti e secondi. Ad esempio: 2007-01-31T23:59:59ZAnche se non è obbligatorio, ti consigliamo di fornire l'oggetto nell'orario UTC (fuso orario di Greenwich).Nota
Assicurati che l'orario del tuo server sia impostato correttamente. Se si specifica un timestamp (anziché una scadenza), la richiesta scade automaticamente 15 minuti dopo l'ora specificata (AWS non elabora le richieste con timestamp più di 15 minuti prima dell'ora corrente sui server). AWS
Se usi .NET, non devi inviare timestamp troppo specifici (poiché diverse interpretazioni della precisione del tempo aggiuntivo devono essere ignorate). In questo caso, è necessario costruire manualmente oggetti
dateTimecon una precisione non superiore a un millisecondo.
Parte 1: la richiesta dall'utente
Di seguito è riportato il processo da seguire per autenticare AWS le richieste utilizzando una firma di HMAC-SHA richiesta.
-
Costruisci una richiesta per. AWS
-
Calcola una firma con codice di autenticazione del messaggio con chiave hash (HMAC-SHA) utilizzando la tua chiave di accesso segreta.
-
Includi la firma e l'ID della chiave di accesso nella richiesta, quindi invia la richiesta a. AWS
Parte 2: La risposta di AWS
AWS inizia il seguente processo in risposta.
-
AWS utilizza l'ID della chiave di accesso per cercare la tua chiave di accesso segreta.
-
AWS genera una firma dai dati della richiesta e dalla chiave di accesso segreta, utilizzando lo stesso algoritmo utilizzato per calcolare la firma inviata nella richiesta.
-
Si verifica una delle seguenti situazioni:
-
Se la firma AWS generata corrisponde a quella inviata nella richiesta, AWS considera la richiesta autentica.
-
Se il confronto ha esito negativo, la richiesta viene scartata e AWS restituisce un errore.
-