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 elementoAllowedOrigin
. -
Il metodo della richiesta (ad esempio, GET o PUT) o l'intestazione
Access-Control-Request-Method
in caso di richiestaOPTIONS
preliminare deve essere uno degli elementiAllowedMethod
. -
Ogni intestazione elencata nell'intestazione
Access-Control-Request-Headers
nella richiesta preliminare deve corrispondere a un elementoAllowedHeader
.
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.