Microsoft Azure 활동 로그 수집
다음에서 지원:
Google secops
Siem
이 문서에서는 Microsoft Azure 활동 로그(AZURE_ACTIVITY
)를 Google Security Operations에 수집하는 데 필요한 단계를 설명합니다.
스토리지 계정 구성
스토리지 계정을 구성하려면 다음 단계를 완료합니다.
- Azure Console에서 스토리지 계정을 검색합니다.
- 만들기를 클릭합니다.
- 계정에 필요한 구독, 리소스 그룹, 리전, 성능(Standard 권장), 중복성(GRS 또는 LRS 권장)을 선택하고, 새 스토리지 계정의 이름을 입력합니다.
- 검토 + 만들기를 클릭하고 계정 개요를 검토하고 만들기를 클릭합니다.
- 스토리지 계정 개요 페이지의 창 왼쪽 탐색에서 액세스 키를 선택합니다.
- 키 표시를 클릭하고 스토리지 계정의 공유 키를 기록해 둡니다.
- 창 왼쪽 탐색에서 엔드포인트를 선택합니다.
- Blob 서비스 엔드포인트를 기록해 둡니다. (https://<storageaccountname>.blob.core.windows.net/)
Azure 활동 로깅 구성
Azure 활동 로깅을 구성하려면 다음 단계를 완료합니다.
- Azure Console에서 Monitor를 검색합니다.
- 페이지 왼쪽 탐색에서 활동 로그 링크를 클릭합니다.
- 창 상단에서 활동 로그 내보내기를 클릭합니다.
- 진단 설정 추가를 클릭합니다.
- Google SecOps로 내보내려는 모든 카테고리를 선택합니다.
- 대상 세부정보에서 스토리지 계정에 아카이브를 선택합니다.
- 이전 단계에서 만든 구독 및 스토리지 계정을 선택합니다.
- 저장을 클릭합니다.
Google SecOps 플랫폼에서 피드를 설정하는 두 가지 진입점이 있습니다.
- SIEM 설정 > 피드
- 콘텐츠 허브 > 콘텐츠 팩
SIEM 설정 > 피드에서 피드 설정
피드를 구성하려면 다음 단계를 따르세요.
- SIEM 설정 > 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- 다음 페이지에서 단일 피드 구성을 클릭합니다.
- 필드 이름의 고유한 이름을 입력합니다.
- 소스 유형으로 Microsoft Azure Blob Storage를 선택합니다.
- 로그 유형으로 Microsoft Azure Activity를 선택합니다.
- 다음을 클릭합니다.
- 다음 필수 입력 매개변수를 구성합니다.
- Azure URI: 앞에서 기록한 Blob 서비스 엔드포인트 값을 insights-activity-logs를 서픽스로 추가하여 입력합니다 (예: https://acme-azure-chronicle.blob.core.windows.net/insights-activity-logs).
- URI: 하위 디렉터리가 포함된 디렉터리를 선택합니다.
- 소스 삭제 옵션: 전송 후 파일 및 디렉터리를 삭제할지 여부를 지정합니다.
- 공유 키: 앞에서 캡처한 공유 키 값을 입력합니다.
- 다음을 클릭한 후 제출을 클릭합니다.
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에 매핑되었습니다.