Microsoft Graph 활동 로그 수집

다음에서 지원:

개요

이 파서는 Microsoft Graph 활동 로그에서 필드를 추출하여 통합 데이터 모델 (UDM)로 변환합니다. UDM 필드를 초기화하고, 페이로드를 파싱하고, 타임스탬프를 추출하고, 다양한 속성을 UDM 필드에 매핑하고, IP 주소와 포트를 처리하고, 주체 및 네트워크 정보의 존재 여부에 따라 이벤트 유형을 분류합니다.

시작하기 전에

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

  • Google SecOps 인스턴스
  • Microsoft Entra ID 및 Azure 스토리지 계정에 대한 권한 있는 액세스

Azure 스토리지 계정 구성

  1. Azure 콘솔에서 스토리지 계정을 검색합니다.
  2. 만들기를 클릭합니다.
  3. 다음 입력 파라미터의 값을 지정합니다.
    • 구독: 구독을 선택합니다.
    • 리소스 그룹: 리소스 그룹을 선택합니다.
    • 리전: 리전을 선택합니다.
    • 성능: 원하는 성능 수준을 선택합니다 (표준 권장).
    • 중복성: 원하는 중복성 수준을 선택합니다 (GRS 또는 LRS 권장).
    • 스토리지 계정 이름: 새 스토리지 계정의 이름을 입력합니다.
  4. 검토 + 만들기를 클릭합니다.
  5. 계정 개요를 검토하고 만들기를 클릭합니다.
  6. 스토리지 계정 개요 페이지의 보안 + 네트워킹에서 하위 메뉴 액세스 키를 선택합니다.
  7. key1 또는 key2 옆에 있는 표시를 클릭합니다.
  8. 클립보드에 복사를 클릭하여 키를 복사합니다.
  9. 나중에 참고할 수 있도록 키를 안전한 위치에 저장합니다.
  10. 스토리지 계정 개요 페이지의 설정에서 하위 메뉴 엔드포인트를 선택합니다.
  11. 클립보드에 복사를 클릭하여 Blob 서비스 엔드포인트 URL (예: https://.blob.core.windows.net)을 복사합니다.
  12. 나중에 참조할 수 있도록 엔드포인트 URL을 안전한 위치에 저장합니다.

스토리지 계정으로 Microsoft Graph 활동 로그 내보내기 구성

  1. Azure 콘솔에서 Entra ID를 검색합니다.
  2. 모니터링 > 진단 설정을 선택합니다.
  3. + 진단 설정 추가를 클릭합니다.
  4. 설정에 고유한 이름을 지정합니다 (예: ms-graph-activity).
  5. Google SecOps로 내보낼 MicrosoftGraphActivityLog 카테고리를 선택합니다.
  6. 대상 세부정보에서 스토리지 계정에 아카이브를 선택합니다.
  7. 이전 단계에서 만든 구독 및 스토리지 계정을 선택합니다.
  8. 저장을 클릭합니다.

Microsoft Graph 활동 로그를 설정하는 방법

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 다음 페이지에서 단일 피드 구성을 클릭합니다.
  4. 피드 이름 필드에 피드 이름을 입력합니다(예: Microsoft Graph 활동 로그).
  5. 소스 유형으로 Microsoft Azure Blob Storage V2를 선택합니다.
  6. 로그 유형으로 Microsoft Graph 활동 로그를 선택합니다.
  7. 다음을 클릭합니다.
  8. 다음 입력 매개변수의 값을 지정합니다.

    • Azure URI: blob 엔드포인트 URL입니다.

      ENDPOINT_URL/BLOB_NAME

      다음을 바꿉니다.

      • ENDPOINT_URL: blob 엔드포인트 URL (https://<storageaccountname>.blob.core.windows.net)
      • BLOB_NAME: blob의 이름 (예: insights-logs-)
    • 소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.

    • 최대 파일 기간: 지난 일수 동안 수정된 파일입니다. 기본값은 180일입니다.
    • 공유 키: Azure Blob Storage의 액세스 키입니다.
  9. 다음을 클릭합니다.

  10. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
callerIpAddress principal.asset.ip 원시 로그 필드 callerIpAddress이 UDM 필드에 복사됩니다.
callerIpAddress principal.ip 원시 로그 필드 callerIpAddress이 UDM 필드에 복사됩니다.
category security_result.category_details 원시 로그 필드 category이 UDM 필드에 복사됩니다.
correlationId security_result.detection_fields.value 원시 로그 필드 correlationId이 키가 correlationId인 UDM 필드에 복사됩니다.
Level security_result.detection_fields.value 원시 로그 필드 Level가 문자열로 변환되어 키가 Level인 UDM 필드에 복사됩니다.
operationName metadata.product_event_type 원시 로그 필드 operationName이 UDM 필드에 복사됩니다.
operationVersion additional.fields.value.string_value 원시 로그 필드 operationVersion이 키가 operationVersion인 UDM 필드에 복사됩니다.
properties.apiVersion metadata.product_version 원시 로그 필드 properties.apiVersion이 UDM 필드에 복사됩니다.
properties.appId target.resource.product_object_id 원시 로그 필드 properties.appId이 UDM 필드에 복사됩니다.
properties.atContent additional.fields.value.string_value 원시 로그 필드 properties.atContent이 UDM 필드에 복사됩니다. 여기서 키는 atContent입니다.
properties.clientAuthMethod extensions.auth.auth_details properties.clientAuthMethod 값에 따라 UDM 필드가 'Public Client' (0), 'Client ID/Client Secret' (1) 또는 'Client Certificate' (2)로 설정됩니다.
properties.clientRequestId additional.fields.value.string_value 원시 로그 필드 properties.clientRequestId이 UDM 필드에 복사됩니다. 여기서 키는 clientRequestId입니다.
properties.durationMs network.session_duration.seconds 원시 로그 필드 properties.durationMs이 밀리초에서 초로 변환되어 UDM 필드에 복사됩니다.
properties.identityProvider security_result.detection_fields.value 원시 로그 필드 properties.identityProvider이 UDM 필드에 복사됩니다. 여기서 키는 identityProvider입니다.
properties.ipAddress principal.asset.ip 원시 로그 필드 properties.ipAddress의 IP 주소가 추출되어 UDM 필드에 복사됩니다.
properties.ipAddress principal.ip 원시 로그 필드 properties.ipAddress의 IP 주소가 추출되어 UDM 필드에 복사됩니다.
properties.location principal.location.name 원시 로그 필드 properties.location이 UDM 필드에 복사됩니다.
properties.operationId security_result.detection_fields.value 원시 로그 필드 properties.operationId이 UDM 필드에 복사됩니다. 여기서 키는 operationId입니다.
properties.requestMethod network.http.method 원시 로그 필드 properties.requestMethod이 UDM 필드에 복사됩니다.
properties.requestId metadata.product_log_id 원시 로그 필드 properties.requestId이 UDM 필드에 복사됩니다.
properties.responseSizeBytes network.received_bytes 원시 로그 필드 properties.responseSizeBytes가 부호 없는 정수로 변환되어 UDM 필드에 복사됩니다.
properties.responseStatusCode network.http.response_code 원시 로그 필드 properties.responseStatusCode가 정수로 변환되어 UDM 필드에 복사됩니다.
properties.roles additional.fields.value.string_value 원시 로그 필드 properties.roles이 UDM 필드에 복사됩니다. 여기서 키는 roles입니다.
properties.scopes additional.fields.value.string_value 원시 로그 필드 properties.scopes이 UDM 필드에 복사됩니다. 여기서 키는 Scopes입니다.
properties.servicePrincipalId principal.user.userid properties.userId이 비어 있으면 원시 로그 필드 properties.servicePrincipalId이 UDM 필드에 복사됩니다.
properties.signInActivityId network.session_id 원시 로그 필드 properties.signInActivityId이 UDM 필드에 복사됩니다.
properties.tenantId metadata.product_deployment_id 원시 로그 필드 properties.tenantId이 UDM 필드에 복사됩니다.
properties.tokenIssuedAt additional.fields.value.string_value 원시 로그 필드 properties.tokenIssuedAt이 UDM 필드에 복사됩니다. 여기서 키는 tokenIssuedAt입니다.
properties.userAgent network.http.user_agent 원시 로그 필드 properties.userAgent이 UDM 필드에 복사됩니다.
properties.userId principal.user.userid 원시 로그 필드 properties.userId이 UDM 필드에 복사됩니다.
properties.wids security_result.detection_fields.value 원시 로그 필드 properties.wids이 UDM 필드에 복사됩니다. 여기서 키는 wids입니다.
resourceId target.resource.attribute.labels.value 원시 로그 필드 resourceId이 UDM 필드에 복사됩니다. 여기서 키는 Resource ID입니다.
resultSignature additional.fields.value.string_value 원시 로그 필드 resultSignature이 키가 resultSignature인 UDM 필드에 복사됩니다.
time metadata.event_timestamp 원시 로그 필드 time가 파싱되어 타임스탬프로 변환되고 UDM 필드에 복사됩니다. has_principal이 true이고 network.http가 비어 있지 않으면 UDM 필드 event.idm.read_only_udm.metadata.event_type이 'NETWORK_HTTP'로 설정되고, has_principal이 true이고 network.http가 비어 있으면 'STATUS_UPDATE'로 설정되고, 그 밖의 경우 'GENERIC_EVENT'로 설정됩니다. UDM 필드가 'Microsoft Graph'로 설정됩니다. UDM 필드가 'Microsoft'로 설정됩니다.

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