Utilisation du partage des ressources entre origines multiples (CORS) - Amazon Simple Storage Service

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)

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 des kits SDK. AWS

Partage des ressources de plusieurs origines : scénarios de cas d'utilisation

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

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 de la demande doit correspondre à un élément AllowedOrigin.

  • La méthode de demande (par exemple, GET ou PUT) ou l'en-tête Access-Control-Request-Method dans le cas d'une demande OPTIONS en amont doit être l'un des éléments AllowedMethod.

  • Chaque en-tête listé dans l'en-tête Access-Control-Request-Headers de la demande sur la demande en amont doit correspondre à un élément AllowedHeader.

Note

Les listes ACL et stratégies continuent de s'appliquer lorsque vous activer le CORS sur le compartiment.

Comment le point d'accès Object Lambda prend en charge le CORS

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.