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 :
-
Sur la page principale de la liste des distributions, sélectionnez votre distribution avec Viewer mTLS activé et accédez à l'onglet Comportements
-
Sélectionnez le comportement du cache et choisissez Modifier
-
Dans la section Politique de demande d'origine, choisissez Créer une politique ou sélectionnez une stratégie existante
-
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
-
Choisissez Créer (pour les nouvelles politiques) ou Enregistrer les modifications (pour les politiques existantes)
-
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.