Les journaux des transactions de proxy fournissent des informations détaillées sur chaque requête traitée par le proxy Web sécurisé. Ces journaux incluent un enregistrement de chaque transaction que le Secure Web Proxy sert d'intermédiaire entre les utilisateurs et Internet. Ce document explique comment accéder aux journaux de transactions générés par vos instances Secure Web Proxy et comment les interpréter.
Types d'entrées de journaux de transactions de proxy
Les entrées de journal des transactions par procuration sont de trois types :
Ces journaux sont utiles pour les actions suivantes :
- Analyse de la sécurité et détection des menaces
- Résoudre les problèmes de connectivité et de non-respect des règles
- Auditer l'accès Web
- Analyse des performances de Secure Web Proxy
HttpRequest
Ces entrées de journal contiennent les informations suivantes :
| Nom | Type | Description |
|---|---|---|
requestMethod
|
Chaîne | Type de méthode de requête, tel que GET, HEAD, PUT ou POST.
|
requestUrl
|
Chaîne | Scheme (http ou https), nom d'hôte, chemin d'accès et partie requête de l'URL demandée. Par exemple, http://example.com/some/info?color=red.
|
requestSize
|
Chaîne (format int64) |
Taille, en octets, du message de requête HTTP, y compris les en-têtes et le corps de la requête. |
status
|
Integer | Code d'état HTTP ou HTTPS indiquant la réponse. Par exemple, 200 OK ou 404 Not Found.
|
responseSize
|
Chaîne (format int64) | Taille, en octets, du code d'état HTTP renvoyé au client, y compris les en-têtes et le corps. |
userAgent
|
Chaîne | User-agent envoyé par le client, tel que Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461;
.NET CLR 1.0.3705).
|
remoteIp
|
Chaîne | Adresse IP (IPv4 ou IPv6) du client qui a émis la requête HTTP. Ce champ peut inclure des informations sur le port. Par exemple, 192.168.1.1, 10.0.0.1:80 et FE80::0202:B3FF:FE1E:8329.
|
serverIp
|
Chaîne | Adresse IP (IPv4 ou IPv6) du serveur d'origine auquel la requête a été envoyée. Ce champ peut inclure des informations sur le port. Par exemple, 192.168.1.1, 10.0.0.1:80 et FE80::0202:B3FF:FE1E:8329.
|
referrer
|
Chaîne | URL de provenance de la requête, telle que définie dans les définitions des champs d'en-tête HTTP/1.1. |
latency
|
Chaîne (format Duration) | Latence de traitement des requêtes sur le serveur, du moment où la requête a été reçue jusqu'à l'envoi de la réponse.
La latence est une durée en secondes avec neuf chiffres au maximum après la virgule et se termine par |
cacheLookup
|
Booléen | Indique si une recherche dans le cache a été tentée. |
cacheHit
|
Booléen | Indique si une entité a été diffusée à partir du cache (avec ou sans validation). |
cacheValidatedWithOriginServer
|
Booléen | Indique si la réponse a été validée avec le serveur d'origine avant d'être diffusée à partir du cache. Ce champ n'est pertinent que si cacheHit est défini sur True.
|
cacheFillBytes
|
Chaîne (format int64) | Nombre d'octets de code d'état HTTP insérés. |
protocol
|
Chaîne | Protocole utilisé pour la requête, tel que HTTP/1.1, HTTP/2 et websocket.
|
LoadBalancerLogEntry
Ces entrées de journal contiennent les informations suivantes :
| Nom | Type | Description |
|---|---|---|
insertId
|
Chaîne | Identifiant unique du journal. |
jsonPayload.@type
|
Chaîne | Type de journal. La valeur du type de journal est toujours type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry.
|
jsonPayload.enforcedGatewaySecurityPolicy.hostname
|
Chaîne | Nom d'hôte associé à la requête. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action
|
Chaîne | Action effectuée sur la demande. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.rule
|
Chaîne | Nom de la règle appliquée à la requête. |
jsonPayload.enforcedGatewaySecurityPolicy.clientServiceAccount
|
Chaîne | Compte de service associé à la requête. |
jsonPayload.enforcedGatewaySecurityPolicy.clientSecureTags
|
Chaîne | Balises sécurisées associées à la requête. |
GatewayLogEntry
Ces entrées de journal contiennent les informations suivantes :
| Nom | Type | Description |
|---|---|---|
resource_container
|
Chaîne | Conteneur associé à la passerelle. |
location
|
Chaîne | Nom de la région dans laquelle la passerelle est définie. |
network_name
|
Chaîne | Nom du réseau de cloud privé virtuel (VPC) dans lequel la passerelle a été créée. |
gateway_type
|
Chaîne | Type d'enum de la passerelle. Pour Secure Web Proxy, la valeur doit être SECURE_WEB_GATEWAY.
|
gateway_name
|
Chaîne | Nom de la ressource de passerelle. |
Format des journaux de transactions du proxy
Les journaux des transactions de proxy sont écrits dans Cloud Logging avec le nom de journal projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests.
La charge utile JSON de chaque entrée de journal contient des informations détaillées sur la transaction. Les entrées de journal contiennent les champs clés suivants :
| Nom | Type | Description |
|---|---|---|
destination_ip |
Chaîne | Adresse IP résolue de la destination. |
instance |
Chaîne | Nom de l'instance Secure Web Proxy qui a traité la requête. |
mtls_info |
Objet | Informations sur l'établissement de la connexion mTLS, le cas échéant. |
policy_evaluation_results |
Objet | Informations sur les règles qui ont été appliquées et sur l'action qui en a résulté, comme allow ou deny. |
request_host |
Chaîne | Nom d'hôte demandé. |
request_method |
Chaîne | Méthode HTTP, telle que GET ou POST. |
request_path |
Chaîne | Chemin de la requête. |
request_port |
Integer | Port de destination. |
request_protocol |
Chaîne | Version du protocole HTTP. |
request_scheme |
Chaîne | Scheme de la requête URL, tel que http ou https. |
request_time |
Horodatage | Date et heure auxquelles le proxy a reçu la requête. L'horodatage est spécifié au format ISO 8601 : YYYY-MM-DDTHH:MM:SS.MsMsMsZoneOffset. Exemple : 2025-06-03T11:52:26.452Z |
response_code |
Integer | Code d'état HTTP renvoyé au client. |
response_size |
Integer | Taille du corps de la réponse, en octets. |
response_time |
Horodatage | Date et heure auxquelles le proxy a envoyé la réponse au client.
L'horodatage est spécifié au format ISO 8601 :
YYYY-MM-DDTHH:MM:SS.MsMsMsZoneOffset. Exemple : 2025-06-03T11:52:26.452Z |
source_ip |
Chaîne | Adresse IP du client. |
source_port |
Integer | Port source du client. |
tls_cipher_suite |
Chaîne | Suite de chiffrement utilisée pour la connexion TLS. |
tls_version |
Chaîne | Version TLS utilisée pour la connexion. |
Surveiller les journaux de transactions du proxy
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Sélectionnez votre projet Google Cloud .
Utilisez la requête suivante pour afficher tous les journaux de transactions Secure Web Proxy :
logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
Remplacez
PROJECT_IDpar l'ID de votre projet cibleGoogle Cloud .Voici quelques exemples de requêtes que vous pouvez utiliser pour afficher des informations spécifiques :
Trouvez toutes les demandes refusées.
logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests" jsonPayload.policy_evaluation_results.policy_action="DENY"
Recherchez les requêtes provenant d'une adresse IP source spécifique.
logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests" jsonPayload.source_ip="192.0.2.1"
Recherchez les requêtes adressées à un hôte spécifique.
logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests" jsonPayload.request_host="example.com"
Corréler les journaux de transactions du proxy avec Cloud Trace
Lorsque le traçage distribué est activé sur votre passerelle Secure Web Proxy, vous pouvez corréler les entrées de journal des transactions de proxy avec les étendues de trace dans Trace en procédant comme suit :
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Développez une entrée de journal
gateway_requests.Recherchez le champ
tracede premier niveau :projects/PROJECT_ID/traces/TRACE_ID
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google CloudTRACE_ID: ID de trace de 128 bits (32 caractères hexadécimaux) provenant de votre client ou de votre segment de trace. Exemple :4bf92f3577b34da6a3ce929d0e0e4736.
Cliquez sur l'URL
trace, puis sélectionnez Afficher les détails de la trace pour accéder directement au graphique en cascade de la trace dans Cloud Trace.Pour filtrer les journaux d'un ID de trace connu à partir d'un client instrumenté OpenTelemetry, exécutez la requête suivante dans l'explorateur de journaux :
logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests" trace="projects/PROJECT_ID/traces/TRACE_ID"
Pour en savoir plus, consultez Présentation du traçage distribué et Tracer le trafic sortant avec Cloud Trace.
Acheminer les journaux de transactions du proxy
Vous pouvez acheminer les journaux de transactions de proxy vers d'autres destinations, comme Cloud Storage, BigQuery ou Pub/Sub, à l'aide de récepteurs de journaux. Pour en savoir plus, consultez Entrées de journal de routage.
Étape suivante
- Présentation du traçage distribué
- Tracer le trafic sortant avec Cloud Trace
- Présentation des journaux et de la surveillance
- Journalisation d'audit Secure Web Proxy