프록시 트랜잭션 로그 보기

프록시 트랜잭션 로그는 보안 웹 프록시가 처리하는 각 요청에 관한 자세한 정보를 제공합니다. 이러한 로그에는 보안 웹 프록시가 사용자와 인터넷 간에 중재하는 모든 트랜잭션의 레코드가 포함됩니다. 이 페이지에서는 보안 웹 프록시 인스턴스에서 생성하는 트랜잭션 로그에 액세스하고 이를 해석하는 방법을 설명합니다.

프록시 트랜잭션 로그 항목 유형

프록시 트랜잭션 로그 항목에는 세 가지 유형이 있습니다.

이러한 로그는 다음 작업에 유용합니다.

  • 보안 분석 및 위협 감지
  • 연결 및 정책 문제 해결
  • 웹 액세스 감사
  • 보안 웹 프록시 성능 분석

HttpRequest

이러한 로그 항목에는 다음 정보가 포함됩니다.

이름 유형 설명
requestMethod 문자열 요청 메서드 유형(예: GET, HEAD, PUT, POST)입니다.
requestUrl 문자열 요청된 URL의 스키마 (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 헤더 필드 정의에 정의된 요청의 리퍼러 URL입니다.
latency 문자열(기간 형식) 요청이 수신된 시점부터 응답이 전송될 때까지 서버의 요청 처리 지연 시간입니다.

지연 시간은 최대 9자리 소수의 초 단위 기간이며 s로 끝납니다(예: 3.5s).

cacheLookup 불리언 캐시 조회가 시도되었는지 여부를 나타냅니다.
cacheHit 불리언 항목이 캐시에서 제공되었는지 여부를 나타냅니다 (검증 유무에 관계없음).
cacheValidatedWithOriginServer 불리언 캐시에서 제공되기 전에 원본 서버로 응답이 검증되었는지 여부를 나타냅니다. 이 필드는 cacheHitTrue인 경우에만 의미가 있습니다.
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 문자열 게이트웨이가 생성된 Virtual Private Cloud (VPC) 네트워크의 이름입니다.
gateway_type 문자열 게이트웨이의 enum 유형입니다. 보안 웹 프록시의 경우 값은 SECURE_WEB_GATEWAY여야 합니다.
gateway_name 문자열 게이트웨이 리소스의 이름입니다.

프록시 트랜잭션 로그 형식

프록시 트랜잭션 로그는 로그 이름이 projects/PROJECT_ID/logs/networksecurity.googleapis.com%2Fswg_policy_event인 Cloud Logging에 기록됩니다.

각 로그 항목의 JSON 페이로드에는 트랜잭션에 관한 세부정보가 포함되어 있습니다. 로그 항목에는 다음 주요 필드가 포함됩니다.

이름 유형 설명
destination_ip 문자열 대상의 확인된 IP 주소입니다.
instance 문자열 요청을 처리한 보안 웹 프록시 인스턴스의 이름입니다.
mtls_info 객체 mTLS 핸드셰이크에 관한 정보입니다(해당하는 경우).
policy_evaluation_results 객체 일치한 규칙과 결과 작업(예: allow 또는 deny)에 관한 정보입니다.
request_host 문자열 요청된 호스트 이름입니다.
request_method 문자열 HTTP 메서드(예: GET 또는 POST)
request_path 문자열 요청 경로입니다.
request_port 정수 대상 포트.
request_protocol 문자열 HTTP 프로토콜 버전입니다.
request_scheme 문자열 URL 요청의 스키마입니다(예: http 또는 https).
request_time 타임스탬프 프록시가 요청을 수신한 날짜와 시간입니다. 타임스탬프는 ISO 8601 형식으로 지정됩니다. YYYY-MM-DDTHH:MM:SS.MsMsMsZoneOffset 예를 들면 2025-06-03T11:52:26.452Z입니다.
response_code 정수 클라이언트에 반환되는 HTTP 상태 코드입니다.
response_size 정수 응답 본문의 크기(바이트 단위)입니다.
response_time 타임스탬프 프록시가 클라이언트에 응답을 전송한 날짜와 시간입니다. 타임스탬프는 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 버전입니다.

프록시 트랜잭션 로그 모니터링

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  2. Google Cloud 프로젝트를 선택합니다.

  3. 다음 쿼리를 사용하여 모든 보안 웹 프록시 트랜잭션 로그를 확인합니다.

    logName="projects/PROJECT_ID/logs/networksecurity.googleapis.com%2Fswg_policy_event"
    

    PROJECT_ID를 타겟Google Cloud 프로젝트의 ID로 바꿉니다.

    다음은 특정 세부정보를 확인하는 데 사용할 수 있는 몇 가지 샘플 쿼리입니다.

    • 거부된 요청을 모두 찾습니다.

      logName="projects/PROJECT_ID/logs/networksecurity.googleapis.com%2Fswg_policy_event"
      jsonPayload.policy_evaluation_results.policy_action="DENY"
      
    • 특정 소스 IP 주소의 요청을 찾습니다.

      logName="projects/PROJECT_ID/logs/networksecurity.googleapis.com%2Fswg_policy_event"
      jsonPayload.source_ip="192.0.2.1"
      
    • 특정 호스트에 대한 요청을 찾습니다.

      logName="projects/PROJECT_ID/logs/networksecurity.googleapis.com%2Fswg_policy_event"
      jsonPayload.request_host="example.com"
      

프록시 트랜잭션 로그 라우팅

로그 싱크를 사용하여 프록시 트랜잭션 로그를 Cloud Storage, BigQuery, Pub/Sub과 같은 다른 대상으로 라우팅할 수 있습니다. 자세한 내용은 로그 항목 라우팅을 참고하세요.

다음 단계