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.
Cross-origin prise en charge du partage des ressources et Amazon EC2
L'API Amazon EC2 prend en charge le partage de ressources entre origines (CORS). CORS définit un moyen pour les applications Web clientes chargées dans un domaine d'interagir avec les ressources d'un domaine différent. Pour plus d'informations, consultez la recommandation du W3C sur le partage mywebsite.example.com Normalement, un navigateur bloque l'autorisation JavaScript de ces demandes, mais avec CORS, vous pouvez effectuer des appels d'API Amazon EC2 d'origine croisée depuis. mywebsite.example.com
CORS est déjà activé pour l'API Amazon EC2 et est prêt à être utilisé. Vous n'avez pas besoin d'effectuer d'étapes de configuration supplémentaires pour commencer à utiliser cette fonctionnalité. Aucune modification n'a été apportée à la façon dont vous passez des appels à l'API Amazon EC2 ; ils doivent toujours être signés avec des AWS informations d'identification valides afin de garantir AWS l'authentification du demandeur. Pour plus d'informations, consultez la section Signer des demandes d' AWS API dans le guide de l'utilisateur IAM.
L'implémentation de CORS dans l'API Amazon EC2 est standardisée. Votre application peut envoyer une simple demande à l'API Amazon EC2 ou, selon le contenu de la demande, une demande préalable suivie d'une demande réelle. Amazon EC2 autorise la demande depuis n'importe quelle origine
Pour plus d'informations sur CORS et des exemples de son fonctionnement, consultez l'article suivant sur le Mozilla Developer Network : Contrôle d'accès HTTP (CORS).
Demandes simples
Les critères qui définissent une demande simple ou réelle sont les suivants :
-
Les requêtes utilisent uniquement les méthodes
GETouPOSTHTTP. Si laPOSTméthode est utilisée, il neContent-Typepeut s'agir que de l'une des méthodes suivantes :application/x-www-form-urlencodedmultipart/form-data, outext/plain. -
Les requêtes ne définissent pas d'en-têtes personnalisés, tels
X-Other-Headerque.
Amazon EC2 autorise la demande depuis n'importe quelle origine. Toute GET POST demande qui tente d'utiliser les informations d'identification du navigateur en définissant la Access-Control-Allow-Credentials valeur sur true (whereXMLHttpRequest.withCredentials = true) échouera.
Les informations suivantes décrivent les en-têtes de demande adressés à Amazon EC2 :
Valeurs d'en-tête de demande simples
Origin: Spécifie le domaine qui souhaite accéder à la ressource (dans ce cas, la ressource est Amazon EC2). Il est inséré par le navigateur dans une requête cross-origin.
Les informations suivantes décrivent les en-têtes de réponse qu'Amazon EC2 renvoie (ou ne renvoie pas) après une demande simple ou réelle :
Valeurs d'en-tête de réponse simples
-
Access-Control-Allow-Origin: Spécifie le domaine qui peut accéder à la ressource (dans ce cas, la ressource est Amazon EC2). Ceci est toujours renvoyé avec une valeur *. Par conséquent, Amazon EC2 autorise toute origine entre domaines et n'autorise jamais les informations d'identification du navigateur, telles que les cookies. -
Access-Control-Allow-Credentials: indique si les informations d'identification du navigateur peuvent être utilisées pour effectuer la demande proprement dite. Il n'est jamais retourné. Par conséquent, le navigateur doit interpréter la valeur commeAccess-Control-Allow-Credentials: false.
Demandes avant le vol
Si le contenu de votre demande répond aux critères ci-dessous, votre demande est vérifiée pour déterminer si la demande proprement dite doit être envoyée. Une demande de précontrôle envoie d'abord une requête HTTP à la ressource (dans ce cas, Amazon EC2) à l'OPTIONSaide de cette méthode.
Les critères qui définissent une demande de prévol sont les suivants :
-
Les requêtes utilisent des méthodes HTTP autres que
GETouPOST. Toutefois, si laPOSTméthode est utilisée, il neContent-Types'agit pas de l'une des méthodes suivantes :application/x-www-form-urlencodedmultipart/form-data, outext/plain. -
Les demandes définissent des en-têtes personnalisés ; par exemple,
X-Other-Header.
L'implémentation Amazon EC2 CORS autorise tous les en-têtes et autorise n'importe quelle origine dans la demande réelle.
Les informations suivantes décrivent les en-têtes de demande pour une demande de contrôle préalable à Amazon EC2 :
Valeurs d'en-tête de demande Preflight
-
Origin: Spécifie le domaine qui souhaite accéder à la ressource (dans ce cas, la ressource est Amazon EC2). Il est inséré par le navigateur dans une requête cross-origin. -
Access-Control-Request-Method: La méthode HTTP à utiliser dans la requête proprement dite depuis le navigateur. -
Access-Control-Request-Headers: Les en-têtes personnalisés à envoyer dans la demande cross-origin réelle.
Les informations suivantes concernent les en-têtes de réponse qu'Amazon EC2 renvoie (ou ne renvoie pas) après une demande préalable :
Valeurs d'en-tête de réponse Preflight
-
Access-Control-Allow-Origin: Spécifie le domaine qui peut accéder à la ressource (dans ce cas, la ressource est Amazon EC2). Ceci est toujours renvoyé avec une valeur *. Par conséquent, Amazon EC2 autorise toute origine entre domaines et n'autorise jamais les informations d'identification du navigateur, telles que les cookies. -
Access-Control-Allow-Credentials: indique si les informations d'identification du navigateur peuvent être utilisées pour effectuer la demande proprement dite. Ce produit n'est jamais retourné par Amazon EC2. Par conséquent, le navigateur doit interpréter la valeur commeAccess-Control-Allow-Credentials: false. -
Access-Control-Expose-Headers: permet d'exposer les en-têtes au navigateur. Ce produit n'est jamais retourné par Amazon EC2. Par conséquent, aucun en-tête de retour d'Amazon EC2 ne peut être lu par le domaine demandeur. -
Access-Control-Max-Age: Spécifie la durée pendant laquelle les résultats des demandes avant le vol peuvent être mis en cache. La valeur est définie sur 1800 secondes (30 minutes). -
Access-Control-Allow-Methods: indique quelles méthodes sont autorisées lors d'une demande réelle. Les méthodes suivantes sont autorisées :GETPOSTOPTIONS,DELETE, etPUT. Cela dépend également de la manière dont vous appelez l'API Amazon EC2 ; par exemple, en utilisant l'API Query ou en utilisant REST. -
Access-Control-Allow-Headers: indique quels en-têtes peuvent être utilisés dans la demande réelle. Amazon EC2 accepte tous les en-têtes des demandes de précontrôle. Si les en-têtes HTTP ne sont pas pertinents dans la demande réelle, ils sont ignorés.