View a markdown version of this page

Afficher les en-têtes mTLS pour les politiques de cache et les transmettre à 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.

Afficher les en-têtes mTLS pour les politiques de cache et les transmettre à 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:3f:5c:92:d1 : e8:7 b:6c Obligatoire, facultatif, relais
CloudFront-Viewer-Cert-Issuer RFC2253 : représentation sous forme de chaîne du nom distinctif (DN) de l'émetteur cn=RootCamtls.com, OU=RootCA, O=MTLS, L=Seattle, ST=Washington, C=États-Unis Obligatoire, facultatif, relais
CloudFront-Viewer-Cert-Subject RFC2253 : représentation sous forme de chaîne du nom distinctif (DN) du sujet CN=Client_.com, OU=Client-3, O=MTLS, ST=Washington, C=États-Unis Obligatoire, facultatif, relais
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, relais
CloudFront-Viewer-Cert-Sha256 Le hachage SHA256 du certificat client 01fbf94fef5569753420c349f49adbfd80af5275377816e3ab1fb371b29cb586 Obligatoire, facultatif, relais

Pour les demandes d'origine, deux en-têtes supplémentaires sont fournis, en plus des en-têtes ci-dessus disponibles pour les comportements de cache. En raison de la taille potentielle de l' CloudFront-Viewer-Cert-Pem en-tête, celui-ci n'est pas exposé aux fonctions de bord (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 de la date NotBefore et NotAfter CloudFront-Viewer-Cert-Validity: NotBefore =21/09/2023 ; =20/09/2024 T01:50:17Z NotAfter T01:50:17Z Obligatoire, facultatif, relais
CloudFront-Viewer-Cert-Pem URL-encoded Format PEM du certificat foliaire CloudFront-Viewer-Cert-Pem: -----BEGIN%20CERTIFICATE-----:\AMIIG<... réduit... > NmrUlw %A----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ête

Console

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

  1. Sur la page principale de la liste des distributions, sélectionnez votre distribution avec Viewer mTLS activé 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 stratégie 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 votre comportement de 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 des en-têtes mTLS pour le mode de 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 bonnes pratiques suivantes :

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

  • Limites de taille d'en-tête : 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 requêtes : si votre application utilise CORS, vous devrez peut-être la configurer pour autoriser les en-têtes de certificat

Étapes suivantes

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