View a markdown version of this page

En-têtes MTLS Viewer pour les politiques de cache et transférés à l'origine - Amazon CloudFront

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.

En-têtes MTLS Viewer pour les politiques de cache et transférés à l'origine

Lorsque vous utilisez l'authentification TLS mutuelle, CloudFront vous pouvez extraire des informations des certificats clients et les transmettre à vos origines sous forme d'en-têtes HTTP. Cela permet à vos serveurs d'origine d'accéder aux détails des certificats sans implémenter de logique de validation des certificats.

Les en-têtes suivants sont disponibles pour créer des comportements de cache :

Nom de l’en-tête Description Exemple de valeur Modes pris en charge
CloudFront-Viewer-Cert-Serial-Number Représentation hexadécimale du numéro de série du certificat 4a : 3 f : 5 c : 92 : d : e 8 : 7 b : 6 c Obligatoire, facultatif, transmission
CloudFront-Viewer-Cert-Issuer Représentation sous forme de chaîne RFC2253 du nom distinctif (DN) de l'émetteur CN=Rootcamtls.com, OU = Rootca, O = MTLS, L = Seattle, ST = Washington, C = États-Unis Obligatoire, facultatif, transmission
CloudFront-Viewer-Cert-Subject Représentation sous forme de chaîne RFC2253 du nom distinctif (DN) du sujet CN=Client_.com, OU = Client-3, O = MTLS, ST = Washington, C = États-Unis Obligatoire, facultatif, transmission
CloudFront-Viewer-Cert-Present 1 (présent) ou 0 (absent) indiquant si le certificat est présent. Cette valeur est toujours égale à 1 en mode obligatoire. 1 Obligatoire, facultatif, transmission
CloudFront-Viewer-Cert-Sha256 Le hachage SHA256 du certificat client 01fbf94fef5569753420c349f49adbfd80af5275377816e3ab1fb371b29cb586 Obligatoire, facultatif, transmission

Pour les demandes d'origine, deux en-têtes supplémentaires sont fournis, en plus des en-têtes ci-dessus mis à disposition pour les comportements du cache. En raison de la taille potentielle de l' CloudFront-Viewer-Cert-Pem en-tête, l'en-tête n'est pas exposé aux fonctions périphériques (Lambda @Edge ou CloudFront Functions) et est uniquement transmis à l'origine.

Nom de l’en-tête Description Exemple de valeur Modes pris en charge
CloudFront-Viewer-Cert-Validity Format ISO8601 des dates NotBefore et NotAfter CloudFront-Viewer-Cert-Validity: NotBefore =21/09/2023 ; =20/09/2024 T01:50:17Z NotAfter T01:50:17Z Obligatoire, facultatif, transmission
CloudFront-Viewer-Cert-Pem URL-encoded Format PEM du certificat feuille CloudFront-Viewer-Cert-Pem: -----BEGIN%20CERTIFICATE-----%0AMIIG<... réduit... > NmrUlw %0A----END%20CERTIFICAT------------A Obligatoire, facultatif
Client-Cert Certificat Leaf Client-Cert: :MIIG<... réduit... > NmrUlw : Transmettre
Client-Cert-Chain Non-leaf chaîne de certificats Client-Cert-Chain: :MIIG<... réduit... > NmrUlw : Transmettre

Configurer le transfert d'en-têtes

Console

En mode vérification, ajoute CloudFront automatiquement les en-têtes CloudFront-Viewer-Cert -* à toutes les demandes des utilisateurs. Pour transférer ces en-têtes vers votre source :

  1. Sur la page principale des distributions de la liste, sélectionnez votre distribution avec les lecteurs MTL activés et accédez à l'onglet Comportements

  2. Sélectionnez le comportement du cache et choisissez Modifier

  3. Dans la section Politique de demande d'origine, choisissez Créer une politique ou sélectionnez une politique existante

  4. Assurez-vous que les en-têtes suivants sont inclus dans la politique de demande d'origine :

    • CloudFront-Viewer-Cert-Serial-Number

    • CloudFront-Viewer-Cert-Issuer

    • CloudFront-Viewer-Cert-Subject

    • CloudFront-Viewer-Cert-Present

    • Cloudfront-Viewer-Cert-Sha256

    • CloudFront-Viewer-Cert-Validity

    • CloudFront-Viewer-Cert-Pem

  5. Choisissez Créer (pour les nouvelles politiques) ou Enregistrer les modifications (pour les politiques existantes)

  6. Sélectionnez la politique dans le comportement de votre cache et enregistrez les modifications

Utilisation AWS INTERFACE DE LIGNE DE COMMANDE (CLI)

L'exemple suivant montre comment créer une politique de demande d'origine qui inclut les en-têtes mTLS pour le mode vérification :

aws cloudfront create-origin-request-policy \ --origin-request-policy-config '{ "Name": "MTLSHeadersPolicy", "HeadersConfig": { "HeaderBehavior": "whitelist", "Headers": { "Quantity": 5, "Items": [ "CloudFront-Viewer-Cert-Serial-Number", "CloudFront-Viewer-Cert-Issuer", "CloudFront-Viewer-Cert-Subject", "CloudFront-Viewer-Cert-Validity", "CloudFront-Viewer-Cert-Pem" ] } }, "CookiesConfig": { "CookieBehavior": "none" }, "QueryStringsConfig": { "QueryStringBehavior": "none" } }'

Considérations relatives au traitement des en-

Lorsque vous travaillez avec des en-têtes de certificat, tenez compte des meilleures pratiques suivantes :

  • Validation des en-têtes : vérifiez les valeurs des en-têtes des certificats à l'origine comme mesure de sécurité supplémentaire

  • Limites de taille des en-têtes : les en-têtes des certificats PEM peuvent être volumineux, assurez-vous que votre serveur d'origine peut les gérer

  • Considérations relatives au cache : l'utilisation d'en-têtes de certificat dans votre clé de cache augmente la fragmentation du cache

  • Cross-origin demandes : si votre application utilise le CORS, vous devrez peut-être le configurer pour autoriser les en-têtes de certificat

Étapes suivantes

Après avoir configuré le transfert d'en-têtes, vous pouvez implémenter la vérification de révocation des certificats à l'aide des fonctions de CloudFront connexion et KeyValueStore. Pour plus de détails sur la mise en œuvre des contrôles de révocation, consultezRévocation du certificat.