Fivetran 로그 수집

다음에서 지원:

이 문서에서는 웹훅을 사용하여 로그를 Google Security Operations로 푸시하도록 Fivetran을 구성하는 방법을 설명합니다.

Fivetran은 다양한 소스에서 데이터 웨어하우스로의 데이터 파이프라인을 자동화하는 데이터 통합 플랫폼입니다. Fivetran은 커넥터 동기화 이벤트, 변환 이벤트, 연결 상태 변경 등 운영 이벤트를 생성합니다. 이러한 이벤트는 모니터링, 알림, 보안 분석을 위해 아웃바운드 웹훅을 통해 외부 엔드포인트로 전송될 수 있습니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • 관리자 또는 계정 수준 권한이 있는 Fivetran 계정
  • Google Cloud 콘솔에 대한 액세스 (API 키 생성용)
  • REST API 액세스가 사용 설정된 Fivetran 계정

Google SecOps에서 웹훅 피드 만들기

피드 만들기

  1. SIEM 설정 > 피드로 이동합니다.
  2. + 새로 추가를 클릭합니다.
  3. 단일 피드 구성을 선택합니다.
  4. 피드 이름 필드에 이름을 입력합니다 (예: Fivetran Events).
  5. 소스 유형으로 웹훅을 선택합니다.
  6. 로그 유형으로 Fivetran을 선택합니다.
  7. 다음을 클릭합니다.
  8. 다음 입력 파라미터의 값을 지정합니다.
    • 분할 구분 기호 (선택사항): 비워 둡니다.
    • 애셋 네임스페이스: 애셋 네임스페이스입니다.
    • 수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
  9. 다음을 클릭합니다.
  10. 새 피드 구성을 검토하고 제출을 클릭합니다.

보안 비밀 키 생성 및 저장

  1. 피드 세부정보 페이지에서 보안 비밀 키 생성을 클릭합니다.
  2. 대화상자에 보안 비밀 키가 표시됩니다.
  3. 보안 비밀번호를 안전하게 복사하여 저장합니다.

피드 엔드포인트 URL 가져오기

  1. 피드의 세부정보 탭으로 이동합니다.
  2. 엔드포인트 정보 섹션에서 피드 엔드포인트 URL을 복사합니다.
  3. 다음 단계를 위해 이 URL을 저장합니다.
  4. 완료를 클릭합니다.

Google Cloud API 키 만들기

Google SecOps에는 인증을 위한 API 키가 필요합니다.

API 키 만들기

  1. Google Cloud 콘솔 사용자 인증 정보 페이지로 이동합니다.
  2. 프로젝트를 선택합니다.
  3. 사용자 인증 정보 만들기 > API 키를 클릭합니다.
  4. API 키 수정을 클릭하여 키를 제한합니다.

API 키 제한

  1. API 키 설정에서 다음을 수행합니다.
    • 이름: 설명이 포함된 이름을 입력합니다 (예: SecOps Webhook API Key).
  2. API 제한사항에서 다음을 수행합니다.
    1. 키 제한을 선택합니다.
    2. 드롭다운에서 Google SecOps API (또는 Chronicle API)를 검색하여 선택합니다.
  3. 저장을 클릭합니다.
  4. API 키 값을 복사하여 안전하게 저장합니다.

Fivetran 웹훅 구성

웹훅 URL 구성

  • 엔드포인트 URL과 API 키를 결합합니다.

    <ENDPOINT_URL>?key=<API_KEY>
    

Fivetran REST API를 사용하여 웹훅 만들기

Fivetran API 사용자 인증 정보 가져오기

  1. Fivetran 계정에 로그인합니다.
  2. 계정 설정 > API 구성으로 이동합니다.
  3. API 키가 없는 경우 API 키 생성을 클릭합니다.
  4. API 키API 비밀번호를 복사합니다.

계정 수준 웹훅 만들기

이 메서드를 사용하여 계정의 모든 커넥터에서 이벤트를 수신합니다.

  1. 터미널을 열고 다음 명령어를 실행합니다.

    curl -X POST [https://api.fivetran.com/v1/webhooks/account](https://api.fivetran.com/v1/webhooks/account) \
            -u "API_KEY:API_SECRET" \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{
                    "url": "[https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_CHRONICLE_API_KEY](https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_CHRONICLE_API_KEY)",
                    "events": [
                            "sync_start",
                            "sync_end",
                            "transformation_start",
                            "transformation_succeeded",
                            "transformation_failed",
                            "connection_successful",
                            "connection_failure",
                            "create_connector",
                            "pause_connector",
                            "resume_connector",
                            "edit_connector",
                            "delete_connector",
                            "force_update_connector",
                            "resync_connector",
                            "resync_table"
                    ],
                    "active": true,
                    "secret": "YOUR_CHRONICLE_SECRET_KEY"
            }'
    

웹훅 세부정보

사용 가능한 웹훅 이벤트

이벤트 설명
sync_start 커넥터 동기화가 시작됨
sync_end 커넥터 동기화 완료
transformation_start 변환 시작됨
transformation_succeeded 변환이 완료되었습니다.
transformation_failed 변환 실패
connection_successful 연결 테스트에 성공했습니다.
connection_failure 연결 테스트에 실패했습니다.
create_connector 새 커넥터가 생성됨

웹훅 재시도 동작

Fivetran은 다음 일정에 따라 실패한 웹훅을 최대 24시간 동안 자동으로 재시도합니다.

다시 시도 Time After Initial Attempt(첫 번째 시도 후 시간)
1차 재시도 6분
두 번째 재시도 27분
3번째 재시도 1시간 45분
4번째 재시도 6시간 25분
5번째 재시도 23시간 13분

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
jsonPayload.connector_id additional.connector_id 값이 직접 복사되었습니다.
jsonPayload.connector_type additional.connector_type 값이 직접 복사되었습니다.
jsonPayload.data.query additional.query 값이 직접 복사되었습니다.
해당 사항 없음 metadata.event_type 주체 및 타겟의 존재에 따라 설정됩니다.
jsonPayload.event metadata.product_event_type 값이 직접 복사되었습니다.
jsonPayload.sync_id metadata.product_log_id 값이 직접 복사되었습니다.
jsonPayload.connector_name principal.hostname 값이 직접 복사되었습니다.
resource.labels.email_id principal.user.email_addresses 형식이 유효한 이메일인 경우 매핑됩니다.
resource.labels.unique_id principal.user.userid 값이 직접 복사되었습니다.
severity security_result.severity 'INFO'는 INFORMATIONAL에 매핑됩니다.
logName target.resource.name 값이 직접 복사되었습니다.
해당 사항 없음 target.resource.type DATABASE로 설정합니다.
해당 사항 없음 metadata.product_name FIVETRAN으로 설정합니다.
해당 사항 없음 metadata.vendor_name FIVETRAN으로 설정합니다.

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