查看 Proxy 交易記錄

Proxy 交易記錄會提供 Secure Web Proxy 處理的每項要求詳細資訊。這些記錄包含 Secure Web Proxy 在使用者與網際網路之間中介的每筆交易記錄。本文說明如何存取及解讀 Secure Web Proxy 執行個體產生的交易記錄。

Proxy 交易記錄項目類型

Proxy 交易記錄項目有三種類型:

這些記錄可用於下列操作:

  • 安全性分析和威脅偵測
  • 排解連線和政策問題
  • 稽核網路存取
  • Secure Web Proxy 效能分析

HttpRequest

這些記錄項目包含下列資訊:

名稱 類型 說明
requestMethod 字串 要求方法的類型,例如 GET、HEAD、PUT 或 POST。
requestUrl 字串 配置 (http 或 https)、主機名稱、路徑,以及所要求網址的查詢部分。例如:http://example.com/some/info?color=red。
requestSize

字串 (int64 格式)

HTTP 要求訊息的大小 (以位元組為單位),包括要求標頭和要求主體。
status 整數 指出回應的 HTTP 或 HTTPS 狀態碼。例如 200 OK 或 404 Not Found。
responseSize 字串 (int64 格式) 傳回用戶端的 HTTP 狀態碼大小 (以位元組為單位),包括標頭和內文。
userAgent 字串 用戶端傳送的使用者代理程式,例如 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)。
remoteIp 字串 發出 HTTP 要求的用戶端 IP 位址 (IPv4 或 IPv6)。這個欄位可以包含通訊埠資訊。例如:192.168.1.1、10.0.0.1:80 和 FE80::0202:B3FF:FE1E:8329。
serverIp 字串 要求傳送至的原始伺服器 IP 位址 (IPv4 或 IPv6)。這個欄位可以包含通訊埠資訊。例如:192.168.1.1、10.0.0.1:80 和 FE80::0202:B3FF:FE1E:8329。
referrer 字串 要求的參照網址,如 HTTP/1.1 標頭欄位定義中所定義。
latency 字串 (Duration 格式) 伺服器處理要求的延遲時間,從收到要求到傳送回應為止。

延遲時間是以秒為單位的時間長度,最多 9 個小數位數,結尾為 s,例如 3.5s。

cacheLookup 布林值 指出是否嘗試查詢快取。
cacheHit 布林值 指出實體是否由快取提供 (無論是否經過驗證)。
cacheValidatedWithOriginServer 布林值 指出回應是否先向原始伺服器驗證,才從快取提供。只有在 cacheHit 為 True 時,這個欄位才有意義。
cacheFillBytes 字串 (int64 格式) 插入的 HTTP 狀態碼位元組數。
protocol 字串 要求使用的通訊協定,例如 HTTP/1.1、HTTP/2 和 websocket。

LoadBalancerLogEntry

這些記錄項目包含下列資訊:

名稱 類型 說明
insertId 字串 不重複的記錄 ID。
jsonPayload.@type 字串 記錄類型。記錄類型值一律為 type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry。
jsonPayload.enforcedGatewaySecurityPolicy.hostname 字串 與要求相關聯的主機名稱。
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action 字串 針對要求採取的動作。
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.rule 字串 套用至要求的規則名稱。
jsonPayload.enforcedGatewaySecurityPolicy.clientServiceAccount 字串 與要求相關聯的服務帳戶。
jsonPayload.enforcedGatewaySecurityPolicy.clientSecureTags 字串 與要求相關聯的安全代碼。

GatewayLogEntry

這些記錄項目包含下列資訊:

名稱 類型 說明
resource_container 字串 與閘道相關聯的容器。
location 字串 定義閘道的區域名稱。
network_name 字串 建立閘道的虛擬私有雲 (VPC) 網路名稱。
gateway_type 字串 閘道的列舉類型。如果是 Secure Web Proxy,值必須是 SECURE_WEB_GATEWAY。
gateway_name 字串 閘道資源的名稱。

Proxy 交易記錄的格式

Proxy 交易記錄會寫入 Cloud Logging,記錄名稱為 projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests。

每個記錄項目的 JSON 酬載都包含交易的詳細資訊。記錄項目包含下列重要欄位:

名稱 類型 說明
destination_ip 字串 目的地的解析 IP 位址。
instance 字串 處理要求的 Secure Web Proxy 執行個體名稱。
mtls_info 物件 mTLS 握手相關資訊 (如適用)。
policy_evaluation_results 物件 比對成功的規則和產生的動作,例如 allow 或 deny。
request_host 字串 要求的主機名稱。
request_method 字串 HTTP 方法,例如 GET 或 POST。
request_path 字串 要求的路徑。
request_port 整數 目的地通訊埠。
request_protocol 字串 HTTP 通訊協定版本。
request_scheme 字串 網址要求的配置,例如 http 或 https。
request_time 時間戳記 Proxy 收到要求的日期和時間。時間戳記須採用 ISO 8601 格式:YYYY-MM-DDTHH:MM:SS.MsMsMsZoneOffset。例如:2025-06-03T11:52:26.452Z。
response_code 整數 傳回用戶端的 HTTP 狀態碼。
response_size 整數 回應主體的大小,以位元組為單位。
response_time 時間戳記 Proxy 將回應傳送給用戶端的日期和時間。 時間戳記是以 ISO 8601 格式指定:YYYY-MM-DDTHH:MM:SS.MsMsMsZoneOffset。例如:2025-06-03T11:52:26.452Z。
source_ip 字串 用戶端 IP 位址。
source_port 整數 用戶端來源通訊埠。
tls_cipher_suite 字串 TLS 連線使用的加密套件。
tls_version 字串 連線使用的 TLS 版本。

監控 Proxy 交易記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往「Logs Explorer」頁面

  2. 選取 Google Cloud 專案。

  3. 使用下列查詢,查看所有 Secure Web Proxy 交易記錄:

    logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
    

    將 PROJECT_ID 替換為目標Google Cloud 專案的 ID。

    以下列舉幾個查詢範例,可用於查看特定詳細資料:

    • 查看所有遭拒的要求。

      logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
      jsonPayload.policy_evaluation_results.policy_action="DENY"
      
    • 尋找來自特定來源 IP 位址的要求。

      logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
      jsonPayload.source_ip="192.0.2.1"
      
    • 尋找傳送至特定主機的要求。

      logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
      jsonPayload.request_host="example.com"
      

使用 Cloud Trace 建立 Proxy 交易記錄的關聯

在 Secure Web Proxy 閘道啟用分散式追蹤功能後,請按照下列步驟操作,將 Proxy 交易記錄項目與 Trace 中的追蹤記錄 span 建立關聯:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往「Logs Explorer」頁面

  2. 展開任何 gateway_requests 記錄項目。

  3. 找出頂層 trace 欄位:

      projects/PROJECT_ID/traces/TRACE_ID
      

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案 ID
    • TRACE_ID:用戶端或追蹤記錄 span 的 128 位元 (32 個字元十六進位) 追蹤記錄 ID。例如:4bf92f3577b34da6a3ce929d0e0e4736。
  4. 按一下 trace 網址,然後選取「View trace details」(查看追蹤記錄詳細資料),直接前往 Cloud Trace 中的追蹤記錄瀑布圖。

  5. 如要篩選 OpenTelemetry 檢測用戶端中已知追蹤記錄 ID 的記錄,請在 Logs Explorer 中執行下列查詢:

    logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
    trace="projects/PROJECT_ID/traces/TRACE_ID"
    

詳情請參閱「分散式追蹤總覽」和「使用 Cloud Trace 追蹤傳出流量」。

Agent Gateway 交易記錄項目

將 Secure Web Proxy 部署為 Agent Gateway 時,交易記錄會記錄在標準 networkservices.googleapis.com/Gateway 受監控資源下。

除了標準 HTTP 要求中繼資料外,jsonPayload 欄位還包含下列代理流量專用欄位:

  • agentGatewayInfo:代理交易的詳細資料:

    • agentRegistryResource:相符 Agent Registry 目標的完整資源名稱,例如 Model Content Platform (MCP) 伺服器或技能
    • destinationUrn:目的地 URN 的相關資訊,例如 MCP 伺服器位址
    • mcpInfo:MCP JSON-RPC 呼叫詳細資料,包括方法 (例如 tools/call 或 resources/read) 和工具名稱或資源 URI (parameter)
  • authzPolicyInfo:套用至交易的授權政策評估結果,包括 result (ALLOWED 或 DENIED) 和相符政策的名稱

  • tls:TLS 詳細資料和加密用戶端憑證 (mTLS) 驗證屬性,例如 clientCertPresent 和 clientCertSha256Fingerprint

篩選 Agent Gateway 交易記錄

如要在 Logs Explorer 中,查看 Secure Web Proxy 為 Agent Gateway 處理的要求,請使用類似下列的查詢:

resource.type="networkservices.googleapis.com/Gateway"
resource.labels.gateway_name="SECURE_WEB_PROXY_NAME"
jsonPayload.agentGatewayInfo:*

將 SECURE_WEB_PROXY_NAME 替換為 Secure Web Proxy 閘道名稱。

如要篩選授權政策拒絕的要求,請使用下列查詢:

resource.type="networkservices.googleapis.com/Gateway"
resource.labels.gateway_name="SECURE_WEB_PROXY_NAME"
jsonPayload.authzPolicyInfo.result="DENIED"

轉送 Proxy 交易記錄

您可以使用記錄檔接收器,將 Proxy 交易記錄轉送至其他目的地,例如 Cloud Storage、BigQuery 或 Pub/Sub。詳情請參閱「轉送記錄項目」。

後續步驟