

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation du partage des ressources entre origines multiples (CORS)
<a name="cors"></a>

Le partage des ressources cross-origin (CORS) définit un moyen pour les applications Web clientes chargées dans un domaine particulier d’interagir avec les ressources d’un autre domaine. Le CORS vous permet de créer de riches applications web côté client avec Amazon S3 et d’autoriser de manière sélective un accès cross-origin à vos ressources Amazon S3. 

Cette section fournit une présentation du CORS. Les sous-rubriques décrivent comment activer CORS à l'aide de la console Amazon S3 ou par programmation à l'aide de l'API REST Amazon S3 et du. AWS SDKs 

## Partage des ressources de plusieurs origines : scénarios de cas d’utilisation
<a name="example-scenarios-cors"></a>

Les exemples de scénarios suivants utilisent le partage CORS.

**Scénario 1**  
Supposons que vous hébergiez un site Internet dans un compartiment Amazon S3 appelé `website`, comme décrit dans [Hébergement d’un site Web statique à l’aide d’Amazon S3](WebsiteHosting.md). Les utilisateurs chargent le point de terminaison du site web :

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

Vous souhaitez maintenant utiliser les pages Web stockées dans ce compartiment pour pouvoir effectuer des requêtes GET et PUT authentifiées JavaScript sur le même compartiment en utilisant le point de terminaison de l'API Amazon S3 pour le compartiment,. `website.s3.us-east-1.amazonaws.com` Un navigateur bloque normalement l'autorisation JavaScript de ces demandes, mais avec CORS, vous pouvez configurer votre compartiment pour activer explicitement les demandes provenant de différentes origines. `website.s3-website.us-east-1.amazonaws.com` 

**Scénario 2**  
Supposons que vous souhaitez héberger une police web à partir de votre compartiment S3. Une fois encore, les navigateurs requièrent un contrôle CORS (aussi appelé contrôle en amont) pour le chargement des polices web. Vous configurez le compartiment qui héberge la police web pour permettre à toute origine d’effectuer ces demandes.

## Comment Amazon S3 évalue la configuration CORS sur un compartiment ?
<a name="cors-eval-criteria"></a>

Lorsque Amazon S3 reçoit une demande en amont d’un navigateur, il évalue la configuration CORS du compartiment et utilise la première règle `CORSRule` qui correspond à la demande entrante du navigateur pour permettre une demande cross-origin. Pour qu’une règle corresponde, les conditions suivantes doivent être remplies :
+ L’en-tête `Origin` d’une demande CORS adressée à votre compartiment doit correspondre aux origines de l’élément `AllowedOrigins` de votre configuration CORS.
+ Les méthodes HTTP spécifiées dans `Access-Control-Request-Method` dans une demande CORS adressée à votre compartiment doivent correspondre à la ou aux méthodes répertoriées dans l’élément `AllowedMethods` de votre configuration CORS. 
+ Les en-têtes répertoriés dans l’en-tête `Access-Control-Request-Headers` d’une demande de contrôle en amont doivent correspondre aux en-têtes de l’élément `AllowedHeaders` de votre configuration CORS. 

**Note**  
Les politiques ACLs et continuent de s'appliquer lorsque vous activez CORS sur votre compartiment.

## Comment le point d’accès Object Lambda prend en charge le CORS
<a name="cors-olap-cors"></a>

Quand S3 Object Lambda reçoit une demande d'un navigateur ou que la demande inclut un en-tête `Origin`, S3 Object Lambda ajoute toujours un champ d'en-tête `"AllowedOrigins":"*"`.

Pour plus d’informations sur l’utilisation du CORS, consultez les rubriques suivantes.

**Topics**
+ [Partage des ressources de plusieurs origines : scénarios de cas d’utilisation](#example-scenarios-cors)
+ [Comment Amazon S3 évalue la configuration CORS sur un compartiment ?](#cors-eval-criteria)
+ [Comment le point d’accès Object Lambda prend en charge le CORS](#cors-olap-cors)
+ [Éléments d’une configuration CORS](ManageCorsUsing.md)
+ [Configuration du partage des ressources entre origines multiples (CORS)](enabling-cors-examples.md)
+ [Test du CORS](testing-cors.md)
+ [Dépannage du CORS](cors-troubleshooting.md)