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.
Observabilité à l'aide des journaux de connexion
CloudFront les journaux de connexion fournissent une visibilité détaillée sur les événements d'authentification TLS mutuels, ce qui vous permet de surveiller la validation des certificats, de suivre les tentatives de connexion et de résoudre les problèmes d'authentification.
Que sont les journaux de connexion ?
Les journaux de connexion capturent des informations détaillées sur les connexions TLS et la validation des certificats pour les distributions mutuelles compatibles TLS. Contrairement aux journaux d'accès standard qui enregistrent les informations relatives aux requêtes HTTP, les journaux de connexion se concentrent spécifiquement sur la phase d'établissement de la connexion TLS, notamment :
État de la connexion (succès/échec)
Détails du certificat client
Protocole TLS et informations de chiffrement
Métriques de synchronisation des connexions
Données personnalisées provenant de Connection Functions
Ces journaux fournissent une visibilité complète sur les événements d'authentification basés sur des certificats, ce qui vous aide à surveiller la sécurité, à résoudre les problèmes et à respecter les exigences de conformité.
Activer les journaux de connexion
Les journaux de connexion ne sont disponibles que pour les distributions où l'authentification TLS mutuelle est activée. Vous pouvez envoyer des journaux de connexion vers plusieurs destinations, notamment CloudWatch Logs, Amazon Data Firehose et Amazon S3.
Conditions préalables
Avant d'activer les journaux de connexion :
Configurez le protocole TLS mutuel pour votre distribution CloudFront
Activez les journaux de connexion pour votre CloudFront distribution
Assurez-vous de disposer des autorisations requises pour la destination de journalisation que vous avez choisie
Pour la livraison entre comptes, configurez les politiques IAM appropriées
Pour activer les journaux de connexion (console)
Connectez-vous à la CloudFront console AWS Management Console et ouvrez-la à l'adressehttps://console.aws.amazon.com/cloudfront/v4/home
. -
Dans la liste de distribution, sélectionnez votre distribution compatible MTLS.
-
Sélectionnez l'onglet Logging (Journalisation).
-
Choisissez Ajouter.
-
Sélectionnez le service pour recevoir vos journaux :
CloudWatch Journaux
Firehose
Amazon S3
-
Pour Destination, sélectionnez la ressource correspondant au service que vous avez choisi :
Pour CloudWatch Logs, entrez le nom du groupe de logs
Pour Firehose, sélectionnez le flux de diffusion Firehose
Pour Amazon S3, entrez le nom du compartiment (éventuellement avec un préfixe)
-
(Facultatif) Configurez des paramètres supplémentaires :
Sélection des champs : sélectionnez les champs de journal spécifiques à inclure.
Format de sortie : Choisissez entre JSON, Plain, W3C, Raw ou Parquet (S3 uniquement).
Délimiteur de champs : spécifiez comment séparer les champs du journal.
-
Choisissez Enregistrer les modifications
Pour activer les journaux de connexion (AWS CLI)
L'exemple suivant montre comment activer les journaux de connexion à l'aide de l' CloudWatch API :
# Step 1: Create a delivery source aws logs put-delivery-source \ --name "cf-mtls-connection-logs" \ --resource-arn "arn:aws:cloudfront::123456789012:distribution/E1A2B3C4D5E6F7" \ --log-type CONNECTION_LOGS # Step 2: Create a delivery destination aws logs put-delivery-destination \ --name "s3-destination" \ --delivery-destination-configuration \ "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket1" # Step 3: Create the delivery aws logs create-delivery \ --delivery-source-name "cf-mtls-connection-logs" \ --delivery-destination-arn "arn:aws:logs:us-east-1:123456789012:delivery-destination:s3-destination"
Note
Lorsque vous utilisez l' CloudWatch API, vous devez spécifier la région USA Est (Virginie du Nord) (us-east-1) même lorsque vous distribuez des logs à d'autres régions.
Champs du journal de connexion
Les journaux de connexion contiennent des informations détaillées sur chaque tentative de connexion TLS :
| Champ | Description | Exemple |
|---|---|---|
eventTimestamp |
Horodatage ISO 8601 lorsque la connexion a été établie ou a échoué | 1731620046814 |
connectionId |
Identifiant unique pour la connexion TLS | oLHiEKbQSn8lkvJfA3D4gFowK3_iZ0g4i5nMUjE1Akod8TuAzn5nzg== |
connectionStatus |
État de la tentative de connexion mTLS. |
Success ou Failed |
clientIp |
Adresse IP du client qui se connecte | 2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
clientPort |
Port utilisé par le client | 12137 |
serverIp |
Adresse IP du serveur CloudFront Edge | 99.84.71.136 |
distributionId |
CloudFront ID de distribution | E2DX1SLDPK0123 |
distributionTenantId |
CloudFront ID du locataire de distribution (le cas échéant) | dt_2te1Ura9X3R2iCGNjW123 |
tlsProtocol |
Version du protocole TLS utilisée | TLSv1.3 |
tlsCipher |
Suite de chiffrement TLS utilisée pour la connexion | TLS_AES_128_GCM_SHA256 |
tlsHandshakeDuration |
Durée de la poignée de main TLS en millisecondes | 153 |
tlsSni |
Valeur d'indication du nom du serveur issue de la poignée de contact TLS | d111111abcdef8.cloudfront.net |
clientLeafCertSerialNumber |
Numéro de série du certificat du client | 00:b1:43:ed:93:d2:d8:f3:9d |
clientLeafCertSubject |
Champ d'objet du certificat du client | C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront,
CN=client.test.mtls.net |
clientLeafCertIssuer |
Champ émetteur du certificat du client | C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront,
CN=test.mtls.net |
clientLeafCertValidity |
Période de validité du certificat du client | NotBefore=2025-06-05T23:28:21Z;NotAfter=2125-05-12T23:28:21Z |
connectionLogCustomData |
Données personnalisées ajoutées via les fonctions de connexion | REVOKED:00:b1:43:ed:93:d2:d8:f3:9d |
Codes d'erreur de connexion
Failed:ClientCertMaxChainDepthExceeded Failed:ClientCertMaxSizeExceeded Failed:ClientCertUntrusted Failed:ClientCertNotYetValid Failed:ClientCertExpired Failed:ClientCertTypeUnsupported Failed:ClientCertInvalid Failed:ClientCertIntentInvalid Failed:ClientCertRejected Failed:ClientCertMissing Failed:TcpError Failed:TcpTimeout Failed:ConnectionFunctionError Failed:ConnectionFunctionDenied Failed:Internal Failed:UnmappedConnectionError
Lorsque les connexions échouent, CloudFront enregistre des codes de motif spécifiques :
| Code | Description |
|---|---|
| ClientCertMaxChainDepthExceeded | Profondeur maximale de la chaîne de certificats dépassée |
| ClientCertMaxSizeExceeded | Taille maximale du certificat dépassée |
| ClientCertUntrusted | Le certificat n'est pas fiable |
| ClientCertNotYetValid | Le certificat n'est pas encore valide |
| ClientCertExpired | Le certificat est expiré |
| ClientCertTypeUnsupported | Le type de certificat n'est pas pris en charge |
| ClientCertInvalid | Le certificat n'est pas valide |
| ClientCertIntentInvalid | L'intention du certificat n'est pas valide |
| ClientCertRejected | Certificat rejeté par validation personnalisée |
| ClientCertMissing | Le certificat est manquant |
| TcpError |
Une erreur s'est produite lors de la tentative d'établissement d'une connexion |
| TcpTimeout |
La connexion n'a pas pu être établie dans le délai imparti |
| ConnectionFunctionError |
Une exception non détectée a été déclenchée lors de l'exécution de la fonction de connexion |
| Internal (Interne) |
Une erreur de service interne s'est produite |
| UnmappedConnectionError |
Une erreur s'est produite qui ne correspond à aucune des autres catégories |