Aware Signals 로그 수집
파서 버전: 1.0
이 문서에서는 웹훅을 사용하여 신호 이벤트 로그를 Google Security Operations로 푸시하도록 Aware를 구성하는 방법을 설명합니다.
Aware (by Mimecast)는 Slack, Microsoft Teams, Zoom, Cisco Webex, Workvivo와 같은 엔터프라이즈 커뮤니케이션 도구 전반의 콘텐츠를 모니터링하는 협업 보안 및 내부자 위험 플랫폼입니다. Aware Signal 애플리케이션은 AI 모델, 키워드 검색 유형, 정규 표현식, 감정 분석을 사용하여 정책 위반을 감지하고 이벤트를 생성합니다. 이러한 신호 이벤트는 중앙 집중식 보안 모니터링 및 상관관계 분석을 위해 SIEM 대상으로 전달될 수 있습니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Signal 모듈이 사용 설정된 Aware 플랫폼 구독
- 시스템 설정에 액세스할 수 있는 어웨어 관리자 계정
- 하나 이상의 공동작업 플랫폼 (Slack, Microsoft Teams, Zoom, Webex 또는 Workvivo)이 연결되어 있고 Aware에서 콘텐츠를 수집하고 있음
- 이벤트를 생성하도록 구성된 하나 이상의 신호 정책 및 규칙
- Google Cloud 콘솔 액세스 권한 (API 키 생성용)
Google SecOps에서 웹훅 피드 만들기
피드 만들기
- SIEM 설정 > 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- 다음 페이지에서 단일 피드 구성을 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다(예:
Aware Signal Events). - 소스 유형으로 Webhook을 선택합니다.
- 로그 유형으로 Aware Signals를 선택합니다.
- 다음을 클릭합니다.
- 다음 입력 파라미터의 값을 지정합니다.
- 분할 구분 기호:
\n(NDJSON 페이로드의 줄바꿈 구분 기호)를 입력합니다. - 애셋 네임스페이스: 애셋 네임스페이스
- 수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
- 분할 구분 기호:
- 다음을 클릭합니다.
- 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
보안 비밀 키 생성 및 저장
피드를 만든 후 인증을 위한 보안 비밀 키를 생성해야 합니다.
- 피드 세부정보 페이지에서 보안 비밀 키 생성을 클릭합니다.
- 대화상자에 보안 비밀 키가 표시됩니다.
- 보안 비밀 키를 안전하게 복사하여 저장합니다.
피드 엔드포인트 URL 가져오기
- 피드의 세부정보 탭으로 이동합니다.
- 엔드포인트 정보 섹션에서 피드 엔드포인트 URL을 복사합니다.
URL 형식은 다음과 같습니다.
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import여기서
{region}는 Google SecOps 인스턴스의 리전 (예:us,europe,asia-southeast1)이고{parent}는projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>형식의 리소스 경로입니다.다음 단계를 위해 이 URL을 저장합니다.
완료를 클릭합니다.
Google Cloud API 키 만들기
Google SecOps에는 인증을 위한 API 키가 필요합니다. Google Cloud 콘솔에서 제한된 API 키를 만듭니다.
API 키 만들기
- Google Cloud 콘솔 사용자 인증 정보 페이지로 이동합니다.
- 프로젝트 (Google SecOps 인스턴스와 연결된 프로젝트)를 선택합니다.
- 사용자 인증 정보 만들기 API 키를 클릭합니다.
- API 키가 생성되어 대화상자에 표시됩니다.
- API 키 수정을 클릭하여 키를 제한합니다.
API 키 제한
- API 키 설정 페이지에서 다음을 수행합니다.
- 이름: 구체적인 이름을 입력합니다 (예:
Chronicle Webhook API Key).
- 이름: 구체적인 이름을 입력합니다 (예:
- API 제한사항에서 다음을 실행합니다.
- 키 제한을 선택합니다.
- API 선택 드롭다운에서 Google SecOps API (또는 Chronicle API)를 검색하고 선택합니다.
- 저장을 클릭합니다.
- 페이지 상단의 API 키 필드에서 API 키 값을 복사합니다.
API 키를 안전하게 저장합니다.
Aware API 키 가져오기
Aware는 API 키를 사용하여 외부 통합을 인증합니다. 키를 가져오려면 다음 단계를 따르세요.
- 관리자 계정으로 https://aware.work에서 Aware에 로그인합니다.
- 왼쪽 하단에서 시스템 설정을 클릭합니다.
- 통합 탭으로 이동합니다.
페이지에 표시된 API 키를 복사합니다.
다음 단계에서 사용할 수 있도록 API 키를 안전하게 저장합니다.
Aware 신호 웹훅 전달 구성
웹훅 URL 구성
Google SecOps 엔드포인트 URL, API 키, 비밀 키를 결합합니다.
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>예:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
Aware에서 이벤트 전달 구성하기
신호 이벤트를 Google SecOps 웹훅 엔드포인트로 전달하도록 Aware를 구성합니다. 정확한 단계는 Aware 플랫폼 버전에 따라 다를 수 있습니다.
- 관리자 계정으로 https://aware.work에서 Aware에 로그인합니다.
- 왼쪽 하단에서 시스템 설정을 클릭합니다.
- 통합 탭으로 이동합니다.
다음 세부정보를 사용하여 새 웹훅 대상을 구성합니다.
도착 URL: API 키와 보안 비밀 키가 쿼리 매개변수로 추가된 전체 웹훅 URL을 붙여넣습니다.
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY콘텐츠 유형:
application/json선택인증 헤더 (Aware 버전에서 지원되는 경우): 헤더 이름을
X-Aware-Api-Key로 설정하고 값을 Aware API 키로 설정합니다.
전달할 이벤트 유형을 선택합니다. 포괄적인 보안 모니터링을 위해 모든 신호 이벤트의 전달을 사용 설정하세요.
- 정책 위반 이벤트
- 키워드 검색 유형 이벤트
- AI/감정 감지 이벤트
- 유해한 행동 감지 이벤트
저장을 클릭하여 웹훅 대상을 활성화합니다.
대안: Cloud Run 함수를 사용하여 이벤트 전달
Aware 버전이 신호 이벤트에 대한 네이티브 웹훅 푸시를 지원하지 않는 경우 Cloud Run 함수를 사용하여 Aware API를 폴링하고 이벤트를 Google SecOps 웹훅 엔드포인트로 전달할 수 있습니다.
- Pub/Sub 트리거를 사용하여 Cloud Run 함수 (Python 3.12 이상)를 만듭니다.
- 다음과 같이 함수를 구성합니다.
X-Aware-Api-Key헤더를 사용하여 Aware API에 인증합니다.- Aware API 엔드포인트에서 신호 이벤트를 쿼리합니다.
- 각 이벤트를 JSON 페이로드로 Google SecOps 웹훅 엔드포인트 URL에 전달합니다.
Cloud Scheduler를 사용하여 일정한 간격 (예: 5분마다)으로 함수를 호출합니다.
이벤트를 전달하는 요청의 예:
curl -X POST "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"signal_id":"12345","event_type":"policy_violation","timestamp":"2026-01-15T10:30:00Z","user":"user@example.com","platform":"slack","policy":"Data Loss Prevention","rule":"Credit Card Numbers","message_snippet":"detected content"}'
이벤트 전송 확인
- Google SecOps에서 SIEM 설정 > 피드로 이동합니다.
- Aware 신호 이벤트 피드를 클릭합니다.
- 상태 탭으로 이동합니다.
- 이벤트가 수신되는지 확인합니다.
또는 Aware에서 테스트 Signal 이벤트를 트리거합니다.
- Aware에서 신호 > 이벤트로 이동합니다.
- 정책에 의해 새 이벤트가 생성되는지 확인합니다.
- 이벤트가 Google SecOps에 표시될 때까지 몇 분 정도 기다립니다.
Aware 신호 이벤트 유형
Aware Signal은 AI 모델, 키워드 검색 유형, 정규 표현식, 감정 분석을 조합하여 연결된 공동작업 플랫폼 전반에서 이벤트를 감지합니다. 일반적으로 생성되는 이벤트 카테고리는 다음과 같습니다.
| 카테고리 | 설명 | 예시 |
|---|---|---|
| 정책 위반 | 정의된 정책 규칙에 의해 트리거되는 이벤트 | 키워드 감지, 정규식 패턴 일치, 민감한 정보 |
| AI/감정 | AI 및 감정 모델에서 감지한 이벤트 | 유해한 언어, 부정적인 감정, 괴롭힘 |
| 데이터 손실 | 잠재적인 데이터 무단 반출과 관련된 이벤트 | 파일 공유 위반, 외부 공유, 사용자 인증 정보 노출 |
| 내부자 위험 | 잠재적 내부자 위협을 나타내는 이벤트 | 비정상적인 행동 패턴, 액세스 이상, 퇴사 직원 위험 |
| 규정 준수 | 규정 준수와 관련된 이벤트 | PII 노출, 금융 데이터 공유, HIPAA 위반 |
인증 방법 참조
Google SecOps 웹훅 피드는 여러 인증 방법을 지원합니다. 공급업체에서 지원하는 방법을 선택합니다.
방법 1: 쿼리 매개변수
웹훅 URL에 사용자 인증 정보를 추가합니다.
URL 형식:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>예:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
방법 2: 커스텀 헤더
구성이 커스텀 HTTP 헤더를 지원하는 경우 이 방법을 사용하여 보안을 강화하세요.
헤더:
x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY>
장점:
- API 키 및 보안 비밀이 URL에 표시되지 않음
- 더 안전함 (헤더가 웹 서버 액세스 로그에 기록되지 않음)
웹훅 한도 및 권장사항
요청 한도
| 한도 | 값 |
|---|---|
| 최대 요청 크기 | 4MB |
| 최대 QPS (초당 쿼리 수) | 15,000 |
| 요청 제한 시간 | 30초 |
| 재시도 동작 | 지수 백오프를 사용한 자동 재시도 |
권장사항
- 포괄적인 보안 범위를 보장하기 위해 모든 신호 이벤트 유형에 전달을 사용 설정합니다.
- 웹훅 전송 상태를 정기적으로 모니터링하여 실패 또는 지연이 있는지 확인합니다.
- Google SecOps 피드 구성에서
\n분할 구분 기호를 사용하여 NDJSON 페이로드 처리 - 프로덕션에 배포하기 전에 알려진 정책 위반으로 통합을 테스트합니다.
- 관련 이벤트가 포착되도록 주기적으로 Aware 신호 정책 검토
문제 해결
이벤트가 Google SecOps에 표시되지 않음
원인: Aware에서 이벤트가 생성되지만 수집되지 않음
해결책:
- Google SecOps에서 SIEM 설정 > 피드로 이동합니다.
- Aware 신호 이벤트 피드를 클릭합니다.
- 상태 탭으로 이동합니다.
- 인제스트 오류를 확인합니다.
- 로그 유형이 Aware 신호로 설정되어 있는지 확인합니다.
- 웹훅 URL의 API 키와 보안 비밀 키가 올바른지 확인합니다.
인증 오류
원인: 잘못된 API 키 또는 보안 비밀 키
해결책:
- Google SecOps API 키가 유효하고 올바른 API 제한사항이 있는지 확인합니다.
- 보안 비밀 키가 피드 생성 중에 생성된 키와 일치하는지 확인합니다.
엔드포인트를 수동으로 테스트합니다.
curl -X POST "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"test": "event"}'테스트에 실패하면 API 키 또는 비밀 키를 재생성하고 Aware에서 웹훅 구성을 업데이트합니다.
페이로드가 최대 크기를 초과함
원인: 이벤트 페이로드가 4MB 한도를 초과함
해결책:
- 전달되는 이벤트 유형 수를 줄입니다.
- 페이로드 크기 제한을 구성하려면 Aware 지원팀에 문의하세요.
- Cloud Run Functions 접근 방식을 사용하는 경우 일괄 처리를 구현하여 대규모 페이로드를 여러 요청으로 분할합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 로직 |
|---|---|---|
has_principal |
metadata.event_type |
매핑됨: true → NETWORK_CONNECTION, true → STATUS_UPDATE |
has_user |
metadata.event_type |
매핑됨: true → USER_UNCATEGORIZED |
signalEventDetails.eventStatus |
security_result.action_details |
직접 매핑됨 |
contentObjectDetails_contentObjectIsChat_label |
security_result.detection_fields |
병합됨 |
contentObjectDetails_contentObjectIsThread_label |
security_result.detection_fields |
병합됨 |
detectionLength_label |
security_result.detection_fields |
병합됨 |
detectionStart_label |
security_result.detection_fields |
병합됨 |
ruleConditionMatches_label |
security_result.detection_fields |
병합됨 |
search_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_createdTime_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_deletedTime_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_inspectionRequestId_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_isQuarantined_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_policyDetails_createdTime_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_policyDetails_policyId_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_policyDetails_policyName_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_ruleBehavior_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_ruleFamilyId_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_tenantId_label |
security_result.detection_fields |
병합됨 |
signalEventId_label |
security_result.detection_fields |
병합됨 |
signal_EventDetails_policyDetails_deletedTime_label |
security_result.detection_fields |
병합됨 |
snippetContent_label |
security_result.detection_fields |
병합됨 |
snippetLength_label |
security_result.detection_fields |
병합됨 |
snippetStart_label |
security_result.detection_fields |
병합됨 |
signalEventDetails_ruleId |
security_result.rule_id |
직접 매핑됨 |
signalEventDetails_ruleName |
security_result.rule_name |
직접 매핑됨 |
contentGroupDetails.contentGroupScope_label |
target.group.attribute.labels |
병합됨 |
contentObjectDetails_contentGroupDetails_contentGroupTag_label |
target.group.attribute.labels |
병합됨 |
contentGroupDetails_contentGroupName |
target.group.group_display_name |
직접 매핑됨 |
contentObjectDetails_contentPlatformId_label |
target.resource.attribute.labels |
병합됨 |
contentObjectDetails_contentTime_label |
target.resource.attribute.labels |
병합됨 |
contentObjectDetails_contentObjectId |
target.resource.product_object_id |
직접 매핑됨 |
contentObjectDetails_contentObjectType |
target.resource.resource_subtype |
직접 매핑됨 |
contentAuthorDetails_contentAuthorEmail |
target.user.email_addresses |
병합됨 |
contentAuthorDetails_contentAuthorName |
target.user.user_display_name |
직접 매핑됨 |
contentAuthorDetails_contentAuthorId |
target.user.userid |
직접 매핑됨 |
| 해당 사항 없음 | metadata.event_type |
상수: NETWORK_CONNECTION |
| 해당 사항 없음 | metadata.product_name |
상수: AWARE SIGNALS |
| 해당 사항 없음 | metadata.vendor_name |
상수: AWARE SIGNALS |
변경 로그
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.