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

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 le CORS grâce à la console Amazon S3, ou par programmation grâce à l'API REST Amazon S3 et aux kits AWS SDK.

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

À présent, vous souhaitez utiliser JavaScript sur les pages web stockées dans ce compartiment pour pouvoir faire des demandes authentifiées GET et PUT sur le même compartiment grâce au point de terminaison de l'API d'Amazon S3 pour le compartiment, website.s3.us-east-1.amazonaws.com. En principe, un navigateur empêcherait JavaScript d'autoriser ces demandes, mais avec le partage CORS, vous pouvez configurer le compartiment pour autoriser explicitement les demandes cross-origin de 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.

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