Cloud Logging

이 문서에서는 Cloud Logging을 Google Security Operations SOAR와 통합하는 방법을 안내합니다.

통합 버전: 1.0

시작하기 전에

통합을 사용하려면 Google Cloud 서비스 계정이 필요합니다. 기존 서비스 계정을 사용하거나 새 계정을 만들 수 있습니다.

서비스 계정 만들기

서비스 계정 만들기에 관한 안내는 서비스 계정 만들기를 참고하세요.

서비스 계정을 사용하여 Google Cloud에 인증하는 경우 JSON으로 서비스 계정 키를 만들고 통합 매개변수를 구성할 때 다운로드한 JSON 파일의 콘텐츠를 제공할 수 있습니다.

보안상의 이유로 서비스 계정 키 대신 워크로드 아이덴티티 이메일 주소를 사용하는 것이 좋습니다. 워크로드 아이덴티티에 대한 자세한 내용은 워크로드의 아이덴티티를 참고하세요.

Cloud Logging을 Google SecOps SOAR와 통합

Cloud Logging 통합에는 다음 매개변수가 필요합니다.

매개변수 설명
Workload Identity Email 선택사항

워크로드 아이덴티티의 클라이언트 이메일 주소입니다.

이 매개변수 또는 User's Service Account 매개변수를 구성할 수 있습니다.

워크로드 아이덴티티 이메일 주소로 서비스 계정을 가장하려면 서비스 계정에 Service Account Token Creator 역할을 부여하세요. 워크로드 아이덴티티 및 워크로드 아이덴티티 사용 방법에 관한 자세한 내용은 워크로드 아이덴티티를 참고하세요.

User's Service Account 선택사항

서비스 계정 키 JSON 파일의 콘텐츠입니다.

이 매개변수 또는 Workload Identity Email 매개변수를 구성할 수 있습니다.

이 매개변수를 구성하려면 서비스 계정을 만들 때 다운로드한 서비스 계정 키 JSON 파일의 전체 콘텐츠를 제공하세요.

서비스 계정을 인증 방법으로 사용하는 방법에 대한 자세한 내용은 서비스 계정 개요를 참고하세요.

Quota Project ID 선택사항

Google Cloud API 및 결제에 사용하는 Google Cloud 프로젝트 ID입니다. 이 매개변수를 사용하려면 서비스 계정에 Service Usage Consumer 역할을 부여해야 합니다.

통합은 이 매개변수 값을 모든 API 요청에 연결합니다.

이 매개변수의 값을 설정하지 않으면 통합에서 Google Cloud 서비스 계정에서 할당량 프로젝트 ID를 가져옵니다.

Organization ID 선택사항

통합에 사용할 조직 ID입니다.

이 매개변수의 값을 설정하지 않으면 통합에서 Google Cloud 서비스 계정에서 프로젝트 ID를 가져옵니다.

Project ID 선택사항

통합에서 사용할 프로젝트 ID입니다.

이 매개변수의 값을 설정하지 않으면 통합에서 Google Cloud 서비스 계정에서 프로젝트 ID를 가져옵니다.

Verify SSL 필수

선택하면 통합에서 Cloud Logging에 연결하는 SSL 인증서가 유효한지 확인합니다.

기본적으로 선택되어 있습니다.

Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.

필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스 구성 및 지원에 대한 자세한 내용은 다중 인스턴스 지원을 참고하세요.

작업

Cloud Logging 통합에는 다음 작업이 포함됩니다.

쿼리 실행

쿼리 실행 작업을 사용하여 Cloud Logging에서 맞춤 쿼리를 실행합니다.

이 작업은 Google SecOps 항목에서 실행되지 않습니다.

작업 입력

쿼리 실행 작업에는 다음 매개변수가 필요합니다.

매개변수 설명
Project ID 선택사항

통합에서 사용할 프로젝트 ID입니다.

이 매개변수의 값을 설정하지 않으면 통합에서 Google Cloud 서비스 계정에서 프로젝트 ID를 가져옵니다.

Organization ID 선택사항

통합에 사용할 조직 ID입니다.

이 매개변수의 값을 설정하지 않으면 통합에서 Google Cloud 서비스 계정에서 프로젝트 ID를 가져옵니다.

Query 필수

로그를 찾는 쿼리입니다.

Time Frame 선택사항

결과를 가져올 기간입니다.

Custom을 선택하는 경우 Start Time 매개변수도 구성합니다.

가능한 값은 다음과 같습니다.

  • Last Hour
  • Last 6 Hours
  • Last 24 Hours
  • Last Week
  • Last Month
  • Custom
기본값은 Last Hour입니다.
Start Time 선택사항

결과를 가져올 시작 시간입니다.

Time Frame 매개변수에 Custom 옵션을 선택한 경우 이 매개변수는 필수입니다.

이 매개변수를 구성하려면 ISO 8601 형식을 사용하세요.

End Time 선택사항

결과를 가져올 종료 시간입니다.

이 매개변수의 값을 설정하지 않고 Time Frame 매개변수에 Custom 옵션을 선택하면 작업에서 현재 시간을 종료 시간으로 사용합니다.

이 매개변수를 구성하려면 ISO 8601 형식을 사용하세요.

Max Results To Return 선택사항

반환할 최대 결과 수입니다.

기본값은 50개입니다.

작업 출력

쿼리 실행 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용할 수 없음
보강 테이블 사용할 수 없음
JSON 결과 사용 가능
출력 메시지 사용 가능
스크립트 결과 사용 가능
JSON 결과

다음 예에서는 쿼리 실행 작업을 사용할 때 수신되는 JSON 결과 출력을 설명합니다.

[{
    "protoPayload": {
        "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
        "authenticationInfo": {
            "principalEmail": "system:clouddns"
        },
        "authorizationInfo": [
            {
                "granted": true,
                "permission": "io.k8s.coordination.v1.leases.update",
                "resource": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock"
            }
        ],
        "methodName": "io.k8s.coordination.v1.leases.update",
        "requestMetadata": {
            "callerIp": "192.0.2.6",
            "callerSuppliedUserAgent": "clouddns-leader-election"
        },
        "resourceName": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock",
        "serviceName": "k8s.io",
        "status": {
            "code": 0
        }
    },
    "insertId": "ID",
    "resource": {
        "type": "k8s_cluster",
        "labels": {
            "cluster_name": "CLUSTER_NAME",
            "project_id": "PROJECT_ID",
            "location": "us-central1"
        }
    },
    "timestamp": "2024-09-18T09:46:38.647428Z",
    "labels": {
        "authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"system:clouddns\" of ClusterRole \"system:clouddns-role\" to User \"system:clouddns\"",
        "authorization.k8s.io/decision": "allow"
    },
    "logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
    "operation": {
        "id": "ID",
        "producer": "k8s.io",
        "first": true,
        "last": true
    },
    "receiveTimestamp": "2024-09-18T09:46:39.063264993Z"
}]
출력 메시지

쿼리 실행 작업은 다음 출력 메시지를 제공합니다.

출력 메시지 메시지 설명

Successfully executed query "QUERY" in Cloud Logging.

No results were found for the provided query.

작업이 완료되었습니다.
Error executing action "Execute Query". Reason: ERROR_REASON

작업이 실패했습니다.

서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다.

스크립트 결과

다음 표에서는 Execute Query 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.

스크립트 결과 이름
is_success True 또는 False

Ping 작업을 사용하여 Cloud Logging에 대한 연결을 테스트합니다.

이 작업은 Google SecOps 항목에서 실행되지 않습니다.

작업 입력

없음

작업 출력

Ping 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용할 수 없음
보강 테이블 사용할 수 없음
JSON 결과 사용할 수 없음
출력 메시지 사용 가능
스크립트 결과 사용 가능
출력 메시지

Ping 작업은 다음 출력 메시지를 제공합니다.

출력 메시지 메시지 설명
Successfully connected to the Cloud Logging server with the provided connection parameters! 작업이 완료되었습니다.
Failed to connect to the Cloud Logging server! Error is ERROR_REASON

작업이 실패했습니다.

서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다.

스크립트 결과

다음 표에서는 Ping 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.

스크립트 결과 이름
is_success True 또는 False

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.