Microsoft Azure AD 로그 수집
이 문서에서는 Google Security Operations 피드를 설정하여 Microsoft Azure Active Directory (AD) 로그를 수집하는 방법을 설명합니다.
Azure Active Directory (AZURE_AD
)의 이름이 Microsoft Entra ID로 변경되었습니다. Azure AD 감사 로그(AZURE_AD_AUDIT
)가 이제 Microsoft Entra ID 감사 로그로 변경되었습니다.
자세한 내용은 Google Security Operations에 데이터 수집을 참조하세요.
수집 라벨은 원시 로그 데이터를 구조화된 UDM 형식으로 정규화하는 파서를 식별합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- 로그인할 수 있는 Azure 구독
- 전역 관리자 또는 Azure AD 관리자 역할
- Azure의 Azure AD (테넌트)
Azure AD 구성 방법
- Azure 포털에 로그인합니다.
- 홈 > 앱 등록으로 이동하여 등록된 애플리케이션을 선택하거나 아직 애플리케이션을 만들지 않은 경우 애플리케이션을 등록합니다.
- 애플리케이션을 등록하려면 앱 등록 섹션에서 새 등록을 클릭합니다.
- 이름 필드에 애플리케이션의 표시 이름을 입력합니다.
- 지원되는 계정 유형 섹션에서 애플리케이션을 사용하거나 API에 액세스할 수 있는 사용자를 지정하는 데 필요한 옵션을 선택합니다.
- 등록을 클릭합니다.
- 개요 페이지로 이동하여 Google Security Operations 피드를 구성하는 데 필요한 애플리케이션 (클라이언트) ID와 디렉터리(테넌트) ID를 복사합니다.
- API 권한을 클릭합니다.
- 권한 추가를 클릭한 다음 새 창에서 Microsoft Graph를 선택합니다.
- 애플리케이션 권한을 클릭합니다.
- AuditLog.Read.All, Directory.Read.All, SecurityEvents.Read.All 권한을 선택합니다. 권한이 위임된 권한이 아닌 애플리케이션 권한인지 확인합니다.
- 기본 디렉터리에 대한 관리자 동의 부여를 클릭합니다. 동의 프로세스의 일환으로 사용자 또는 관리자가 권한을 부여하면 애플리케이션이 API를 호출할 수 있습니다.
- 설정 > 관리로 이동합니다.
- 인증서 및 보안 비밀을 클릭합니다.
- '새 클라이언트 암호'를 클릭합니다. 값 필드에 클라이언트 보안 비밀이 표시됩니다.
- 클라이언트 보안 비밀번호 값을 복사합니다. 이 값은 생성 시에만 표시되며 Azure 앱 등록 및 Google Security Operations 피드 구성에 필요합니다.
피드 설정
Google SecOps 플랫폼에서 피드를 설정하는 방법은 두 가지입니다.
- SIEM 설정 > 피드
- 콘텐츠 허브 > 콘텐츠 팩
SIEM 설정 > 피드에서 피드 설정
이 제품군 내에서 다양한 로그 유형에 대해 여러 피드를 구성하려면 제품별 피드 구성을 참고하세요.
단일 피드를 구성하려면 다음 단계를 따르세요.
- SIEM 설정> 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- 다음 페이지에서 단일 피드 구성을 클릭합니다. Google SecOps SIEM 독립형 플랫폼을 사용하는 경우 이 단계를 건너뛰세요.
- 피드 이름 필드에 피드 이름을 입력합니다(예: Azure AD 로그).
- 소스 유형으로 서드 파티 API를 선택합니다.
- 로그 유형으로 Azure AD를 선택합니다.
- 다음을 클릭합니다.
- 다음 필수 입력 매개변수를 구성합니다.
- OAuth 클라이언트 ID: 이전에 가져온 클라이언트 ID를 지정합니다.
- OAUTH 클라이언트 보안 비밀번호: 이전에 가져온 클라이언트 보안 비밀번호를 지정합니다.
- 테넌트 ID: 이전에 가져온 테넌트 ID를 지정합니다.
- 다음을 클릭한 후 제출을 클릭합니다.
Google Security Operations 피드에 대한 자세한 내용은 Google Security Operations 피드 문서를 참조하세요. 각 피드 유형의 요구사항은 유형별 피드 구성을 참조하세요. 피드를 만들 때 문제가 발생하면 Google Security Operations 지원팀에 문의하세요.
콘텐츠 허브에서 피드 설정하기
다음 필드의 값을 지정합니다.
- OAuth 클라이언트 ID: 이전에 가져온 클라이언트 ID를 지정합니다.
- OAUTH 클라이언트 보안 비밀번호: 이전에 가져온 클라이언트 보안 비밀번호를 지정합니다.
- 테넌트 ID: 이전에 가져온 테넌트 ID를 지정합니다.
고급 옵션
- 피드 이름: 피드를 식별하는 미리 채워진 값입니다.
- 소스 유형: Google SecOps로 로그를 수집하는 데 사용되는 방법입니다.
- 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
- 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.
필드 매핑 참조
이 파서 코드는 JSON 형식의 원시 Azure AD 로그를 통합 데이터 모델 (UDM)로 변환합니다. 먼저 불필요한 필드를 삭제하여 데이터를 정규화한 다음 사용자 세부정보, 타임스탬프, 이벤트 세부정보와 같은 관련 정보를 추출하여 일관된 표현과 분석을 위해 해당 UDM 필드에 매핑합니다.
UDM 매핑 테이블
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
activityDateTime | read_only_udm.metadata.event_timestamp.seconds | 값은 activityDateTime 필드에서 추출되어 에포크 이후의 초로 변환됩니다. |
activityDisplayName | read_only_udm.security_result.summary | 값은 activityDisplayName 필드에서 직접 매핑됩니다. |
additionalDetails.0.value | read_only_udm.network.http.user_agent | 값은 additionalDetails.0.value 필드에서 직접 매핑됩니다. |
additionalDetails.1.key | read_only_udm.target.resource.attribute.labels.key | 값은 additionalDetails.1.key 필드에서 직접 매핑됩니다. |
additionalDetails.1.value | read_only_udm.target.resource.attribute.labels.value | 값은 additionalDetails.1.value 필드에서 직접 매핑됩니다. |
am_category | read_only_udm.metadata.description | 값은 am_category 필드에서 직접 매핑됩니다. |
am_tenantId | read_only_udm.metadata.product_deployment_id | 값은 am_tenantId 필드에서 직접 매핑됩니다. |
appDisplayName | read_only_udm.target.application | 값은 appDisplayName 필드에서 직접 매핑됩니다. appDisplayName 가 비어 있으면 resourceDisplayName 에서 값을 가져옵니다. |
appId | read_only_udm.target.resource.attribute.labels.value | 값은 appId 필드에서 직접 매핑됩니다. |
appliedConditionalAccessPolicies.displayName | read_only_udm.about.user.user_display_name | 값은 appliedConditionalAccessPolicies.displayName 필드에서 직접 매핑됩니다. |
appliedConditionalAccessPolicies.enforcedGrantControls | read_only_udm.security_result.rule_labels.value | 값은 appliedConditionalAccessPolicies.enforcedGrantControls 필드에서 직접 매핑됩니다. |
appliedConditionalAccessPolicies.enforcedSessionControls | read_only_udm.security_result.rule_labels.value | 값은 appliedConditionalAccessPolicies.enforcedSessionControls 필드에서 직접 매핑됩니다. |
appliedConditionalAccessPolicies.id | read_only_udm.about.user.userid | 값은 appliedConditionalAccessPolicies.id 필드에서 직접 매핑됩니다. |
appliedConditionalAccessPolicies.result | read_only_udm.about.labels.value | 값은 appliedConditionalAccessPolicies.result 필드에서 직접 매핑됩니다. |
authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | 값은 authenticationDetails.authenticationMethod 필드에서 직접 매핑됩니다. |
authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | 값은 authenticationDetails.authenticationMethodDetail 필드에서 직접 매핑됩니다. |
authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | 값은 authenticationDetails.authenticationStepDateTime 필드에서 직접 매핑됩니다. |
authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | 값은 authenticationDetails.authenticationStepRequirement 필드에서 직접 매핑됩니다. |
authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | 값은 authenticationDetails.authenticationStepResultDetail 필드에서 직접 매핑됩니다. |
authenticationProcessingDetails.key | read_only_udm.additional.fields.key | 이 값은 authenticationProcessingDetails.key 필드에서 직접 매핑되며, 앞에 'authenticationProcessingDetails - '가 붙습니다. |
authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | 값은 authenticationProcessingDetails.value 필드에서 직접 매핑됩니다. |
callerIpAddress | read_only_udm.principal.ip | 값은 callerIpAddress 필드에서 직접 매핑됩니다. |
callerIpAddress | read_only_udm.principal.asset.ip | 값은 callerIpAddress 필드에서 직접 매핑됩니다. |
카테고리 | read_only_udm.metadata.description | 값은 category 필드에서 직접 매핑됩니다. |
clientAppUsed | read_only_udm.principal.application | 값은 clientAppUsed 필드에서 직접 매핑됩니다. |
conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | 값은 conditionalAccessStatus 필드에서 직접 매핑됩니다. |
correlationId | read_only_udm.network.session_id | 값은 correlationId 필드에서 직접 매핑됩니다. |
correlationId | read_only_udm.security_result.detection_fields.value | 값은 correlationId 필드에서 직접 매핑됩니다. |
createdDateTime | read_only_udm.metadata.event_timestamp.seconds | 값은 createdDateTime 필드에서 추출되어 에포크 이후의 초로 변환됩니다. |
deviceDetail.browser | read_only_udm.network.http.user_agent | 값은 deviceDetail.browser 필드에서 직접 매핑됩니다. |
deviceDetail.deviceId | read_only_udm.principal.asset.asset_id | 값은 deviceDetail.deviceId 필드에서 직접 매핑되며 'Device ID:'가 앞에 붙습니다. |
deviceDetail.deviceId | read_only_udm.principal.asset_id | 값은 deviceDetail.deviceId 필드에서 직접 매핑되며 'Device ID:'가 앞에 붙습니다. |
deviceDetail.displayName | read_only_udm.principal.asset.hostname | 값은 deviceDetail.displayName 필드에서 직접 매핑됩니다. |
deviceDetail.isCompliant | read_only_udm.principal.asset.attribute.labels.value | 값은 deviceDetail.isCompliant 필드에서 직접 매핑됩니다. |
deviceDetail.isManaged | read_only_udm.principal.asset.attribute.labels.value | 값은 deviceDetail.isManaged 필드에서 직접 매핑됩니다. |
deviceDetail.operatingSystem | read_only_udm.principal.platform_version | 값은 deviceDetail.operatingSystem 필드에서 직접 매핑됩니다. |
deviceDetail.trustType | read_only_udm.principal.asset.attribute.labels.value | 값은 deviceDetail.trustType 필드에서 직접 매핑됩니다. |
durationMs | read_only_udm.additional.fields.value.string_value | 값은 durationMs 필드에서 직접 매핑됩니다. |
errorCode | read_only_udm.security_result.rule_id | 값은 errorCode 필드에서 직접 매핑됩니다. |
ID | read_only_udm.target.user.user_display_name | userId 과 다르고 이메일 주소 패턴과 일치하지 않는 경우 값이 identity 필드에서 직접 매핑됩니다. |
initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | 값은 initiatedBy.user.displayName 필드에서 직접 매핑됩니다. |
initiatedBy.user.id | read_only_udm.principal.user.userid | 값은 initiatedBy.user.id 필드에서 직접 매핑됩니다. |
initiatedBy.user.ipAddress | read_only_udm.principal.ip | 값은 initiatedBy.user.ipAddress 필드에서 직접 매핑됩니다. |
initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | 값은 initiatedBy.user.ipAddress 필드에서 직접 매핑됩니다. |
initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | 이메일 주소 패턴과 일치하는 경우 값이 initiatedBy.user.userPrincipalName 필드에서 직접 매핑됩니다. |
ipAddress | read_only_udm.principal.ip | 값은 grok 패턴을 사용하여 ipAddress 필드에서 추출되어 IP 주소를 추출합니다. |
ipAddress | read_only_udm.principal.asset.ip | 값은 grok 패턴을 사용하여 ipAddress 필드에서 추출되어 IP 주소를 추출합니다. |
isInteractive | read_only_udm.extensions.auth.mechanism | isInteractive 이 'true'이면 값이 'INTERACTIVE'에 매핑되고, 그렇지 않으면 'MECHANISM_OTHER'에 매핑됩니다. |
isInteractive | read_only_udm.security_result.detection_fields.value | 값은 isInteractive 필드에서 직접 매핑됩니다. |
레벨 | read_only_udm.security_result.severity | 값은 다음 논리에 따라 level 필드에서 매핑됩니다. * 'Information', 'Informational', '0', '4'는 'INFORMATIONAL'에 매핑됩니다. * 'Warning', '1', '3'은 'MEDIUM'에 매핑됩니다. * 'Error', '2'는 'ERROR'에 매핑됩니다. * 'Critical', 'CRITICAL', 'critical'은 'CRITICAL'에 매핑됩니다. |
레벨 | read_only_udm.security_result.severity_details | 값은 level 필드에서 직접 매핑됩니다. |
location.city | read_only_udm.principal.location.city | 값은 location.city 필드에서 직접 매핑됩니다. |
location.countryOrRegion | read_only_udm.principal.location.country_or_region | 값은 location.countryOrRegion 필드에서 직접 매핑됩니다. |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | 값은 location.geoCoordinates.latitude 필드에서 직접 매핑되고 float로 변환됩니다. |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | 값은 location.geoCoordinates.latitude 필드에서 직접 매핑되고 float로 변환됩니다. |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | 값은 location.geoCoordinates.longitude 필드에서 직접 매핑되고 float로 변환됩니다. |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | 값은 location.geoCoordinates.longitude 필드에서 직접 매핑되고 float로 변환됩니다. |
location.state | read_only_udm.principal.location.state | 값은 location.state 필드에서 직접 매핑됩니다. |
networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | 이 값은 networkLocationDetails.networkNames 배열의 모든 값을 쉼표로 구분하여 연결하여 생성됩니다. |
networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | 값은 networkLocationDetails.networkType 필드에서 직접 매핑됩니다. |
networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | 값은 networkLocationDetails.networkType 필드에서 직접 매핑됩니다. |
operationName | read_only_udm.metadata.event_type | operationName 이 '로그인 활동'이면 값은 'USER_LOGIN'에 매핑되고, operationName 이 '그룹에 구성원 추가'이면 'USER_CHANGE_PERMISSIONS'에 매핑되고, operationName 이 '서비스 주 구성원에 앱 역할 할당 추가'이면 'USER_RESOURCE_UPDATE_PERMISSIONS'에 매핑됩니다. 그렇지 않으면 다른 필드의 존재 여부에 따라 값이 결정됩니다. * has_target_user 가 'true'인 경우 'USER_LOGIN' * has_principal_user 이 'true'인 경우 'USER_UNCATEGORIZED' * has_principal 이 'true'인 경우 'STATUS_UPDATE' * 그렇지 않으면 'GENERIC_EVENT' |
operationType | read_only_udm.security_result.action_details | 값은 operationType 필드에서 직접 매핑됩니다. |
properties.activity | read_only_udm.security_result.summary | 값은 properties.activity 필드에서 직접 매핑됩니다. |
properties.activityDateTime | read_only_udm.metadata.event_timestamp.seconds | 값은 properties.activityDateTime 필드에서 추출되어 에포크 이후의 초로 변환됩니다. |
properties.additionalInfo | read_only_udm.network.http.user_agent | 값은 JSON 문자열을 파싱하고 'userAgent' 키에 해당하는 값을 추출하여 properties.additionalInfo 필드에서 추출됩니다. |
properties.additionalInfo | read_only_udm.target.url | 값은 JSON 문자열을 파싱하고 'alertUrl' 키에 해당하는 값을 추출하여 properties.additionalInfo 필드에서 추출됩니다. |
properties.appId | read_only_udm.target.resource.attribute.labels.value | 값은 properties.appId 필드에서 직접 매핑됩니다. |
properties.appDisplayName | read_only_udm.target.application | 값은 properties.appDisplayName 필드에서 직접 매핑됩니다. |
properties.appliedConditionalAccessPolicies.displayName | read_only_udm.security_result.rule_name | 값은 properties.appliedConditionalAccessPolicies.displayName 필드에서 직접 매핑됩니다. |
properties.appliedConditionalAccessPolicies.id | read_only_udm.security_result.rule_id | 값은 properties.appliedConditionalAccessPolicies.id 필드에서 직접 매핑됩니다. |
properties.appliedConditionalAccessPolicies.result | read_only_udm.security_result.detection_fields.value | 값은 properties.appliedConditionalAccessPolicies.result 필드에서 직접 매핑됩니다. |
properties.authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | 값은 properties.authenticationDetails.authenticationMethod 필드에서 직접 매핑됩니다. |
properties.authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | 값은 properties.authenticationDetails.authenticationMethodDetail 필드에서 직접 매핑됩니다. |
properties.authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | 값은 properties.authenticationDetails.authenticationStepDateTime 필드에서 직접 매핑됩니다. |
properties.authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | 값은 properties.authenticationDetails.authenticationStepRequirement 필드에서 직접 매핑됩니다. |
properties.authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | 값은 properties.authenticationDetails.authenticationStepResultDetail 필드에서 직접 매핑됩니다. |
properties.authenticationProcessingDetails.key | read_only_udm.additional.fields.key | 값은 properties.authenticationProcessingDetails.key 필드에서 직접 매핑되며, 앞에 'properties authenticationProcessingDetails - '가 붙습니다. |
properties.authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | 값은 properties.authenticationProcessingDetails.value 필드에서 직접 매핑됩니다. |
properties.authenticationRequirement | read_only_udm.additional.fields.value.string_value | 값은 properties.authenticationRequirement 필드에서 직접 매핑됩니다. |
properties.authenticationRequirementPolicies.detail | read_only_udm.security_result.detection_fields.value | 값은 properties.authenticationRequirementPolicies.detail 필드에서 직접 매핑됩니다. |
properties.authenticationRequirementPolicies.requirementProvider | read_only_udm.security_result.detection_fields.value | 값은 properties.authenticationRequirementPolicies.requirementProvider 필드에서 직접 매핑됩니다. |
properties.clientAppUsed | read_only_udm.principal.application | 값은 properties.clientAppUsed 필드에서 직접 매핑됩니다. |
properties.conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | 값은 properties.conditionalAccessStatus 필드에서 직접 매핑됩니다. |
properties.createdDateTime | read_only_udm.metadata.event_timestamp.seconds | 값은 properties.createdDateTime 필드에서 추출되어 에포크 이후의 초로 변환됩니다. |
properties.crossTenantAccessType | read_only_udm.additional.fields.value.string_value | 값은 properties.crossTenantAccessType 필드에서 직접 매핑됩니다. |
properties.detectedDateTime | read_only_udm.additional.fields.value.string_value | 값은 properties.detectedDateTime 필드에서 직접 매핑됩니다. |
properties.detectionTimingType | read_only_udm.additional.fields.value.string_value | 값은 properties.detectionTimingType 필드에서 직접 매핑됩니다. |
properties.homeTenantId | read_only_udm.additional.fields.value.string_value | 값은 properties.homeTenantId 필드에서 직접 매핑됩니다. |
properties.id | read_only_udm.metadata.product_log_id | 값은 properties.id 필드에서 직접 매핑됩니다. |
properties.initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | 값은 properties.initiatedBy.user.displayName 필드에서 직접 매핑됩니다. |
properties.initiatedBy.user.id | read_only_udm.principal.user.windows_sid | 값은 properties.initiatedBy.user.id 필드에서 직접 매핑됩니다. |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.ip | 값은 properties.initiatedBy.user.ipAddress 필드에서 직접 매핑됩니다. |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | 값은 properties.initiatedBy.user.ipAddress 필드에서 직접 매핑됩니다. |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.userid | 이메일 주소 패턴과 일치하지 않으면 값이 properties.initiatedBy.user.userPrincipalName 필드에서 직접 매핑됩니다. |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | 이메일 주소 패턴과 일치하는 경우 값이 properties.initiatedBy.user.userPrincipalName 필드에서 직접 매핑됩니다. |
properties.ipAddress | read_only_udm.principal.ip | 값은 grok 패턴을 사용하여 properties.ipAddress 필드에서 추출되어 IP 주소를 추출합니다. |
properties.ipAddress | read_only_udm.principal.asset.ip | 값은 grok 패턴을 사용하여 properties.ipAddress 필드에서 추출되어 IP 주소를 추출합니다. |
properties.isGuest | read_only_udm.additional.fields.value.string_value | 값은 properties.isGuest 필드에서 직접 매핑됩니다. |
properties.isDeleted | read_only_udm.additional.fields.value.string_value | 값은 properties.isDeleted 필드에서 직접 매핑됩니다. |
properties.isProcessing | read_only_udm.additional.fields.value.string_value | 값은 properties.isProcessing 필드에서 직접 매핑됩니다. |
properties.lastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | 값은 properties.lastUpdatedDateTime 필드에서 직접 매핑됩니다. |
properties.location.city | read_only_udm.principal.location.city | 값은 properties.location.city 필드에서 직접 매핑됩니다. |
properties.location.countryOrRegion | read_only_udm.principal.location.country_or_region | 값은 properties.location.countryOrRegion 필드에서 직접 매핑됩니다. |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | 값은 properties.location.geoCoordinates.latitude 필드에서 직접 매핑되고 float로 변환됩니다. |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | 값은 properties.location.geoCoordinates.latitude 필드에서 직접 매핑되고 float로 변환됩니다. |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | 값은 properties.location.geoCoordinates.longitude 필드에서 직접 매핑되고 float로 변환됩니다. |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | 값은 properties.location.geoCoordinates.longitude 필드에서 직접 매핑되고 float로 변환됩니다. |
properties.location.state | read_only_udm.principal.location.state | 값은 properties.location.state 필드에서 직접 매핑됩니다. |
properties.networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | 이 값은 properties.networkLocationDetails.networkNames 배열의 모든 값을 쉼표로 구분하여 연결하여 생성됩니다. |
properties.networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | 값은 properties.networkLocationDetails.networkType 필드에서 직접 매핑됩니다. |
properties.networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | 값은 properties.networkLocationDetails.networkType 필드에서 직접 매핑됩니다. |
properties.resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | 값은 properties.resourceServicePrincipalId 필드에서 직접 매핑됩니다. |
properties.riskDetail | read_only_udm.additional.fields.value.string_value | 값은 properties.riskDetail 필드에서 직접 매핑됩니다. |
properties.riskEventType | read_only_udm.additional.fields.value.string_value | 값은 properties.riskEventType 필드에서 직접 매핑됩니다. |
properties.riskLastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | 값은 properties.riskLastUpdatedDateTime 필드에서 직접 매핑됩니다. |
properties.riskLevel | read_only_udm.additional.fields.value.string_value | 값은 properties.riskLevel 필드에서 직접 매핑됩니다. |
properties.riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | 값은 properties.riskLevelDuringSignIn 필드에서 직접 매핑됩니다. |
properties.riskState | read_only_udm.additional.fields.value.string_value | 값은 properties.riskState 필드에서 직접 매핑됩니다. |
properties.riskType | read_only_udm.additional.fields.value.string_value | 값은 properties.riskType 필드에서 직접 매핑됩니다. |
properties.source | read_only_udm.additional.fields.value.string_value | 값은 properties.source 필드에서 직접 매핑됩니다. |
properties.targetResources.0.id | read_only_udm.target.user.product_object_id | 값은 properties.targetResources.0.id 필드에서 직접 매핑됩니다. |
properties.targetResources.modifiedProperties.0.newValue | read_only_udm.target.group.product_object_id | 값은 properties.targetResources.modifiedProperties.0.newValue 필드에서 직접 매핑됩니다. |
properties.tokenIssuerType | read_only_udm.additional.fields.value.string_value | 값은 properties.tokenIssuerType 필드에서 직접 매핑됩니다. |
properties.userAgent | read_only_udm.network.http.parsed_user_agent | 값은 properties.userAgent 필드에서 직접 매핑되고 파싱된 사용자 에이전트 객체로 변환됩니다. |
properties.userAgent | read_only_udm.network.http.user_agent | 값은 properties.userAgent 필드에서 직접 매핑됩니다. |
properties.userId | read_only_udm.target.user.product_object_id | 값은 properties.userId 필드에서 직접 매핑됩니다. |
properties.userPrincipalName | read_only_udm.target.user.userid | 이메일 주소 패턴과 일치하지 않으면 값이 properties.userPrincipalName 필드에서 직접 매핑됩니다. |
properties.userPrincipalName | read_only_udm.target.user.email_addresses | 이메일 주소 패턴과 일치하는 경우 값이 properties.userPrincipalName 필드에서 직접 매핑됩니다. |
결과 | read_only_udm.security_result.action | result 이 'success'인 경우 값은 'ALLOW'에 매핑됩니다. |
결과 | read_only_udm.security_result.action_details | result 이 'success'인 경우 값은 result 필드에서 직접 매핑됩니다. |
resultDescription | read_only_udm.security_result.description | 값은 resultDescription 필드에서 직접 매핑됩니다. |
resultSignature | read_only_udm.additional.fields.value.string_value | 값은 resultSignature 필드에서 직접 매핑됩니다. |
resultType | read_only_udm.security_result.action | resultType 이 '0'이면 값이 'ALLOW'에 매핑됩니다. |
resultType | read_only_udm.security_result.rule_id | 값이 비어 있지 않고 '0'이 아닌 경우 resultType 필드에서 직접 매핑됩니다. |
resultType | read_only_udm.security_result.summary | resultType 이 '0'이면 값은 '로그인 성공'에 매핑되고, 그렇지 않으면 '로그인 실패'에 매핑됩니다. |
resourceDisplayName | read_only_udm.target.application | 값은 resourceDisplayName 필드에서 직접 매핑됩니다. |
resourceDisplayName | read_only_udm.target.resource.name | 값은 resourceDisplayName 필드에서 직접 매핑됩니다. |
resourceId | read_only_udm.target.resource.id | 값은 resourceId 필드에서 직접 매핑됩니다. |
resourceId | read_only_udm.target.resource.product_object_id | 값은 resourceId 필드에서 직접 매핑됩니다. |
resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | 값은 resourceServicePrincipalId 필드에서 직접 매핑됩니다. |
riskDetail | read_only_udm.additional.fields.value.string_value | 값은 riskDetail 필드에서 직접 매핑됩니다. |
riskEventTypes | read_only_udm.additional.fields.value.string_value | 이 값은 riskEventTypes 배열에서 추출되어 additional.fields 배열의 문자열 값에 매핑됩니다. |
riskEventTypes | read_only_udm.additional.fields.value.list_value.values.string_value | 값은 riskEventTypes 배열의 각 요소에서 직접 매핑됩니다. |
riskEventTypes_v2 | read_only_udm.additional.fields.value.list_value.values.string_value | 값은 riskEventTypes_v2 배열의 각 요소에서 직접 매핑됩니다. |
riskLevelAggregated | read_only_udm.additional.fields.value.string_value | 값은 riskLevelAggregated 필드에서 직접 매핑됩니다. |
riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | 값은 riskLevelDuringSignIn 필드에서 직접 매핑됩니다. |
riskState | read_only_udm.additional.fields.value.string_value | 값은 riskState 필드에서 직접 매핑됩니다. |
status.additionalDetails | read_only_udm.security_result.description | 값은 status.additionalDetails 필드에서 직접 매핑됩니다. |
status.errorCode | read_only_udm.security_result.action | status.errorCode 이 '0'이면 값이 'ALLOW'에 매핑됩니다. |
status.errorCode | read_only_udm.security_result.rule_id | 값이 비어 있지 않으면 status.errorCode 필드에서 직접 매핑됩니다. |
status.errorCode | read_only_udm.security_result.summary | status.errorCode 이 '0'이면 값은 '로그인 성공'에 매핑되고, 그렇지 않으면 '로그인 실패'에 매핑됩니다. |
status.failureReason | read_only_udm.additional.fields.value.string_value | 값은 status.failureReason 필드에서 직접 매핑됩니다. |
targetResources.displayName | read_only_udm.target.resource.name | 값은 targetResources.displayName 필드에서 직접 매핑됩니다. |
targetResources.id | read_only_udm.target.resource.id | 값은 targetResources.id 필드에서 직접 매핑됩니다. |
targetResources.id | read_only_udm.target.resource.product_object_id | 값은 targetResources.id 필드에서 직접 매핑됩니다. |
targetResources.modifiedProperties.displayName | read_only_udm.target.resource.attribute.labels.key | 값은 targetResources.modifiedProperties.displayName 필드에서 직접 매핑됩니다. |
targetResources.modifiedProperties.newValue | read_only_udm.target.resource.attribute.labels.value | 이 값은 큰따옴표를 삭제한 후 targetResources.modifiedProperties.newValue 필드에서 직접 매핑됩니다. |
targetResources.modifiedProperties.oldValue | read_only_udm.target.resource.attribute.labels.value | 값은 targetResources.modifiedProperties.oldValue 필드에서 직접 매핑됩니다. |
targetResources.type | read_only_udm.target.resource.type | 값은 targetResources.type 필드에서 직접 매핑됩니다. |
targetResources.userPrincipalName | read_only_udm.target.user.user_display_name | 값은 targetResources.userPrincipalName 필드에서 직접 매핑됩니다. |
tenantId | read_only_udm.metadata.product_deployment_id | 값은 tenantId 필드에서 직접 매핑됩니다. |
시간 | read_only_udm.metadata.event_timestamp.seconds | 값은 time 필드에서 추출되어 에포크 이후의 초로 변환됩니다. |
userAgent | read_only_udm.network.http.parsed_user_agent | 값은 userAgent 필드에서 직접 매핑되고 파싱된 사용자 에이전트 객체로 변환됩니다. |
userAgent | read_only_udm.network.http.user_agent | 값은 userAgent 필드에서 직접 매핑됩니다. |
userDisplayName | read_only_udm.target.user.user_display_name | userId 과 다르고 이메일 주소 패턴과 일치하지 않는 경우 값이 userDisplayName 필드에서 직접 매핑됩니다. |
userPrincipalName | read_only_udm.principal.administrative_domain | 이메일 주소의 도메인 부분이 grok 패턴을 사용하여 userPrincipalName 필드에서 추출되고 principal.administrative_domain 필드에 매핑됩니다. |
userPrincipalName | read_only_udm.target.user.email_addresses | 이메일 주소 패턴과 일치하는 경우 값이 userPrincipalName 필드에서 직접 매핑됩니다. |
userPrincipalName | read_only_udm.target.user.userid | 이메일 주소 패턴과 일치하지 않으면 값이 userPrincipalName 필드에서 직접 매핑됩니다. |
userId | read_only_udm.target.user.product_object_id | 값은 userId 필드에서 직접 매핑됩니다. |
read_only_udm.metadata.log_type | AZURE_AD | 이 값은 파서에 하드코딩되어 있습니다. |
read_only_udm.metadata.vendor_name | Microsoft | 이 값은 파서에 하드코딩되어 있습니다. |
read_only_udm.metadata.product_name | Azure AD | 이 값은 파서에 하드코딩되어 있습니다. |
read_only_udm.extensions.auth.type | SSO | 이 값은 파서에 하드코딩되어 있습니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.