Utilizzo della funzionalità Cross-Origin Resource Sharing (CORS) - 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à.

Utilizzo della funzionalità Cross-Origin Resource Sharing (CORS)

La funzionalità CORS (Cross-Origin Resource Sharing, condivisione delle risorse multiorigine) definisce un metodo con cui le applicazioni Web dei clienti caricate in un dominio possono interagire con le risorse situate in un dominio differente. Con il supporto della funzionalità CORS, è possibile creare applicazioni Web lato client complete con Amazon S3 e concedere l'accesso multiorigine alle risorse di Amazon S3 in modo selettivo.

In questa sezione viene fornita una panoramica della funzionalità CORS. Gli argomenti secondari descrivono come abilitare CORS utilizzando la console Amazon S3 o a livello di codice utilizzando l'API REST di Amazon S3 e gli SDK. AWS

Cross Origin Resource Sharing (CORS): scenari dei casi d'uso

Di seguito sono riportati alcuni scenari di esempio per l'uso della funzionalità CORS.

Scenario 1

Si supponga di ospitare un sito Web in un bucket Amazon S3 denominato website, come descritto in Hosting di un sito Web statico tramite Amazon S3. Gli utenti caricano l'endpoint del sito Web:

http://website.s3-website.us-east-1.amazonaws.com

Ora vuoi utilizzarlo JavaScript sulle pagine Web archiviate in questo bucket per poter effettuare richieste GET e PUT autenticate sullo stesso bucket utilizzando l'endpoint dell'API Amazon S3 per il bucket,. website.s3.us-east-1.amazonaws.com Normalmente un browser JavaScript impedirebbe l'autorizzazione di tali richieste, ma con CORS puoi configurare il tuo bucket per abilitare esplicitamente le richieste provenienti da più origini. website.s3-website.us-east-1.amazonaws.com

Scenario 2

Si supponga di voler ospitare un font Web dal bucket S3. Anche in questo caso, i browser richiedono un controllo della funzionalità CORS (anche denominato "controllo preliminare") per il caricamento dei font Web. È necessario configurare il bucket che ospita il font Web in modo da consentire a qualsiasi origine di eseguire queste richieste.

In che modo Amazon S3 valuta la configurazione CORS in un bucket?

Quando Amazon S3 riceve una richiesta preliminare da un browser, valuta la configurazione CORS per il bucket e utilizza la prima regola CORSRule corrispondente alla richiesta del browser in entrata per abilitare una richiesta multiorigine. Per garantire la corrispondenza tra la regola e la richiesta, è necessario che siano soddisfatte le condizioni elencate di seguito.

  • L'intestazione Origin della richiesta deve corrispondere a un elemento AllowedOrigin.

  • Il metodo della richiesta (ad esempio, GET o PUT) o l'intestazione Access-Control-Request-Method in caso di richiesta OPTIONS preliminare deve essere uno degli elementi AllowedMethod.

  • Ogni intestazione elencata nell'intestazione Access-Control-Request-Headers nella richiesta preliminare deve corrispondere a un elemento AllowedHeader.

Nota

Le ACL e le policy continuano a essere valide quando si abilita la funzionalità CORS nel bucket.

In che modo Punto di accesso per le espressioni Lambda dell'oggetto supporta CORS

Quando Lambda per oggetti Amazon S3 riceve una richiesta da un browser o la richiesta include un'intestazione Origin, Lambda per oggetti Amazon S3 aggiunge sempre un campo di intestazione “AllowedOrigins":"*".

Per ulteriori informazioni sull'uso di CORS, consulta gli argomenti riportati di seguito.