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.
Modes de validation supplémentaires
Le mode requis est le mode par défaut pour le protocole TLS CloudFront mutuel : il CloudFront valide chaque certificat client et refuse les connexions qui échouent. Toutefois, pour prendre en charge des cas d'utilisation supplémentaires, tels que des applications desservant à la fois des clients m TLS-authenticated et des clients non authentifiés, ou des environnements dans lesquels le serveur d'origine effectue sa propre validation mTLS, la prise en charge de deux modes supplémentaires est prise CloudFront en charge.
Le mode optionnel est conçu pour les applications avec des populations de clients mixtes. Par exemple, un portail qui diffuse du contenu public à des navigateurs non authentifiés tout en limitant les points de terminaison de l'API aux clients présentant des certificats valides. Ou un scénario de migration dans lequel vous intégrez progressivement les clients à mTLS et devez autoriser les connexions authentifiées et non authentifiées pendant la transition.
Le mode Passthrough est conçu pour les clients dont les serveurs d'origine effectuent déjà la validation mTLS. Par exemple, les services qui migrent depuis des proxys inverses locaux, d'autres CDN ou des équilibreurs de charge d'application qui gèrent déjà la vérification des certificats. Le mode Passthrough permet à ces clients de se placer CloudFront en tête de leurs applications sans avoir à réimplémenter la logique de validation à la périphérie.
Mode optionnel
Validation du certificat client Mode optionnel
CloudFront propose un autre mode facultatif de validation des certificats clients qui valide les certificats clients présentés mais autorise l'accès aux clients qui n'en présentent pas.
Comportement en mode facultatif
-
Autorise la connexion aux clients possédant des certificats valides (les certificats non valides sont refusés).
-
Permet la connexion à des clients sans certificat.
-
Permet des scénarios d'authentification client mixtes via une distribution unique.
Le mode optionnel est idéal pour la migration progressive vers l'authentification mTLS, la prise en charge des clients avec des certificats et des clients sans certificat, ou le maintien de la rétrocompatibilité avec les clients existants.
Note
En mode facultatif, les fonctions de connexion sont toujours invoquées même lorsque les clients ne présentent pas de certificats. Vous pouvez ainsi implémenter une logique personnalisée, telle que la journalisation des adresses IP des clients ou l'application de politiques différentes en fonction de la présentation des certificats.
Pour configurer le mode optionnel (console)
-
Dans vos paramètres de distribution, accédez à l'onglet Général, puis choisissez Modifier.
-
Accédez à la section Viewer Mutual Authentication (mTLS) dans le conteneur Connectivity.
-
Pour le mode de validation du certificat client, sélectionnez Facultatif.
-
Enregistrez les modifications.
Pour configurer le mode optionnel (AWS CLI)
L'exemple suivant montre comment configurer le mode optionnel :
"ViewerMtlsConfig": { "Mode": "optional", ...other settings }
Personnaliser les en-têtes de certificat
Utilisez les fonctions d'assistance mTLS dans Viewer-request CloudFront Functions pour renommer, reformater ou combiner les en-têtes de certificat avant qu'ils n'atteignent votre origine. Cela est utile lors de la migration depuis d'autres services utilisant des noms d'en-tête ou des formats de codage de certificats différents.
Mode Passthrough
Avec le mode passthrough, vous pouvez utiliser CloudFront vos implémentations mTLS existantes à votre origine. CloudFront met fin à la connexion TLS et transmet le certificat client à votre origine sous forme d'en-têtes HTTP. Votre origine effectue toutes les validations des certificats, y compris la vérification de la chaîne, la vérification de la révocation et l'application de politiques personnalisées.
Comment fonctionne le mode passthrough
-
Le client se connecte à un certificat client CloudFront et le présente lors de la prise de contact TLS.
-
CloudFront termine la prise de contact TLS sans valider le certificat auprès d'un magasin de confiance.
-
CloudFront ajoute le certificat client et la chaîne de certificats en tant qu'en-têtes HTTP à la demande.
-
La demande est transmise à votre point d'origine. Aucun contenu n'est mis en cache.
-
Votre origine valide le certificat et traite la demande.
Les clients peuvent également se connecter sans présenter de certificat. Votre fonction d'origine ou de connexion gère les scénarios de certificats vides.
Note
En mode relais, les fonctions de connexion sont toujours invoquées même lorsque les clients ne présentent pas de certificats. Vous pouvez ainsi implémenter une logique personnalisée, telle que la journalisation des adresses IP des clients ou l'application de politiques différentes en fonction de la présentation des certificats.
Exigences de configuration
-
Pas de magasin de confiance — La distribution doit avoir des associations de magasins zéro confiance.
-
Mise en cache désactivée : tous les comportements de cache doivent utiliser la politique de
CachingDisabledcache gérée. -
Origin Shield interdit — Origin Shield ne peut pas être activé.
-
Lambda @Edge interdit — Les associations de fonctions Lambda @Edge ne sont pas autorisées.
-
Politique de demande d'origine requise : vous devez autoriser les
Client-Cert-Chainen-têtesClient-Certet dans votre politique de demande d'origine pour que l'origine les reçoive. -
Certificate-chain-depth— CloudFront permet une profondeur maximale de 4 pour la transmission de la chaîne de certificats clients aux origines.
Activer le mode passthrough
Console
-
Mettez à jour tous les comportements du cache pour utiliser la politique de
CachingDisabledcache gérée. -
Ouvrez la CloudFront console et choisissez votre distribution.
-
Choisissez l'onglet Général, puis choisissez Modifier sous Paramètres.
-
Sous Authentification mutuelle du visualiseur (mTLS), sélectionnez Passthrough.
-
Cliquez sur Enregistrer les modifications.
AWS INTERFACE DE LIGNE DE COMMANDE (CLI)
Assurez-vous que tous les comportements du cache font référence à la CachingDisabled politique gérée, puis mettez à jour la configuration de distribution :
{ "ViewerMtlsConfig": { "Mode": "passthrough" } }
En-têtes transférés à l'origine
CloudFront ajoute les en-têtes suivants à la demande envoyée à votre origine :
-
Client-Cert— Le certificat d'entité finale (feuille) présenté par le client, codé en base64. -
Client-Cert-Chain— La chaîne de certificats (à l'exclusion de la feuille), sous forme de liste de champs structurée. Chaque certificat est codé en base64.Client-Cert-Chainest un en-tête de type Liste. Il peut apparaître plusieurs fois dans une demande. La concaténation de toutes les valeurs préserve l'ordre de chaîne d'origine.Client-Cert-Chainest omis lorsque le client ne présente qu'un seul certificat.
CloudFront supprime tous les Client-Cert-Chain en-têtes entrants Client-Cert ou provenant de la demande du client avant d'ajouter les données de certificat réelles. Cela permet d'éviter l'usurpation d'en-tête.
Personnaliser les en-têtes de certificat
Utilisez les fonctions d'assistance mTLS dans Viewer-request CloudFront Functions pour renommer, reformater ou combiner les en-têtes de certificat avant qu'ils n'atteignent votre origine. Cela est utile lors de la migration depuis d'autres services utilisant des noms d'en-tête ou des formats de codage de certificats différents.