Google Cloud 콘솔에서 발견 항목 쿼리

이 페이지에서는 Google Cloud 콘솔의 발견 항목 페이지에서 쿼리 편집기 패널을 사용하여 Security Command Center 발견 항목 쿼리를 만들고 수정하는 방법을 설명합니다.

쿼리를 사용하여 특정 발견 항목을 검색하고 발견 항목 쿼리 결과 패널에 표시되는 발견 항목을 필터링합니다.

발견 항목 쿼리 수정

쿼리 편집기 패널에서 쿼리에 필터를 추가하고 수정하여 속성 또는 속성 값을 기준으로 발견 항목을 선택할 수 있습니다. 값의 존재 여부, 값 없음, 부분 문자열 일치와 같은 항목을 필터링할 수 있습니다.

쿼리를 수정할 때 쿼리를 제출하기 전에 오류를 수정할 수 있도록 편집기에서 쿼리의 오류를 강조표시해 줍니다.

쿼리 편집기 패널을 사용하여 쿼리를 수정하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔의 발견 항목 페이지로 이동합니다.

    발견 항목으로 이동

  2. 필요한 경우 Google Cloud 프로젝트 또는 조직을 선택합니다.

    프로젝트 선택기

    발견 항목 페이지에 쿼리 미리보기 필드에 표시된 기본 쿼리가 로드됩니다.

  3. 쿼리 미리보기 섹션의 오른쪽에서 쿼리 수정 또는 확장 패널 아이콘 를 클릭하여 쿼리 편집기 패널을 엽니다.

  4. 필터 추가를 선택하여 사전 정의된 속성 필터를 탐색, 검색하고 쿼리에 추가합니다.

    필터 선택 대화상자에서는 지원되는 발견 항목 속성 및 값을 선택할 수 있습니다. 쿼리 필터 대화상자

    1. 발견 항목 속성 검색 상자에서 발견 항목 속성을 선택하거나 해당 이름을 입력합니다. 사용 가능한 하위 속성 목록이 표시됩니다.
    2. 하위 속성을 선택합니다. 평가 옵션의 선택 필드가 발견 항목 쿼리 결과 패널의 발견 항목에 있는 하위 속성 값 목록 위에 표시됩니다.
    3. 선택한 하위 속성의 값에 대한 평가 옵션을 선택합니다. 평가 옵션과 여기에 사용되는 연산자 및 함수에 대한 자세한 내용은 필터 추가 메뉴의 쿼리 연산자를 참조하세요.
    4. 적용을 선택합니다.

      대화상자가 닫히고 쿼리가 업데이트됩니다.

    5. 발견 항목 쿼리에 원하는 모든 속성이 포함될 때까지 반복합니다.

또는 Security Command Center API를 사용하여 발견 항목 필터를 구성하는 것과 동일한 방식으로 발견 항목 쿼리를 수동으로 구성할 수 있습니다. 쿼리를 입력하면 필터 이름과 함수를 선택할 수 있는 자동 완성 메뉴가 나타납니다.

발견 항목 페이지의 쿼리 빌더에서 작업하는 경우 둘 간의 충돌을 방지하기 위해 빠른 필터 섹션이 비활성화됩니다.

쿼리 연산자

Security Command Center 발견 항목의 쿼리 문은 대부분의 Google Cloud API에서 지원하는 연산자를 지원합니다.

다음 목록은 다양한 연산자의 사용을 보여줍니다.

  • state="ACTIVE" AND NOT mute="MUTED"
  • create_time>"2023-08-15T19:05:32.428Z"
  • resource.parent_name:"prod"
  • severity="CRITICAL" OR severity="HIGH"

다음 목록은 발견 항목의 쿼리 문에서 지원되는 모든 연산자와 함수를 보여줍니다.

  • 문자열:
    • 전체 같음: =
    • 부분 문자열 일치: :
  • 숫자:
    • 같지 않음: <, >, <=, >=
    • 같음: =, !=
  • 불리언:
    • 같음: =
  • 논리적 관계:
    • AND
    • OR
    • NOT 또는 -
  • 그룹화 표현식:
    • (, )(괄호)
  • 배열:
    • contains() - 지정된 필터와 일치하는 요소가 하나 이상 포함된 배열 필드가 있는 발견 항목을 쿼리하는 함수입니다.
    • containsOnly() - 지정된 필터와 일치하는 요소만 포함된 배열 필드가 있는 발견 항목을 쿼리하는 함수입니다.
  • IP 주소:
    • inIpRange() - 지정된 CIDR 범위 내의 IP 주소를 쿼리하는 함수

필터 추가 메뉴의 쿼리 연산자

Google Cloud 콘솔 쿼리 편집기필터 추가 메뉴에서 쿼리 연산자 및 함수는 다음과 같이 단어나 구문으로 표현됩니다.

  • 같음: 이 일치 필터와 정확히 일치하는 발견 항목을 찾습니다.
  • 같지 않음: 이 정확한 필터 값이 없는 발견 항목을 찾습니다.
  • 이후: 지정된 시간 후의 생성 또는 업데이트 시간과 일치하는 발견 항목을 찾습니다.
  • 이전: 지정된 시간 이전의 생성 또는 업데이트 시간과 일치하는 발견 항목을 찾습니다.
  • 보유: 키워드 필드에 입력한 텍스트가 포함된 필터 값으로 발견 항목을 찾습니다.
  • 제외: 키워드 필드에 입력한 텍스트가 포함되지 않은 필터 값으로 발견 항목을 찾습니다.
  • 배열이 포함된 속성을 찾는 경우:
    • 다음을 포함하는 것 전부: 키워드 필드에 입력한 텍스트 하나라도 포함하는 배열 값이 있는 발견 항목을 찾습니다.
    • 모두 포함: 키워드 필드에 입력한 모든 텍스트를 포함하는 배열 값이 있는 발견 항목을 찾습니다.
    • 아무것도 포함하지 않음: 키워드 필드에 입력한 텍스트가 포함된 배열 값이 없는 발견 항목을 찾습니다.
    • 다음 항목만 포함: 키워드 필드에 입력한 값만 포함하고 다른 값은 없는 배열 속성이 있는 발견 항목을 찾습니다.
  • IP 주소:
    • IP 범위 내의 모든 항목: 지정된 CIDR 범위의 IP 주소가 있는 발견 항목을 찾습니다.
    • IP 범위 내에 항목 없음: 지정된 CIDR 범위에 속하지 않는 IP 주소가 있는 발견 항목을 찾습니다.

쿼리 함수

쿼리 함수는 일반 쿼리 연산자보다 속성 값에 대해 더 복잡한 평가를 제공합니다.

contains 함수

contains 함수를 사용하여 같은 발견 항목에 여러 번 나타날 수 있는 속성 또는 속성 하위 필드를 평가합니다.

내부적으로 이러한 속성 또는 속성 하위 필드는 배열 데이터 구조의 요소에 저장되므로 배열 유형 속성이라고 합니다.

예를 들어 특정 발견 항목은 여러 네트워크 연결을 참조할 수 있으므로 connections 속성은 배열 유형 속성입니다. 마찬가지로 특정 위협 발견 항목은 여러 IP 주소를 침해 지표로 참조할 수 있으므로 indicator 속성의 ip_addresses 하위 필드는 배열 유형 속성입니다.

contains 함수는 다음 구문을 사용합니다.

contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)

다음을 바꿉니다.

  • ARRAY_ATTRIBUTE_NAME: 배열에 저장된 배열 유형 속성의 이름입니다. 배열 유형 속성이 다른 속성의 하위 필드인 경우 속성 이름과 하위 필드 이름을 점으로 구분합니다.

    다음 예시에서는 배열 유형 속성 ip_addressesindicator의 하위 필드이므로 둘 다 ARRAY_ATTRIBUTE_NAME 위치에 지정됩니다.

    contains(indicator.ip_addresses, elem="192.0.2.80")
  • SUBFILTER: 배열 유형 속성의 각 인스턴스를 평가하는 방법을 정의하는 표현식입니다. 표준 Security Command Center 쿼리 연산자 및 평가 문이 지원됩니다.

    확인할 값이 배열 유형 속성의 하위 필드에 있으면 표현식의 왼쪽에 하위 필드 이름을 지정합니다. 다음 contains 함수는 하위 필드가 포함된 배열 유형 속성인 connections 배열의 각 요소를 평가합니다. 쿼리되는 값은 배열 유형 필드가 아닌 destination_ip 하위 필드에 있습니다. 쿼리할 값은 elem 매개변수 대신 하위 필드 이름 destination_ip로 지정됩니다.

    contains(connections, destination_ip="192.0.2.80")

    하위 필드가 배열 유형 속성인 경우 표현식의 왼쪽에 상위 요소와 함께 배열 유형 속성을 지정하고 표현식 오른쪽에 있는 elem 매개변수를 사용하여 검색할 값을 지정합니다. 예를 들어 다음 contains 함수는 indicator 속성의 하위 필드인 ip_addresses 배열의 각 요소를 평가합니다. indicator 속성은 배열 유형 필드가 아닙니다.

    contains(indicator.ip_addresses, elem="192.0.2.80")

필터 추가 메뉴의 contains 함수

필터 추가 메뉴에서 평가 중인 발견 항목 속성에 따라 contains 함수가 명시적으로 나열되거나 이를 필요로 하는 다른 필터 옵션을 선택할 때 자동으로 포함됩니다.

예를 들어 표시기 속성의 IP 주소 하위 필드에 다음 필터 옵션을 선택할 수 있습니다.

  • 다음을 포함하는 것 전부
  • 모두 포함
  • 아무것도 포함하지 않음

반대로 연결 속성의 대상 IP 하위 필드를 필터링하고 IP 범위 내의 모든 항목을 선택하면 다음 예시와 같이 contains 함수는 쿼리 문에 자동으로 추가됩니다.

contains(connections, inIpRange(destination_ip, "2001:db8::/32"))

contains 함수에 대한 자세한 내용은 배열 유형 필드를 기준으로 필터링을 참조하세요.

containsOnly 함수

containsOnly 함수를 사용하면 배열 유형 속성 또는 하위 필터에 지정된 값만 포함하는 하위 필드의 발견 항목을 쿼리할 수 있습니다.

containsOnly 함수는 다음 구문을 사용합니다.

containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)

다음을 바꿉니다.

  • ARRAY_ATTRIBUTE_NAME: 배열 유형 속성의 이름입니다. 배열 유형 속성이 다른 속성의 하위 필드인 경우 속성 이름과 하위 필드 이름을 점으로 구분합니다. Google Cloud 콘솔을 사용하여 쿼리를 실행하는 경우 이 함수는 iam_bindings.memberiam_bindings.role 배열 속성만 지원합니다.

  • SUBFILTER: 배열 유형 속성의 각 요소를 평가하는 방법을 정의하는 표현식입니다. 표준 Security Command Center 쿼리 연산자 및 평가 문이 지원됩니다.

필터 추가 메뉴에서 다음 필터 옵션은 containsOnly 함수를 사용합니다.

  • IAM 바인딩 > 구성원: 지정된 사용자, 서비스 계정 또는 그룹이 포함된 발견 항목만 선택합니다.

  • IAM 바인딩 > 역할: 지정된 역할이 포함된 발견 항목만 선택합니다.

다음 예시에서는 Google Cloud 콘솔에서 example-group 그룹의 사용자에 대해 숨기기 취소된 활성 발견 항목을 반환하는 발견 항목 쿼리를 보여줍니다.

state="ACTIVE"
  AND NOT mute="MUTED"
  AND containsOnly(iam_bindings,member="group:example-group@example.com")

inIpRange 함수

inIpRange 함수는 선택한 발견 항목 속성의 IP 주소가 CIDR 표기법(CIDR 범위)을 사용하여 지정한 IP 주소 범위 내에 있는지 확인합니다. 다음은 inIpRange 함수의 구문을 보여줍니다.

inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")

필터 추가 메뉴에서 다음 필터 옵션은 inIpRange 함수를 사용합니다.

  • IP 범위 내의 모든 항목: 지정된 범위 내의 IP 주소가 포함된 발견 항목만 선택합니다.
  • IP 범위 내에 항목 없음: 지정된 범위 내의 IP 주소가 포함되지 않는 발견 항목만 선택합니다.

다음 예시에서는 Google Cloud 콘솔에서 access 객체의 caller_ip 하위 필드에 CIDR 범위 2001:db8::/32의 IPv6 주소가 포함된 숨기기 취소된 활성 발견 항목을 반환하는 발견 항목 쿼리를 보여줍니다.

state="ACTIVE"
AND NOT mute="MUTED"
AND inIpRange(access.caller_ip, "2001:db8::/32")

다음 예시에서는 Google Cloud 콘솔에서 access 객체의 caller_ip 하위 필드에 CIDR 범위 192.0.2.0/24의 IPv6 주소가 포함된 숨기기 취소된 활성 발견 항목을 반환하는 발견 항목 쿼리를 보여줍니다.

state="ACTIVE"
AND NOT mute="MUTED"
AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")

IP 주소가 발견 항목에 여러 번 나타날 수 있는 속성에 있는 경우 contains 함수를 inIpRange 함수와 함께 사용하여 IP 주소의 각 속성 인스턴스를 확인합니다. 예를 들면 다음과 같습니다.

contains(connections, inIpRange(source_ip, "192.0.2.0/24"))

contains() 함수에 대한 자세한 내용은 contains 함수를 참조하세요.

쿼리의 발견 항목 속성

Security Command Center는 저장된 각 발견 항목의 속성을 사용자가 쿼리에 지정한 속성 필터와 비교 평가하여 표시할 발견 항목을 선택합니다.

대부분의 발견 항목 속성을 쿼리할 수 있습니다. 일부 속성은 모든 발견 항목에 공통적입니다. 다른 속성은 특정 보안 문제, 발견 항목 카테고리, 감지 서비스에만 적용될 수 있습니다.

쿼리 편집기 패널의 필터 추가 메뉴에서 속성 필터에 적용할 수 있는 옵션은 선택한 속성 유형 및 속성에 하위 필드 또는 값 배열이 있는지 여부에 따라 다릅니다

필터 추가 메뉴에서 다음 최상위 속성을 클릭하여 발견 항목 쿼리에 사용할 수 있는 하위 속성과 값을 표시합니다.