View a markdown version of this page

Specificare la versione della firma nell'autenticazione della richiesta - Amazon Simple Storage Service

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

Specificare la versione della firma nell'autenticazione della richiesta

Nella maggior parte dei casi, Amazon S3 supporta solo AWS la versione 4 di Signature. Regioni AWS In alcune delle versioni precedenti Regioni AWS, Amazon S3 supporta sia la versione 4 di Signature che la versione 2 di Signature. Comunque, Signature Version 2 sta per essere disattivato perché obsoleto. Per ulteriori informazioni sulla fine del supporto per Signature Version 2, consulta AWS Signature Version 2 disattivata (obsoleta) per Amazon S3.

Per un elenco di tutte le regioni Amazon S3 e delle versioni di firma supportate, consulta Regioni ed endpoint in Riferimenti generali AWS .

Per tutti Regioni AWS, gli AWS SDK utilizzano Signature Version 4 per impostazione predefinita per autenticare le richieste. Quando si utilizzano AWS SDK rilasciati prima di maggio 2016, potrebbe essere necessario richiedere la versione 4 di Signature, come mostrato nella tabella seguente.

SDK Richiesta di Signature Version 4 per autenticazione delle richieste
AWS CLI

Per il profilo di default, eseguire il comando indicato di seguito:

$ aws configure set default.s3.signature_version s3v4

Per un profilo personalizzato, eseguire il comando indicato di seguito:

$ aws configure set profile.your_profile_name.s3.signature_version s3v4
SDK Java

Aggiungere quanto segue al codice:

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");

In alternativa, specificare quanto segue nella riga di comando:

-Dcom.amazonaws.services.s3.enableV4
SDK PHP

Impostare il parametro signature su v4 durante la creazione del client del servizio Amazon S3 per l'SDK PHP v2:

<?php $client = S3Client::factory([ 'region' => 'YOUR-REGION', 'version' => 'latest', 'signature' => 'v4' ]);

Quando si usa l'SDK PHP v3, impostare il parametro signature_version su v4 durante la creazione del client del servizio Amazon S3:

<?php $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'YOUR-REGION', 'signature_version' => 'v4' ]);
Python-Boto SDK

Specificare quanto segue nel file di configurazione boto di default:

[s3] use-sigv4 = True
SDK Ruby

SDK Ruby - Versione 1: impostare il parametro :s3_signature_version su :v4 durante la creazione del client:

s3 = AWS::S3::Client.new(:s3_signature_version => :v4)

SDK Ruby - Versione 3: impostare il parametro signature_version su v4 durante la creazione del client:

s3 = Aws::S3::Client.new(signature_version: 'v4')
SDK .NET

Aggiungere quanto segue al codice prima di creare il client Amazon S3:

AWSConfigsS3.UseSignatureVersion4 = true;

In alternativa, aggiungere quanto segue al file di configurazione:

<appSettings> <add key="AWS.S3.UseSignatureVersion4" value="true" /> </appSettings>

 

AWS Signature Version 2 disattivata (obsoleta) per Amazon S3

Signature Version 2 sta per essere disattivato perché obsoleto in Amazon S3. In seguito, Amazon S3 accetterà solo richieste API firmate con Signature Version 4.

Questa sezione fornisce le risposte alle domande più frequenti sulla fine del supporto di Signature Version 2.

Cos'è la versione 2/4 Signature e cosa significa firmare le richieste?

Il processo di firma Signature Version 2 o Signature Version 4 viene utilizzato per autenticare le richieste API Amazon S3. La firma delle richieste consente ad Amazon S3 di identificare il mittente della richiesta e protegge le richieste dalle azioni di utenti malintenzionati.

Per ulteriori informazioni sulla firma AWS delle richieste, consulta la sezione Signing AWS API Requests in Riferimenti generali di AWS.

Quali aggiornamenti vengono introdotti?

Attualmente, sono supportate le richieste API Amazon S3 firmate con i processi Signature Version 2 e Signature Version 4. In seguito, Amazon S3 accetterà solo le richieste firmate con Signature Version 4.

Per ulteriori informazioni sulla firma AWS delle richieste, vedere Modifiche nella versione 4 di Signature in Riferimenti generali di AWS.

Perché è stato rilasciato questo aggiornamento?

Signature Version 4 fornisce una maggiore sicurezza perché utilizza una chiave di firma invece della chiave di accesso segreta. La versione 4 di Signature è attualmente supportata in tutte le aree Regioni AWS, mentre la versione 2 di Signature è supportata solo nelle regioni lanciate prima di gennaio 2014. Questo aggiornamento consente di offrire un'esperienza più uniforme in tutte le regioni.

Come posso verificare di stare utilizzando Signature Version 4 e di quali aggiornamenti ho bisogno?

La versione della firma utilizzata per firmare le richieste viene generalmente impostata dallo strumento o dall'SDK sul lato client. Per impostazione predefinita, le ultime versioni dei nostri AWS SDK utilizzano la versione 4 di Signature. Per i software di terza parte, contatta il team di supporto specifico per il tuo software per verificare la versione richiesta. Se stai inviando chiamate REST ad Amazon S3, devi modificare l'applicazione per utilizzare il processo di firma Signature Version 4.

Per informazioni sulla versione degli AWS SDK da utilizzare per passare alla versione 4 di Signature, consulta. Passaggio da Signature Version 2 a Signature Version 4

Per ulteriori informazioni sull'uso di Signature Version 4 con l'API REST di Amazon S3, consulta Autenticazione delle richieste (AWS Signature Version 4) nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

Cosa succede se non eseguo gli aggiornamenti?

Le richieste firmate con Signature Version 2 effettuate successivamente non verranno autenticate con Amazon S3. I richiedenti visualizzeranno degli errori che indicano che la richiesta deve essere firmata con Signature Version 4.

Devo apportare queste modifiche anche se sto utilizzando un URL prefirmato che richiede la firma per un periodo superiore a 7 giorni?

Se utilizzi un URL prefirmato che richiede la firma per un periodo superiore a 7 giorni, non è necessaria alcuna operazione. Puoi continuare a utilizzare AWS Signature Version 2 per firmare e autenticare l'URL prefirmato. Per maggiori dettagli su come migrare alla versione 4 di Signature per uno scenario di URL prefirmato, consulta la documentazione di Amazon S3.

Ulteriori informazioni

Passaggio da Signature Version 2 a Signature Version 4

Se al momento utilizzi Signature Version 2 per l'autenticazione delle richieste API Amazon S3, devi passare a Signature Version 4. Il supporto per Signature Version 2 sta per terminare, come descritto in AWS Signature Version 2 disattivata (obsoleta) per Amazon S3.

Per ulteriori informazioni sull'uso di Signature Version 4 con l'API REST di Amazon S3, consulta Autenticazione delle richieste (AWS Signature Version 4) nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

La tabella seguente elenca gli SDK con la versione minima necessaria per utilizzare Signature Version 4 (SigV4). Se si utilizzano URL prefirmati con gli SDK AWS Java, JavaScript (Node.js) o Python (Boto/CLI), è necessario impostare la versione 4 di Signature corretta Regione AWS nella configurazione del client. Per informazioni sull'impostazione di SigV4 nella configurazione del client, consulta Specificare la versione della firma nell'autenticazione della richiesta.

Se usi questo SDK/Product Esegui l'aggiornamento a questa versione dell'SDK La modifica del codice nel client è necessaria per utilizzare Sigv4? Collegamento alla documentazione sugli SDK

AWS SDK per Java v1

Aggiornamento a Java 1.11.201+ o v2. Specificare la versione della firma nell'autenticazione della richiesta

AWS SDK per Java v2

Non è necessario l'aggiornamento dell'SDK. No AWS SDK per Java

AWS SDK per .NET v1

Aggiornamento alla versione 3.1.10 o successiva. AWS SDK per .NET

AWS SDK per .NET v2

Aggiornamento alla versione 3.1.10 o successiva. No AWS SDK per .NET v2

AWS SDK per .NET v3

Aggiornamento alla versione 3.3.0.0 o successiva. AWS SDK per .NET v3

AWS SDK per JavaScript v1

Aggiornamento alla versione 2.68.0 o successiva. AWS SDK per JavaScript

AWS SDK per JavaScript v2

Aggiornamento alla versione 2.68.0 o successiva. AWS SDK per JavaScript

AWS SDK per JavaScript v3

Al momento, non è richiesta alcuna operazione. Aggiornamento alla versione principale V3 nel T3 2019. No AWS SDK per JavaScript

AWS SDK per PHP v1

Consigliato l'aggiornamento alla versione più recente di PHP o almeno alla v2.7.4 con il parametro di firma impostato su v4 nella configurazione del client S3. AWS SDK per PHP

AWS SDK per PHP v2

Consigliato l'aggiornamento alla versione più recente di PHP o almeno alla v2.7.4 con il parametro di firma impostato su v4 nella configurazione del client S3. No AWS SDK per PHP

AWS SDK per PHP v3

Non è necessario l'aggiornamento dell'SDK. No AWS SDK per PHP

Boto2

Aggiornamento a Boto2 v2.49.0. Aggiornamento a Boto 2

Boto3

Aggiornamento alla versione 1.5.71 (Botocore), 1.4.6 (Boto3). Boto 3 - AWS SDK per Python

AWS CLI

Aggiornamento alla versione 1.11.108. AWS Command Line Interface

AWS CLI v2 (anteprima)

Non è necessario l'aggiornamento dell'SDK. No AWS Command Line Interface versione 2

AWS SDK per Ruby v1

Aggiornamento a Ruby V3. Ruby V3 per AWS

AWS SDK per Ruby v2

Aggiornamento a Ruby V3. Ruby V3 per AWS

AWS SDK per Ruby v3

Non è necessario l'aggiornamento dell'SDK. No Ruby V3 per AWS

Go

Non è necessario l'aggiornamento dell'SDK. No AWS SDK per Go

C++

Non è necessario l'aggiornamento dell'SDK. No AWS SDK per C++
AWS Tools for Windows PowerShell or AWS Tools for PowerShell Core

Se utilizzi versioni del modulo precedenti alla 3.3.0.0, devi eseguire l'aggiornamento alla versione 3.3.0.0.

Per ottenere informazioni sulla versione, utilizza il cmdlet Get-Module:

Get-Module –Name AWSPowershell Get-Module –Name AWSPowershell.NetCore

Per eseguire l'aggiornamento alla versione 3.3.0.0, utilizza il cmdlet Update-Module:

Update-Module –Name AWSPowershell Update-Module –Name AWSPowershell.NetCore

Puoi utilizzare gli URL prefirmati, validi per più di 7 giorni, su cui invierai il traffico di Signature Version 2.