Microsoft Azure 활동 로그 수집

다음에서 지원:

이 문서에서는 Microsoft Azure 활동 로그(AZURE_ACTIVITY)를 Google Security Operations에 수집하는 데 필요한 단계를 설명합니다.

스토리지 계정 구성

스토리지 계정을 구성하려면 다음 단계를 완료합니다.

  1. Azure Console에서 스토리지 계정을 검색합니다.
  2. 만들기를 클릭합니다.
  3. 계정에 필요한 구독, 리소스 그룹, 리전, 성능(Standard 권장), 중복성(GRS 또는 LRS 권장)을 선택하고, 새 스토리지 계정의 이름을 입력합니다.
  4. 검토 + 만들기를 클릭하고 계정 개요를 검토하고 만들기를 클릭합니다.
  5. 스토리지 계정 개요 페이지의 창 왼쪽 탐색에서 액세스 키를 선택합니다.
  6. 키 표시를 클릭하고 스토리지 계정의 공유 키를 기록해 둡니다.
  7. 창 왼쪽 탐색에서 엔드포인트를 선택합니다.
  8. Blob 서비스 엔드포인트를 기록해 둡니다. (https://<storageaccountname>.blob.core.windows.net/)

Azure 활동 로깅 구성

Azure 활동 로깅을 구성하려면 다음 단계를 완료합니다.

  1. Azure Console에서 Monitor를 검색합니다.
  2. 페이지 왼쪽 탐색에서 활동 로그 링크를 클릭합니다.
  3. 창 상단에서 활동 로그 내보내기를 클릭합니다.
  4. 진단 설정 추가를 클릭합니다.
  5. Google SecOps로 내보내려는 모든 카테고리를 선택합니다.
  6. 대상 세부정보에서 스토리지 계정에 아카이브를 선택합니다.
  7. 이전 단계에서 만든 구독 및 스토리지 계정을 선택합니다.
  8. 저장을 클릭합니다.

Google SecOps 플랫폼에서 피드를 설정하는 두 가지 진입점이 있습니다.

  • SIEM 설정 > 피드
  • 콘텐츠 허브 > 콘텐츠 팩

SIEM 설정 > 피드에서 피드 설정

피드를 구성하려면 다음 단계를 따르세요.

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 다음 페이지에서 단일 피드 구성을 클릭합니다.
  4. 필드 이름의 고유한 이름을 입력합니다.
  5. 소스 유형으로 Microsoft Azure Blob Storage를 선택합니다.
  6. 로그 유형으로 Microsoft Azure Activity를 선택합니다.
  7. 다음을 클릭합니다.
  8. 다음 필수 입력 매개변수를 구성합니다.
    • Azure URI: 앞에서 기록한 Blob 서비스 엔드포인트 값을 insights-activity-logs를 서픽스로 추가하여 입력합니다 (예: https://acme-azure-chronicle.blob.core.windows.net/insights-activity-logs).
    • URI: 하위 디렉터리가 포함된 디렉터리를 선택합니다.
    • 소스 삭제 옵션: 전송 후 파일 및 디렉터리를 삭제할지 여부를 지정합니다.
    • 공유 키: 앞에서 캡처한 공유 키 값을 입력합니다.
  9. 다음을 클릭한 후 제출을 클릭합니다.

Content Hub에서 피드 설정하기

다음 필드의 값을 지정합니다.

  • Azure URI: 앞에서 기록한 Blob 서비스 엔드포인트 값을 insights-activity-logs를 서픽스로 추가하여 입력합니다 (예: https://acme-azure-chronicle.blob.core.windows.net/insights-activity-logs).
  • URI: 하위 디렉터리가 포함된 디렉터리를 선택합니다.
  • 소스 삭제 옵션: 전송 후 파일 및 디렉터리를 삭제할지 여부를 지정합니다.
  • 공유 키: 앞에서 캡처한 공유 키 값을 입력합니다.

고급 옵션

  • 피드 이름: 피드를 식별하는 미리 입력된 값입니다.
  • 소스 유형: Google SecOps로 로그를 수집하는 데 사용되는 방법입니다.
  • 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
  • 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.

필드 매핑 참조

이 파서 코드는 먼저 다수의 필드를 빈 문자열로 초기화한 다음 일련의 문자열 조작 및 JSON 파싱 작업을 실행하여 Azure 활동 로그 메시지에서 관련 정보를 추출합니다. 마지막으로 추출된 데이터를 통합 데이터 모델 (UDM) 필드에 매핑하여 이벤트 유형을 분류하고 심각도, 사용자 정보, 네트워크 데이터와 같은 추가 세부정보로 보강합니다.

UDM 매핑 표

로그 필드 UDM 매핑 논리
카테고리 read_only_udm.security_result.category_details 원시 로그의 'category' 필드에서 직접 매핑됩니다.
callerIpAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip 원시 로그의 'callerIpAddress' 필드에서 직접 매핑됩니다.
correlationId read_only_udm.security_result.detection_fields.correlationId 원시 로그의 'correlationId' 필드에서 직접 매핑됩니다.
data.callerIpAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip 원시 로그의 'data' 객체 내 'callerIpAddress' 필드에서 직접 매핑됩니다.
data.correlationId read_only_udm.security_result.detection_fields.correlationId 원시 로그의 'data' 객체 내 'correlationId' 필드에서 직접 매핑됩니다.
data.DeploymentUnit read_only_udm.target.resource.name 원시 로그의 'data' 객체 내 'DeploymentUnit' 필드에서 직접 매핑됩니다.
data.details read_only_udm.metadata.description '세부정보' 필드가 '알 수 없음'이 아닌 경우에만 원시 로그의 '데이터' 객체 내 '세부정보' 필드에서 직접 매핑됩니다.
data.entity read_only_udm.additional.fields.entity 원시 로그의 'data' 객체 내 'entity' 필드에서 직접 매핑됩니다.
data.EventName read_only_udm.metadata.product_event_type 원시 로그의 'data' 객체 내 'EventName' 필드에서 직접 매핑됩니다.
data.hierarchy read_only_udm.additional.fields.hierarchy 원시 로그의 'data' 객체 내 'hierarchy' 필드에서 직접 매핑됩니다.
data.identity.authorization.action read_only_udm.security_result.detection_fields.action 원시 로그의 'identity' 객체의 'authorization' 객체 내 'action' 필드에서 직접 매핑됩니다.
data.identity.authorization.evidence.principalId read_only_udm.principal.user.product_object_id, read_only_udm.principal.resource.product_object_id, read_only_udm.principal.group.product_object_id 원시 로그의 'identity' 객체의 'authorization' 객체의 'evidence' 객체 내 'principalId' 필드에서 직접 매핑됩니다. 매핑되는 특정 UDM 필드는 'principalType' 필드의 값에 따라 다릅니다. 'principalType'이 'User' 또는 'ServicePrincipal'인 경우 principal.user.product_object_id에 매핑됩니다. 'principalType'이 'Group'인 경우 principal.group.product_object_id에 매핑됩니다. 'principalType'이 'ServicePrincipal'인 경우 principal.resource.product_object_id에 매핑됩니다.
data.identity.authorization.evidence.principalType read_only_udm.principal.resource.resource_subtype 원시 로그의 'identity' 객체의 'authorization' 객체의 'evidence' 객체 내 'principalType' 필드에서 직접 매핑됩니다.
data.identity.authorization.evidence.role read_only_udm.principal.user.role_name 원시 로그의 'identity' 객체의 'authorization' 객체의 'evidence' 객체 내 'role' 필드에서 직접 매핑됩니다.
data.identity.authorization.evidence.roleAssignmentId read_only_udm.principal.resource.attribute.labels.roleAssignmentId 원시 로그의 'identity' 객체의 'authorization' 객체의 'evidence' 객체 내 'roleAssignmentId' 필드에서 직접 매핑됩니다.
data.identity.authorization.evidence.roleAssignmentScope read_only_udm.principal.resource.attribute.labels.roleAssignmentScope 원시 로그의 'identity' 객체의 'authorization' 객체의 'evidence' 객체 내 'roleAssignmentScope' 필드에서 직접 매핑됩니다.
data.identity.authorization.evidence.roleDefinitionId read_only_udm.principal.resource.attribute.labels.roleDefinitionId 원시 로그의 'identity' 객체의 'authorization' 객체의 'evidence' 객체 내 'roleDefinitionId' 필드에서 직접 매핑됩니다.
data.identity.authorization.scope read_only_udm.security_result.detection_fields.scope 원시 로그의 'identity' 객체의 'authorization' 객체 내 'scope' 필드에서 직접 매핑됩니다.
data.identity.claims.aio read_only_udm.security_result.detection_fields.aio 원시 로그의 'identity' 객체의 'claims' 객체 내 'aio' 필드에서 직접 매핑됩니다.
data.identity.claims.appid read_only_udm.security_result.detection_fields.appid 원시 로그의 'identity' 객체의 'claims' 객체 내 'appid' 필드에서 직접 매핑됩니다.
data.identity.claims.appidacr read_only_udm.security_result.detection_fields.appidacr 원시 로그의 'identity' 객체의 'claims' 객체 내 'appidacr' 필드에서 직접 매핑됩니다.
data.identity.claims.aud read_only_udm.security_result.detection_fields.aud 원시 로그의 'identity' 객체의 'claims' 객체 내 'aud' 필드에서 직접 매핑됩니다.
data.identity.claims.exp read_only_udm.security_result.detection_fields.exp 원시 로그의 'identity' 객체의 'claims' 객체 내 'exp' 필드에서 직접 매핑됩니다.
data.identity.claims.http://schemas.microsoft.com/identity/claims/identityprovider read_only_udm.security_result.detection_fields.identityprovider 원시 로그의 'identity' 객체의 'claims' 객체 내 'http://schemas.microsoft.com/identity/claims/identityprovider' 필드에서 직접 매핑됩니다.
data.identity.claims.http://schemas.microsoft.com/identity/claims/objectidentifier read_only_udm.security_result.detection_fields.objectidentifier 원시 로그의 'identity' 객체의 'claims' 객체 내 'http://schemas.microsoft.com/identity/claims/objectidentifier' 필드에서 직접 매핑됩니다.
data.identity.claims.http://schemas.microsoft.com/identity/claims/tenantid read_only_udm.security_result.detection_fields.tenantid 원시 로그의 'identity' 객체의 'claims' 객체 내 'http://schemas.microsoft.com/identity/claims/tenantid' 필드에서 직접 매핑됩니다.
data.identity.claims.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier read_only_udm.security_result.detection_fields.nameidentifier 원시 로그의 'identity' 객체의 'claims' 객체 내 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' 필드에서 직접 매핑됩니다.
data.identity.claims.iat read_only_udm.security_result.detection_fields.iat 원시 로그의 'identity' 객체의 'claims' 객체 내 'iat' 필드에서 직접 매핑됩니다.
data.identity.claims.iss read_only_udm.security_result.detection_fields.iss 원시 로그의 'identity' 객체의 'claims' 객체 내 'iss' 필드에서 직접 매핑됩니다.
data.identity.claims.nbf read_only_udm.security_result.detection_fields.nbf 원시 로그의 'identity' 객체의 'claims' 객체 내 'nbf' 필드에서 직접 매핑됩니다.
data.identity.claims.rh read_only_udm.security_result.detection_fields.rh 원시 로그의 'identity' 객체의 'claims' 객체 내 'rh' 필드에서 직접 매핑됩니다.
data.identity.claims.uti read_only_udm.security_result.detection_fields.uti 원시 로그의 'identity' 객체의 'claims' 객체 내 'uti' 필드에서 직접 매핑됩니다.
data.identity.claims.ver read_only_udm.security_result.detection_fields.ver 원시 로그의 'identity' 객체의 'claims' 객체 내 'ver' 필드에서 직접 매핑됩니다.
data.identity.claims.xms_tcdt read_only_udm.security_result.detection_fields.xms_tcdt 원시 로그의 'identity' 객체의 'claims' 객체 내 'xms_tcdt' 필드에서 직접 매핑됩니다.
data.identity.UserName read_only_udm.principal.user.user_display_name 원시 로그의 'identity' 객체 내 'UserName' 필드에서 직접 매핑됩니다.
data.level read_only_udm.security_result.severity, read_only_udm.security_result.severity_details 원시 로그의 'data' 객체 내 'level' 필드에서 직접 매핑됩니다. 'level' 필드는 severity 필드의 값을 결정하는 데도 사용됩니다. '수준'이 '정보' 또는 '정보 제공'인 경우 severity는 'INFORMATIONAL'로 설정됩니다. 'level'이 'Warning'이면 severity가 'MEDIUM'으로 설정됩니다. 'level'이 'Error'인 경우 severity는 'ERROR'로 설정됩니다. '수준'이 '중요'인 경우 severity는 'CRITICAL'로 설정됩니다.
data.location read_only_udm.target.location.name 원시 로그의 'data' 객체 내 'location' 필드에서 직접 매핑됩니다.
data.operationName read_only_udm.metadata.product_event_type 원시 로그의 'data' 객체 내 'operationName' 필드에서 직접 매핑됩니다.
data.properties.EventChannel read_only_udm.additional.fields.properties EventChannel 원시 로그의 'data' 객체의 'properties' 객체 내 'EventChannel' 필드에서 직접 매핑됩니다.
data.properties.EventSource read_only_udm.additional.fields.properties EventSource 원시 로그의 'data' 객체의 'properties' 객체 내 'EventSource' 필드에서 직접 매핑됩니다.
data.properties.EventId read_only_udm.metadata.product_log_id 원시 로그의 'data' 객체의 'properties' 객체 내 'EventId' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.cause read_only_udm.security_result.detection_fields.cause 원시 로그의 'data' 객체의 'properties' 객체에 있는 'eventProperties' 객체 내의 'cause' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.clientIPAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip 원시 로그의 'data' 객체의 'properties' 객체 내 'eventProperties' 객체의 'clientIPAddress' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.compromisedHost read_only_udm.principal.asset.hostname, read_only_udm.principal.hostname 원시 로그의 'data' 객체의 'properties' 객체에 있는 'eventProperties' 객체 내의 'compromisedHost' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.currentHealthStatus read_only_udm.security_result.detection_fields.currentHealthStatus 원시 로그의 'data' 객체의 'properties' 객체 내 'eventProperties' 객체의 'currentHealthStatus' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.previousHealthStatus read_only_udm.security_result.detection_fields.previousHealthStatus 원시 로그의 'data' 객체의 'properties' 객체 내 'eventProperties' 객체의 'previousHealthStatus' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.type read_only_udm.security_result.detection_fields.type 원시 로그의 'data' 객체의 'properties' 객체에 있는 'eventProperties' 객체 내의 'type' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.User read_only_udm.principal.user.userid 원시 로그의 'data' 객체의 'properties' 객체에 있는 'eventProperties' 객체 내의 'User' 필드에서 직접 매핑됩니다.
data.properties.eventProperties.userName read_only_udm.principal.user.user_display_name 원시 로그의 'data' 객체의 'properties' 객체의 'eventProperties' 객체 내 'userName' 필드에서 'SECURE\" 접두사를 삭제한 후 직접 매핑됩니다.
data.properties.ipAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip 원시 로그의 'data' 객체의 'properties' 객체 내 'ipAddress' 필드에서 직접 매핑됩니다.
data.properties.legacyChannels read_only_udm.security_result.detection_fields.legacyChannels 원시 로그의 'data' 객체의 'properties' 객체 내 'legacyChannels' 필드에서 직접 매핑됩니다.
data.properties.legacyEventDataId read_only_udm.security_result.detection_fields.legacyEventDataId 원시 로그의 'data' 객체의 'properties' 객체 내 'legacyEventDataId' 필드에서 직접 매핑됩니다.
data.properties.legacyResourceId read_only_udm.security_result.detection_fields.legacyResourceId 원시 로그의 'data' 객체의 'properties' 객체 내 'legacyResourceId' 필드에서 직접 매핑됩니다.
data.properties.legacyResourceGroup read_only_udm.security_result.detection_fields.legacyResourceGroup 원시 로그의 'data' 객체의 'properties' 객체 내 'legacyResourceGroup' 필드에서 직접 매핑됩니다.
data.properties.legacyResourceProviderName read_only_udm.security_result.detection_fields.legacyResourceProviderName 원시 로그의 'data' 객체의 'properties' 객체 내 'legacyResourceProviderName' 필드에서 직접 매핑됩니다.
data.properties.legacyResourceType read_only_udm.security_result.detection_fields.legacyResourceType 원시 로그의 'data' 객체의 'properties' 객체 내 'legacyResourceType' 필드에서 직접 매핑됩니다.
data.properties.legacySubscriptionId read_only_udm.security_result.detection_fields.legacySubscriptionId 원시 로그의 'data' 객체의 'properties' 객체 내 'legacySubscriptionId' 필드에서 직접 매핑됩니다.
data.properties.operationId read_only_udm.security_result.detection_fields.operationId 원시 로그의 'data' 객체의 'properties' 객체 내 'operationId' 필드에서 직접 매핑됩니다.
data.properties.result read_only_udm.security_result.action_details 원시 로그의 'data' 객체의 'properties' 객체 내 'result' 필드에서 직접 매핑됩니다.
data.properties.statusCode read_only_udm.network.http.response_code 원시 로그의 'data' 객체의 'properties' 객체 내 'statusCode' 필드에서 직접 매핑됩니다.
data.properties.suspiciousCommandLine read_only_udm.target.process.command_line 원시 로그의 'data' 객체의 'properties' 객체 내 'suspiciousCommandLine' 필드에서 직접 매핑됩니다.
data.properties.suspiciousProcess read_only_udm.target.process.file.full_path 원시 로그의 'data' 객체의 'properties' 객체 내 'suspiciousProcess' 필드에서 직접 매핑됩니다.
data.properties.suspiciousProcessId read_only_udm.target.process.pid 원시 로그의 'data' 객체의 'properties' 객체 내 'suspiciousProcessId' 필드에서 직접 매핑됩니다.
data.properties.tlsVersion read_only_udm.network.tls.version 원시 로그의 'data' 객체의 'properties' 객체 내 'tlsVersion' 필드에서 직접 매핑됩니다.
data.properties.userAgent read_only_udm.network.http.user_agent, read_only_udm.network.http.parsed_user_agent 원시 로그의 'data' 객체의 'properties' 객체 내 'userAgent' 필드에서 직접 매핑됩니다.
data.properties.userAgentHeader read_only_udm.network.http.user_agent, read_only_udm.network.http.parsed_user_agent 원시 로그의 'data' 객체의 'properties' 객체 내 'userAgentHeader' 필드에서 직접 매핑됩니다.
data.properties.userId read_only_udm.target.user.product_object_id 원시 로그의 'data' 객체의 'properties' 객체 내 'userId' 필드에서 직접 매핑됩니다.
data.ReleaseVersion read_only_udm.metadata.product_version 원시 로그의 'data' 객체 내 'ReleaseVersion' 필드에서 직접 매핑됩니다.
data.resourceId read_only_udm.target.resource.name 원시 로그의 'data' 객체 내 'resourceId' 필드에서 직접 매핑됩니다.
data.resourceType read_only_udm.additional.fields.resourceType 원시 로그의 'data' 객체 내 'resourceType' 필드에서 직접 매핑됩니다.
data.resultDescription read_only_udm.metadata.description 원시 로그의 'data' 객체 내 'resultDescription' 필드에서 직접 매핑됩니다.
data.resultSignature read_only_udm.additional.fields.resultSignature 원시 로그의 'data' 객체 내 'resultSignature' 필드에서 직접 매핑됩니다.
data.resultType read_only_udm.security_result.action_details, read_only_udm.additional.fields.resultType 원시 로그의 'data' 객체 내 'resultType' 필드에서 직접 매핑됩니다.
data.RoleLocation read_only_udm.target.location.name 원시 로그의 'data' 객체 내 'RoleLocation' 필드에서 직접 매핑됩니다.
data.time read_only_udm.metadata.event_timestamp 원시 로그의 'data' 객체 내 'time' 필드가 파싱되어 타임스탬프가 추출되고, 이 타임스탬프는 event_timestamp에 매핑됩니다.
data.uri read_only_udm.network.http.referral_url 원시 로그의 'data' 객체 내 'uri' 필드에서 직접 매핑됩니다.
read_only_udm.extensions.auth.mechanism INTERACTIVE 원시 로그의 'data' 객체의 'properties' 객체 내 'isInteractive' 필드가 'true'이면 'INTERACTIVE'로 설정합니다. 그 외의 경우에는 'MECHANISM_OTHER'로 설정됩니다.
read_only_udm.extensions.auth.type MACHINE 원시 로그의 '카테고리' 필드가 'NonInteractiveUserSignInLogs', 'ManagedIdentitySignInLogs' 또는 'ServicePrincipalSignInLogs'인 경우 'MACHINE'으로 설정합니다.
read_only_udm.metadata.log_type AZURE_ACTIVITY 'AZURE_ACTIVITY'로 하드코딩되었습니다.
read_only_udm.metadata.vendor_name Microsoft 'Microsoft'로 하드코딩됩니다.
read_only_udm.principal.platform WINDOWS, MAC, LINUX, ANDROID 'properties.test.deviceDetail.operatingSystem' 필드의 값을 기준으로 결정됩니다. 'Win'이 포함된 경우 platform이 'WINDOWS'로 설정됩니다. 'Mac'이 포함된 경우 platform이 'MAC'으로 설정됩니다. 'Lin'이 포함된 경우 platform이 'LINUX'로 설정됩니다. 'Android'가 포함된 경우 platform는 'ANDROID'로 설정됩니다.
read_only_udm.principal.resource.type SERVICE_ACCOUNT, UNSPECIFIED 'identity.authorization.evidence.principalType' 필드의 값을 기반으로 결정됩니다. 'ServicePrincipal'인 경우 type는 'SERVICE_ACCOUNT'로 설정됩니다. 그렇지 않으면 'UNSPECIFIED'로 설정됩니다.
read_only_udm.security_result.action ALLOW, BLOCK, UNKNOWN_ACTION 'resultType', 'status_errorcode', 'statusText' 필드의 값을 기반으로 결정됩니다. 'resultType'이 'Success', 'success', 'Succeeded', 'Started', 'Resolved', 'Active', 'Updated', 'Start', 'Accept', 'Accepted', '0' 중 하나이거나 'status_errorcode'가 0이거나 'statusText'가 'Success'인 경우 action는 'ALLOW'로 설정됩니다. 'resultType'이 'Failure', 'Failed' 중 하나이거나 'status_errorcode'가 비어 있지 않거나 'resultType'이 비어 있지 않으면 action가 'BLOCK'으로 설정됩니다. 그렇지 않으면 'UNKNOWN_ACTION'으로 설정됩니다.
read_only_udm.target.cloud.environment MICROSOFT_AZURE 'MICROSOFT_AZURE'로 하드코딩됩니다.

변경사항

2024-07-10

  • 'identity.authorization.evidence.principalType'이 'Group'과 같으면 'identity.authorization.evidence.principalId'가 'principal.group.product_object_id'에 매핑되었습니다.
  • 'identity.authorization.evidence.principalType'이 'User' 또는 'ServicePrincipal'과 같으면 'identity.authorization.evidence.principalId'가 'principal.user.product_object_id'에 매핑되었습니다.
  • gsub을 추가하여 'properties' 필드를 'properties.test'로 변경하고 'properties'로만 시작하는 필드를 삭제했습니다.

2024-07-08

  • 'properties.compromisedEntity', 'properties.attackedResourceType', 'properties.intent'가 'target.resource.attribute.labels'에 매핑되었습니다.
  • 'properties.severity'가 'security_result.severity'에 매핑되었습니다.

2024-06-18

  • 'principal.user.userid'가 없으면 'metadata.event_type'의 매핑을 'USER_RESOURCE_ACCESS'에서 'GENERIC_EVENT'로 변경했습니다.

2024-06-18

  • 'operationVersion'이 'metadata.product_version'에 매핑되었습니다.
  • 'properties.authenticationRequirementPolicies.requirementProvider' 및 'properties.authenticationRequirementPolicies.detail'이 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.authenticationDetails.StatusSequence', 'properties.correlationId', 'properties.uniqueTokenIdentifier', 'properties.authenticationDetails.RequestSequence'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.appDisplayName'이 'target.application'에 매핑되었습니다.
  • 'properties.conditionalAccessStatus', 'properties.appliedConditionalAccessPolicies', 'properties.authenticationContextClassReferences', 'properties.signInTokenProtectionStatus', 'properties.originalRequestId', 'properties.authenticationProcessingDetails', 'properties.clientCredentialType', 'properties.processingTimeInMilliseconds', 'properties.riskDetail', 'properties.riskLevelAggregated', 'properties.riskLevelDuringSignIn', 'properties.riskState', 'properties.originalTransferMethod'가 'additional.fields'에 매핑되었습니다.
  • 'properties.riskEventTypes', 'properties.riskEventTypes_v2', 'properties.homeTenantId', 'properties.autonomousSystemNumber', 'properties.autonomousSystemNumber', 'properties.privateLinkDetails'가 'additional.fields'에 매핑되었습니다.
  • 'properties.resourceId', 'properties.resourceTenantId', 'properties.resourceServicePrincipalId'가 'target.resource.attribute.labels'에 매핑되었습니다.
  • 'properties.userType'이 'principal.user.attribute.roles'에 매핑되었습니다.
  • 'properties.userPrincipalName'이 'principal.user.email_addresses'에 매핑되었습니다.
  • 'properties.clientAppUsed'가 'principal.application'에 매핑되었습니다.
  • 'properties.deviceDetail.deviceId'가 'principal.asset.asset_id' 및 'principal.asset_id'에 매핑되었습니다.
  • 'properties.appId'가 'target.resource.attribute.labels'에 매핑되었습니다.
  • 'properties.status.additionalDetails'가 'security_result.description'에 매핑되었습니다.
  • 'properties.responseBody.name'이 'security_result.rule_name'에 매핑되었습니다.
  • 'properties.responseBody.properties.sourcePortRanges' 및 'properties.responseBody.properties.destinationPortRanges'가 'additional.fields'에 매핑되었습니다.
  • 'properties.responseBody.properties.sourceAddressPrefixes'가 단일 IP 주소인 경우 'principal.ip'에 매핑했습니다.
  • 'properties.responseBody.properties.sourceAddressPrefixes'가 IP 주소 범위인 경우 'additional.fields'에 매핑했습니다.
  • 'properties.responseBody.properties.sourceAddressPrefix'가 단일 IP 주소 또는 포트가 있는 IP 주소인 경우 'principal.ip' 및 'principal.port'에 매핑했습니다.
  • 'properties.responseBody.properties.sourceAddressPrefix'가 IP 주소 범위인 경우 'additional.fields'에 매핑했습니다.
  • 'properties.responseBody.properties.destinationAddressPrefixes'가 단일 IP 주소인 경우 'target.ip'에 매핑했습니다.
  • 'properties.responseBody.properties.destinationAddressPrefixes'가 IP 주소 범위인 경우 'additional.fields'에 매핑되었습니다.
  • 'properties.responseBody.properties.destinationAddressPrefix'가 단일 IP 주소 또는 포트가 있는 IP 주소인 경우 'target.ip' 및 'target.port'에 매핑되었습니다.
  • 'properties.responseBody.properties.destinationAddressPrefix'가 IP 주소 범위인 경우 'additional.fields'에 매핑했습니다.
  • 'properties.responseBody.properties.sourcePortRange'가 단일 포트인 경우 'principal.port'에 매핑했습니다.
  • 'properties.responseBody.properties.sourcePortRange'가 포트 범위인 경우 'additional.fields'에 매핑했습니다.
  • 'properties.responseBody.properties.destinationPortRange'가 단일 포트인 경우 'target.port'에 매핑했습니다.
  • 'properties.responseBody.properties.destinationPortRange'가 포트 범위인 경우 'additional.fields'에 매핑했습니다.
  • 'properties.id' 및 'properties.status.errorCode'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.isInteractive'가 'extensions.auth.mechanism'에 매핑되었습니다.
  • 'properties.deviceDetail.operatingSystem'이 'ANDROID'인 경우 'principal.platform'이 'ANDROID'에 매핑되었습니다.

2024-06-03

  • 'SUBSCRIPTIONS', 'RESOURCEGROUPS', 'STORAGEACCOUNTS', 'PROVIDERS', 'SNAPSHOTS'가 'resourceId'에서 'target.resource.attribute.labels'에 매핑되었습니다.

2024-05-21

  • 'identity.authorization.evidence.principalType'이 'User', 'Group', 'Application'과 같은 경우 'principal.resource.type'을 'UNSPECIFIED'에 매핑합니다.
  • 'identity.authorization.evidence.role'이 'principal.user.role_name'에 매핑되었습니다.
  • 'identity.authorization.evidence.principalType'이 'principal.resource.resource_subtype'에 매핑되었습니다.
  • 'identity.authorization.evidence.principalId'가 'principal.user.product_object_id'에 매핑되었습니다.
  • 'identity.authorization.evidence.roleAssignmentId', 'identity.authorization.evidence.roleAssignmentScope', 'identity.authorization.evidence.roleDefinitionId'가 'principal.resource.attribute.labels'에 매핑되었습니다.

2024-05-03

  • 'category'가 'SignInLogs'인 경우 'properties.userDisplayName'이 'principal.user.user_display_name'에 매핑되었습니다.
  • 'properties.requestbody.properties.priority' 및 'properties.response.properties.priority'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.requestbody.properties.protocol'이 'network.ip_protocol'에 매핑되었습니다.
  • 'properties.requestbody.properties.direction'이 'network.direction'에 매핑되었습니다.
  • 'properties.response.properties.protocol'이 'network.ip_protocol'에 매핑되었습니다.
  • 'properties.response.properties.direction'이 'network.direction'에 매핑되었습니다.
  • 'properties.response.properties.destinationPortRange'가 'target.port'에 매핑되었습니다.

2024-04-26

  • 'operationName.value'가 'metadata.product_event_type'에 매핑되었습니다.
  • 'category.value'가 'security_result.category_details'에 매핑되었습니다.
  • 'httpRequest.uri'가 'network.http.referral_url'에 매핑되었습니다.
  • 'httpRequest.method'가 'network.http.method'에 매핑되었습니다.
  • 'httpRequest.clientIpAddress'가 'principal.ip' 및 'principal.asset.ip'에 매핑되었습니다.
  • 'eventDataId'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'httpRequest.clientRequestId'가 'additional.fields'에 매핑되었습니다.

2024-04-16

  • 'protocol'이 알려진 경우 'network.application_protocol'을 매핑하는 지원을 추가하고, 그렇지 않은 경우 'protocol'을 'additional.fields'에 매핑했습니다.

2024-04-12

  • 'properties.requestbody.properties.allowBlobPublicAccess'가 'security_result.detection_fields'에 매핑되었습니다.

2024-04-10

  • 'resourceId'가 'target.resource.name'에 매핑되었습니다.
  • 'resourceId'가 있는 경우 'targetResources.displayName', 'identity', 'Type', 'properties.resourceDisplayName'이 'target.resource.attribute.labels'에 매핑되었습니다.

2024-03-29

  • 'ResourceGUID'가 'target.resource.product_object_id'에 매핑되었습니다.
  • 'Type'이 'target.resource.name'에 매핑되었습니다.
  • 'ClientCity'가 'principal.location.city'에 매핑되었습니다.
  • 'ClientCountryOrRegion'이 'principal.location.country_or_region'에 매핑되었습니다.
  • 'ClientIP'가 'principal.ip' 및 'principal.asset.ip'에 매핑되었습니다.
  • 'ClientStateOrProvince'가 'principal.location.state'에 매핑되었습니다.
  • 'ClientType'이 'principal.resource.attribute.labels'에 매핑되었습니다.
  • 'IKey'가 'target.resource.attribute.labels'에 매핑되었습니다.
  • '_BilledSize' 및 'DurationMs'가 'additional.fields'에 매핑되었습니다.
  • 'OperationId', 'SDKVersion', 'ItemCount'가 'properties.operationId'에 매핑되었습니다.
  • 'ParentId', 'Properties.WebtestLocationId', 'Properties.FullTestResultAvailable', 'Properties.SourceId', 'Properties._MS_altIds', 'Properties.WebtestArmResourceName', 'Properties.SyntheticMonitorId', 'Success'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'Message'가 'metadata.description'에 매핑되었습니다.
  • 'Id'가 'principal.resource.product_object_id'에 매핑되었습니다.
  • '이름'이 'principal.resource.name'에 매핑되었습니다.

2024-03-25

  • 'category'가 'ServicePrincipalSignInLogs', 'NonInteractiveUserSigninLogs' 또는 'ManagedIdentitySignInLogs'인 경우 'createdDateTime'이 'metadata.event_timestamp'에 매핑되었습니다.
  • 'properties.authenticationDetails.authenticationStepDateTime', 'properties.authenticationDetails.authenticationMethod', 'properties.authenticationDetails.authenticationStepResultDetail', 'properties.authenticationDetails.authenticationStepRequirement', 'properties.id', 'properties.resourceServicePrincipalId'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.authenticationDetails.succeeded'가 'security_result.action_details'에 매핑되었습니다.

2024-03-25

  • 'properties.requestbody.Properties.RoleDefinitionId'가 비어 있지 않으면 'security_result.detection_fields.key'를 'RequestBody roleDefinitionId'로 설정합니다.
  • 'properties.roleDefinitionId', 'properties.principalId', 'properties.responseBody.properties.roleDefinitionId', 'properties.requestbody.Properties.PrincipalId'가 'security_result.detection_fields'에 매핑되었습니다.

2024-03-13

  • 'properties.requestbody.properties.roleDefinitionId' 및 'properties.requestbody.properties.principalId'가 'security_result.detection_fields'에 매핑되었습니다.

2024-03-05

  • 'resultType'이 'security_result.action_details'에 매핑되었습니다.
  • 'properties.requestbody.Properties.PrincipalId'가 'principal.user.userid'에 매핑되었습니다.
  • 'resultType'이 비어 있지 않으면 'properties.status.failureReason'이 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.hardwareProfile.vmSize', 'properties.provisioningState', 'properties.requestbody.Properties.RoleDefinitionId'가 'security_result.detection_fields'에 매핑되었습니다.

2024-02-13

버그 수정:

  • 'identity.UserName'이 이메일인 경우 'principal.user.email_addresses'에 매핑하고 그 외의 경우에는 'principal.user.user_display_name'에 매핑합니다.

2024-02-12

  • 누락되는 JSON 로그에 대한 지원을 추가했습니다.
  • 'OperationNameValue'가 'metadata.product_event_type'에 매핑되었습니다.
  • 'properties.eventDataId', 'properties.subscriptionId', 'properties.resourceGroup', 'properties.resourceProviderValue'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'Caller'가 'principal.user.userid'에 매핑되었습니다.
  • 'ActivityStatusValue'가 'security_result.action'에 매핑되었습니다.

2024-02-01

  • 버그 수정:
  • 'category' 필드에 'NonInteractiveUserSignInLogs' 값이 있거나 'OperationName'이 'Sign-in activity'인 경우 'metadata.event_type'이 'USER_LOGOUT'에서 'USER_LOGIN'으로 변경됩니다.
  • 'properties.incomingTokenType' 및 'properties.deviceDetail.browser'가 'additional.fields'에 매핑되었습니다.
  • 'properties.userAgent'가 'network.http.user_agent'에 매핑되었습니다.
  • 'properties.userAgent' 값이 없는 경우 'properties.deviceDetail.browser'만 'network.http.user_agent'에 매핑했습니다.
  • 파싱된 'user_agent_field'가 'network.http.parsed_user_agent'에 매핑되었습니다.
  • 'properties.eventProperties.clientIPAddress' 및 'callerIpAddress'가 'principal.asset.ip'에 매핑되었습니다.
  • 'hostname', 'rscname', 'properties.eventProperties.compromisedHost'가 'principal.asset.hostname'에 매핑되었습니다.

2024-01-07

  • 버그 수정:
  • 'callerIpAddress'를 IP 주소로 확인하는 Grok 패턴을 추가했습니다.
  • 'properties.accountName'이 'principal.user.userid'에 매핑되었습니다.
  • 'uri'가 'network.http.refferal_url'에 매핑되었습니다.
  • 'properties.userAgentHeader'가 'network.http.user_agent'에 매핑되었습니다.
  • 'properties.tlsVersion'이 'network.tls.version'에 매핑되었습니다.
  • 'statusCode'가 'network.http.response_code'에 매핑되었습니다.
  • 'protocol'이 'network.application_protocol'에 매핑되었습니다.
  • 'properties.clientRequestId', 'properties.etag', 'properties.objectKey', 'properties.responseMd5', 'resourceType'이 'additional.fields'에 매핑되었습니다.

2023-10-09

  • 파싱되지 않은 로그를 파싱하는 지원을 추가했습니다.
  • 다음 필드의 이름을 변경했습니다.
  • 'OperationName'에서 'operationName'으로 변경되었습니다.
  • 'CorrelationId'에서 'correlationId'로 변경됨
  • '카테고리'에서 '카테고리'로 변경됨
  • 'ResourceId'에서 'resourceId'로 변경됨
  • 'ResultType'에서 'resultType'으로 변경되었습니다.
  • 'ProviderName', 'ProviderGuid'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'ResultDescription'이 'metadata.description'에 매핑되었습니다.

2023-09-13

개선 -

  • 'properties.eventCategory'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'opproperties.operationIderationName'이 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.eventName'이 'security_result.summary'에 매핑되었습니다.
  • 'properties.EventName'이 'security_result.summary'에 매핑되었습니다.
  • 'properties.legacyResourceType'이 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.CallerCredentialType'이 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.EventChannel'이 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.EventSource'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.legacyResourceId'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.eventProperties.User'가 'principal.user.id' 및 'principal.user.email_addresses'에 매핑되었습니다.
  • 'properties.Caller'가 'principal.user.id' 및 'principal.user.email_addresses'에 매핑되었습니다.
  • 'caller'가 'principal.user.id' 및 'principal.user.email_addresses'에 매핑되었습니다.
  • 'properties.IpAddress'가 'principal.ip'에 매핑되었습니다.
  • 'properties.Description_scrubbed'가 'security_result.description'에 매핑되었습니다.

2023-02-22

개선 -

  • 'tenantId'가 'metadata.product_deployment_id'에 매핑되었습니다.
  • 'operationName'이 'metadata.product_event_type'에 매핑되었습니다.
  • 'category'가 'security_result.category_details'에 매핑되었습니다.
  • 'callerIpAddress'가 'principal.ip'에 매핑되었습니다.
  • 'identity'가 'target.resource.name'에 매핑되었습니다.
  • 'result'가 'security_result.action_details'에 매핑되었습니다.
  • 'properties.activityDisplayName'이 'security_result.summary'에 매핑되었습니다.
  • 'location'이 'principal.location.name'에 매핑되었습니다.
  • 'Level'이 'security_result.severity_details'에 매핑되었습니다.
  • 'properties.initiatedBy.app.displayName'이 'principal.application'에 매핑되었습니다.
  • 'properties.targetResources.displayName'이 'target.resource.name'에 매핑되었습니다.
  • 'properties.targetResources.id'가 'target.resource.product_object_id'에 매핑되었습니다.
  • 'properties.targetResources.modifiedProperties.displayName'이 'target.user.attribute.labels'에 매핑되었습니다.
  • 'properties.additionalDetails'가 'additional.fields'에 매핑되었습니다.
  • 'properties.loggedByService'가 'target.application'에 매핑되었습니다.
  • 'properties.userId'가 'target.user.product_object_id'에 매핑되었습니다.
  • 'properties.resourceDisplayName'이 'target.resource.name'에 매핑되었습니다.
  • 'properties.location.city'가 'principal.location.city'에 매핑되었습니다.
  • 'properties.location.state'가 'principal.location.state'에 매핑되었습니다.
  • 'properties.location.countryOrRegion'이 'principal.location.country_or_region'에 매핑되었습니다.
  • 'properties.ipAddress'가 'principal.ip'에 매핑되었습니다.
  • 'properties.location.geoCoordinates.latitude'가 'principal.location.region_latitude'에 매핑되었습니다.
  • 'properties.location.geoCoordinates.longitude'가 'principal.location.region_longitude'에 매핑되었습니다.
  • 'properties.servicePrincipalId'가 'principal.user.userid'에 매핑되었습니다.
  • 'properties.servicePrincipalName'이 'principal.user.user_display_name'에 매핑되었습니다.
  • 'properties.tokenIssuerType', 'properties.authenticationProcessingDetails.0.value', 'properties.operationType', 'properties.authenticationRequirement', 'properties.deviceDetail.trustType'이 'additional.fields'에 매핑되었습니다.
  • 'resultDescription'이 'metadata.description'에 매핑되었습니다.
  • 'properties.userDisplayName'이 'target.user.user_display_name'에 매핑되었습니다.
  • 'properties.appDisplayName'이 'target.application'에 매핑되었습니다.
  • 'properties.userType'이 'principal.user.attribute.roles'에 매핑되었습니다.
  • 'properties.status.failureReason'이 'security_result.action_details'에 매핑되었습니다.
  • 'properties.deviceDetail.operatingSystem'이 'principal.platform_version'에 매핑되었습니다.
  • 'properties.deviceDetail.displayName'이 'principal.asset.hardware'에 매핑되었습니다.
  • 'properties.deviceDetail.browser'가 'network.http.user_agent'에 매핑되었습니다.
  • 'properties.userPrincipalName'이 'principal.user.email_addresses'에 매핑되었습니다.

2022-11-28

개선 -

  • 'correlationId' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'level' 필드가 'security_result.severity_details'에 매핑되었습니다.
  • 'ResourceHealth' 카테고리에 다음 매핑이 추가되었습니다.
  • 'properties.legacyEventDataId' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.legacyChannels' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.legacySubscriptionId' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.legacyResourceGroup' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.legacyResourceProviderName' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.eventProperties.currentHealthStatus' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.eventProperties.previousHealthStatus' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.eventProperties.type' 필드가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.eventProperties.cause' 필드가 'security_result.detection_fields'에 매핑되었습니다.

2022-09-26

개선사항 - 필드가 추가되었습니다.

  • 'tenantId'가 'metadata.product_deployment_id'에 매핑되었습니다.

2022-06-20

개선 -

  • 'entity_properties'에 대한 조건부 검사를 추가했습니다.
  • 'category'가 'Security'와(와) 일치하는 경우
  • 'properties.eventProperties.clientIPAddress'가 'principal.ip'에 매핑되었습니다.
  • 'properties.eventProperties.accountSessionId'가 'network.session_id'에 매핑되었습니다.
  • 'properties.eventProperties.suspiciousProcess'가 'target.process.file.full_path'에 매핑되었습니다.
  • 'properties.eventProperties.suspiciousCommandLine'가 'target.process.command_line'에 매핑되었습니다.
  • 'properties.eventProperties.suspiciousProcessId'가 'target.process.pid'에 매핑되었습니다.
  • 'properties.eventProperties.compromisedHost'가 'principal.hostname'에 매핑되었습니다.
  • 'resultDescription'이 'metadata.description'에 매핑되었습니다.
  • 'properties.legacySubscriptionId'가 'security_result.detection_fields'에 매핑되었습니다.
  • 'properties.legacyResourceProviderName'이 'security_result.detection_fields'에 매핑되었습니다.

2022-05-19

개선사항 - 여러 필드가 추가되고 수정되었습니다.

  • claims, Identity, aud, tenantid, principalId, action, appidacr, iat, exp, nbf, rh, uti, ver, xms_tcdt, principalType, roleAssignmentId, appid, aio, iss, nameidentifier, roleDefinitionId, scope가 security_result.detection_fields에 매핑됨
  • resultSignature, resultType, hierarchy, resource_type, entity가 additional.fields에 매핑되었습니다.
  • RoleLocation이 location.name에 매핑됩니다.
  • category가 security_result.category_details에 매핑되었습니다.