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 구성 방법

  1. Azure 포털에 로그인합니다.
  2. > 앱 등록으로 이동하여 등록된 애플리케이션을 선택하거나 아직 애플리케이션을 만들지 않은 경우 애플리케이션을 등록합니다.
  3. 애플리케이션을 등록하려면 앱 등록 섹션에서 새 등록을 클릭합니다.
  4. 이름 필드에 애플리케이션의 표시 이름을 입력합니다.
  5. 지원되는 계정 유형 섹션에서 이 조직 디렉터리의 계정만 (단일 테넌트)을 선택합니다.

    • 리디렉션 URI: 비워 둡니다 (서비스 주 구성원 인증에는 필요하지 않음).
  6. 등록을 클릭합니다.

  7. 개요 페이지로 이동하여 Google Security Operations 피드를 구성하는 데 필요한 애플리케이션 (클라이언트) ID와 디렉터리(테넌트) ID를 복사합니다.

  8. API 권한을 클릭합니다.

  9. 권한 추가를 클릭한 다음 새 창에서 Microsoft Graph를 선택합니다.

  10. 애플리케이션 권한을 클릭합니다.

  11. AuditLog.Read.All, Directory.Read.All, SecurityEvents.Read.All 권한을 선택합니다. 권한이 애플리케이션 권한이고 위임된 권한이 아닌지 확인합니다.

  12. 기본 디렉터리에 대한 관리자 동의 부여를 클릭합니다. 동의 프로세스의 일환으로 사용자 또는 관리자가 권한을 부여하면 애플리케이션이 API를 호출할 수 있습니다.

  13. 설정 > 관리로 이동합니다.

  14. 인증서 및 보안 비밀을 클릭합니다.

  15. '새 클라이언트 보안 비밀번호'를 클릭합니다. 필드에 클라이언트 보안 비밀이 표시됩니다.

  16. 클라이언트 보안 비밀번호 값을 복사합니다. 이 값은 생성 시에만 표시되며 Azure 앱 등록 및 Google Security Operations 피드를 구성하는 데 필요합니다.

피드 설정

Google SecOps 플랫폼에서 피드를 설정하는 방법은 두 가지입니다.

  • SIEM 설정 > 피드 > 새 피드 추가
  • 콘텐츠 허브 > 콘텐츠 팩 > 시작하기

Microsoft Entra ID (Azure AD) 피드를 설정하는 방법

  1. Azure 플랫폼 팩을 클릭합니다.
  2. Azure AD 로그 유형을 찾습니다.
  3. 다음 필드의 값을 지정합니다.

    • 소스 유형: 서드 파티 API (권장)
    • OAuth 클라이언트 ID: 이전에 가져온 클라이언트 ID를 지정합니다.
    • OAUTH 클라이언트 보안 비밀번호: 이전에 가져온 클라이언트 보안 비밀번호를 지정합니다.
    • 테넌트 ID: 이전에 가져온 테넌트 ID를 지정합니다.
    • API 전체 경로: Microsoft Graph REST API 엔드포인트 URL입니다.
    • API 인증 엔드포인트: Microsoft Active Directory 인증 엔드포인트입니다.

    고급 옵션

    • 피드 이름: 피드를 식별하는 미리 채워진 값입니다.
    • 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
    • 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.
  4. 피드 만들기를 클릭합니다.

이 제품군 내에서 다양한 로그 유형에 대해 여러 피드를 구성하는 방법에 관한 자세한 내용은 제품별 피드 구성을 참고하세요.

Google Security Operations 피드에 대한 자세한 내용은 Google Security Operations 피드 문서를 참조하세요. 각 피드 유형의 요구사항은 유형별 피드 구성을 참조하세요.

필드 매핑 참조

이 파서 코드는 JSON 형식의 원시 Azure AD 로그를 통합 데이터 모델 (UDM)로 변환합니다. 먼저 불필요한 필드를 삭제하여 데이터를 정규화한 다음 사용자 세부정보, 타임스탬프, 이벤트 세부정보와 같은 관련 정보를 추출하여 일관된 표현과 분석을 위해 해당 UDM 필드에 매핑합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 비고
about about
accountEnabled user.user_authentication_status
user.attribute.labels.value (키: accountEnabled)
accountEnabledtrue이면 user.user_authentication_statusACTIVE로 설정되고 키가 accountEnabled이고 값이 true인 라벨이 추가됩니다. 그렇지 않으면 accountEnabled 키와 false 값이 있는 라벨이 추가됩니다.
additionalDetails additional.fields
appOwnerTenantId target.resource.attribute.labels
authenticationAppDeviceDetails additional.fields
authenticationContextClassReference security_result.detection_fields
autonomousSystemNumber principal.resource.attribute.labels
browser network.http.user_agent
browser network.http.user_agent
businessPhones user.phone_numbers 여러 전화번호가 추출되어 별도의 항목으로 매핑됩니다.
city user.personal_address.city
clientCredentialType additional.fields
companyName user.company_name
country user.personal_address.country_or_region country이 비어 있으면 usageLocation에서 값을 가져옵니다.
createdDateTime user.attribute.creation_time RFC 3339 형식을 사용하여 원시 로그의 createdDateTime 필드에서 타임스탬프로 변환됩니다.
cribl_pipe additional.fields
crossTenantAccessType additional.fields
department user.department 여러 부서가 추출되어 별도의 항목으로 매핑됩니다.
deviceDetail.displayName principal.hostname,principal.asset.hostname
displayName user.user_display_name
employeeId user.employee_id employeeId이 비어 있으면 extension_employeeNumber에서 값을 가져옵니다.
employeeType user.attribute.labels.value (키: employeeType) 원시 로그의 employeeType 필드에서 매핑되었으며 키 employeeType이 있는 라벨로 추가되었습니다.
empmanager-src.accountEnabled user.user_authentication_status
user.attribute.labels.value (키: accountEnabled)
manager이 비어 있고 empmanager-src.accountEnabledtrue이면 user.user_authentication_statusACTIVE로 설정되고 accountEnabled 키와 true 값이 있는 라벨이 추가됩니다. 그렇지 않으면 accountEnabled 키와 false 값이 있는 라벨이 추가됩니다.
empmanager-src.onPremisesDistinguishedName manager_role.type gopher-manager이 비어 있고 관리자의 고유 이름 중 OU 부분에 Users이 포함되어 있으면 manager_role.typeADMINISTRATOR로 설정됩니다. Service Accounts이 포함된 경우 manager_role.typeSERVICE_ACCOUNT로 설정됩니다.
empmanager-src.userPrincipalName manager_role.type gopher-manager이 비어 있고 empmanager-src.userPrincipalNamesvc-로 시작하면 manager_role.typeSERVICE_ACCOUNT로 설정됩니다.
errorCode security_result.detection_fields
extension_employeeNumber user.employee_id employeeId가 비어 있으면 user.employee_id에 매핑됩니다.
extension_wfc_AccountingUnitName event.idm.entity.entity.labels.value (키: extension_wfc_AccountingUnitName) 원시 로그의 extension_wfc_AccountingUnitName 필드에서 매핑되었으며 키 extension_wfc_AccountingUnitName이 있는 라벨로 추가되었습니다.
extension_wfc_AccountType event.idm.entity.entity.labels.value (키: wfc_AccountType) 원시 로그의 extension_wfc_AccountType 필드에서 매핑되고 키 wfc_AccountType이 있는 라벨로 추가됩니다.
extension_wfc_execDescription event.idm.entity.entity.labels.value (키: extension_wfc_execDescription) 원시 로그의 extension_wfc_execDescription 필드에서 매핑되었으며 키 extension_wfc_execDescription이 있는 라벨로 추가되었습니다.
extension_wfc_groupDescription event.idm.entity.entity.labels.value (키: extension_wfc_groupDescription) 원시 로그의 extension_wfc_groupDescription 필드에서 매핑되었으며 키 extension_wfc_groupDescription이 있는 라벨로 추가되었습니다.
extension_wfc_orgDescription event.idm.entity.entity.labels.value (키: extension_wfc_orgDescription) 원시 로그의 extension_wfc_orgDescription 필드에서 매핑되었으며 키 extension_wfc_orgDescription이 있는 라벨로 추가되었습니다.
failureReason security_result.description
federatedCredentialId additional.fields
flaggedForReview additional.fields
givenName user.first_name
gopher-devices event.idm.entity.relations gopher-devices 배열의 각 기기는 별도의 관계 항목에 매핑됩니다. deviceIdproduct_object_id에 매핑되고, operatingSystemoperatingSystemVersion는 결합되어 platform_version 모델을 형성하고 직접 매핑되며, createdDateTime는 타임스탬프로 변환되어 created_timestamp에 매핑됩니다. 관계는 OWNS로 설정되고 방향은 UNIDIRECTIONAL로 설정됩니다.
gopher-groups event.idm.entity.relations gopher-groups 배열의 각 그룹은 별도의 관계 항목에 매핑됩니다. idproduct_object_id에 매핑되고 displayNamegroup_display_name에 매핑됩니다. 관계는 MEMBER로 설정되고 방향은 UNIDIRECTIONAL로 설정됩니다.
gopher-manager.businessPhones empmanager.phone_numbers manager이 비어 있으면 empmanager.phone_numbers에 매핑됩니다.
gopher-manager.country empmanager.personal_address.country_or_region manager이 비어 있으면 empmanager.personal_address.country_or_region에 매핑됩니다. gopher-manager.countrygopher-manager.usageLocation가 모두 비어 있으면 필드가 비워집니다.
gopher-manager.department empmanager.department manager이 비어 있으면 empmanager.department에 매핑됩니다.
gopher-manager.displayName empmanager.user_display_name manager이 비어 있으면 empmanager.user_display_name에 매핑됩니다.
gopher-manager.employeeId empmanager.employee_id manager이 비어 있고 gopher-manager.employeeId이 비어 있지 않은 경우 empmanager.employee_id에 매핑됩니다.
gopher-manager.extension_employeeNumber empmanager.employee_id managergopher-manager.employeeId가 비어 있고 gopher-manager.extension_employeeNumber가 비어 있지 않은 경우 empmanager.employee_id에 매핑됩니다.
gopher-manager.givenName empmanager.first_name manager이 비어 있으면 empmanager.first_name에 매핑됩니다.
gopher-manager.id empmanager.product_object_id manager이 비어 있으면 empmanager.product_object_id에 매핑됩니다.
gopher-manager.jobTitle empmanager.title manager이 비어 있으면 empmanager.title에 매핑됩니다.
gopher-manager.mail empmanager.email_addresses manager이 비어 있으면 empmanager.email_addresses에 매핑됩니다.
gopher-manager.onPremisesImmutableId user.attribute.labels.value (키: gopher-manager onPremisesImmutableId) gopher-manager onPremisesImmutableId 키가 있는 라벨로 매핑됩니다.
gopher-manager.onPremisesSamAccountName empmanager.userid manager이 비어 있으면 empmanager.userid에 매핑됩니다.
gopher-manager.onPremisesSecurityIdentifier empmanager.windows_sid manager이 비어 있으면 empmanager.windows_sid에 매핑됩니다.
gopher-manager.proxyAddresses empmanager.email_addresses
empmanager.group_identifiers
manager이 비어 있으면 gopher-manager.proxyAddresses 배열의 각 주소가 smtp 또는 SMTP로 시작하는지에 따라 empmanager.email_addresses 또는 empmanager.group_identifiers에 매핑됩니다.
gopher-manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (키: refreshTokensValidFromDateTime) manager이 비어 있으면 키가 refreshTokensValidFromDateTime인 라벨로 매핑됩니다.
gopher-manager.streetAddress empmanager.personal_address.name manager이 비어 있으면 empmanager.personal_address.name에 매핑됩니다.
gopher-manager.surname empmanager.last_name manager이 비어 있으면 empmanager.last_name에 매핑됩니다.
gopher-manager.usageLocation user.attribute.labels.value (키: manager_src_usageLocation) manager_src_usageLocation 키가 있는 라벨로 매핑됩니다.
gopher-manager.userType empmanager.attribute.roles.name manager이 비어 있으면 empmanager.attribute.roles.name에 매핑됩니다.
homeTenantId target.resource.attribute.labels  
homeTenantName target.resource.attribute.labels  
id user.product_object_id  
identities user.attribute.labels.value (키: signInType)
user.attribute.labels.value (키: userPrincipalName)
signInTypesignInType 키가 있는 라벨로 매핑됩니다. signInTypeuserPrincipalName가 비어 있지 않으면 결합되어 키 userPrincipalName가 있는 라벨로 매핑됩니다.
identity principal.user.user_display_name  
incomingTokenType additional.fields  
initiatedBy.app.displayName principal.application  
initiatedBy.app.servicePrincipalId principal.resource.product_object_id  
initiatedBy.user.homeTenantId target.resource.attribute.labels  
initiatedBy.user.homeTenantName target.resource.attribute.labels  
initiatedBy.user.userType additional.fields  
ipAddressFromResourceProvider principal.resource.attribute.labels  
isTenantRestricted additional.fields  
jobTitle user.title  
loggedByService observer.application  
mail user.email_addresses mailsvc-로 시작하면 user_role.typeSERVICE_ACCOUNT로 설정됩니다.
mail user_role.type mailsvc-로 시작하면 user_role.typeSERVICE_ACCOUNT로 설정됩니다.
mailNickname user.attribute.labels.value (키: mailNickname) 원시 로그의 mailNickname 필드에서 매핑되었으며 키 mailNickname이 있는 라벨로 추가되었습니다.
manager.businessPhones empmanager.phone_numbers gopher-manager이 비어 있으면 empmanager.phone_numbers에 매핑됩니다.
manager.city empmanager.personal_address.city gopher-manager이 비어 있으면 empmanager.personal_address.city에 매핑됩니다.
manager.companyName empmanager.company_name gopher-manager이 비어 있으면 empmanager.company_name에 매핑됩니다.
manager.country empmanager.personal_address.country_or_region gopher-manager이 비어 있으면 empmanager.personal_address.country_or_region에 매핑됩니다. manager.countrymanager.usageLocation가 모두 비어 있으면 필드가 비워집니다.
manager.department empmanager.department gopher-manager이 비어 있으면 empmanager.department에 매핑됩니다.
manager.displayName empmanager.user_display_name gopher-manager이 비어 있으면 empmanager.user_display_name에 매핑됩니다.
manager.employeeId empmanager.employee_id gopher-manager이 비어 있고 manager.employeeId이 비어 있지 않은 경우 empmanager.employee_id에 매핑됩니다.
manager.extension_employeeNumber empmanager.employee_id gopher-managermanager.employeeId가 비어 있고 manager.extension_employeeNumber가 비어 있지 않은 경우 empmanager.employee_id에 매핑됩니다.
manager.givenName empmanager.first_name gopher-manager이 비어 있으면 empmanager.first_name에 매핑됩니다.
manager.id empmanager.product_object_id gopher-manager이 비어 있으면 empmanager.product_object_id에 매핑됩니다.
manager.jobTitle empmanager.title gopher-manager이 비어 있으면 empmanager.title에 매핑됩니다.
manager.mail empmanager.email_addresses gopher-manager이 비어 있으면 empmanager.email_addresses에 매핑됩니다.
manager.onPremisesSamAccountName empmanager.userid gopher-manager이 비어 있으면 empmanager.userid에 매핑됩니다.
manager.onPremisesSecurityIdentifier empmanager.windows_sid gopher-manager이 비어 있으면 empmanager.windows_sid에 매핑됩니다.
manager.proxyAddresses empmanager.email_addresses
empmanager.group_identifiers
gopher-manager가 비어 있으면 manager.proxyAddresses 배열의 각 주소가 empmanager.email_addresses 또는 empmanager.group_identifiers based on whether it starts withsmtporSMTP에 매핑됩니다.
manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (키: refreshTokensValidFromDateTime) gopher-manager이 비어 있으면 키가 refreshTokensValidFromDateTime인 라벨로 매핑됩니다.
manager.state empmanager.personal_address.state gopher-manager이 비어 있으면 empmanager.personal_address.state에 매핑됩니다.
manager.streetAddress empmanager.personal_address.name gopher-manager이 비어 있으면 empmanager.personal_address.name에 매핑됩니다.
manager.surname empmanager.last_name gopher-manager이 비어 있으면 empmanager.last_name에 매핑됩니다.
manager.usageLocation user.attribute.labels.value (키: manager_src_usageLocation)
empmanager.personal_address.country_or_region
manager_src_usageLocation 키가 있는 라벨로 매핑됩니다. manager.country가 비어 있으면 값도 empmanager.personal_address.country_or_region에 매핑됩니다.
manager.userType empmanager.attribute.roles.name gopher-manager이 비어 있으면 empmanager.attribute.roles.name에 매핑됩니다.
mfaDetail.authDetail principal.user.phone_numbers  
onPremisesDistinguishedName user.attribute.labels.value (키: onPremisesDistinguishedName)
user.attribute.labels.value (키: onPremisesDistinguishedName-OU data)
전체 고유 이름은 키가 onPremisesDistinguishedName인 라벨로 매핑됩니다. 식별 이름의 OU 부분이 추출되어 키 onPremisesDistinguishedName-OU data이 있는 라벨로 매핑됩니다. OU 부분에 Admin이 포함된 경우 user_role.typeADMINISTRATOR로 설정됩니다. Service Accounts이 포함된 경우 user_role.typeSERVICE_ACCOUNT로 설정됩니다.
onPremisesDistinguishedName user_role.type 식별 이름의 OU 부분에 Admin이 포함된 경우 user_role.typeADMINISTRATOR으로 설정됩니다. Service Accounts이 포함된 경우 user_role.typeSERVICE_ACCOUNT로 설정됩니다.
onPremisesDomainName user.group_identifiers
user.attribute.labels.value (키: onPremisesDomainName)
user.group_identifiers에 직접 매핑되고 onPremisesDomainName 키가 있는 라벨로 추가됩니다.
onPremisesImmutableId user.attribute.labels.value (키: onPremisesImmutableId) 원시 로그의 onPremisesImmutableId 필드에서 매핑되었으며 키 onPremisesImmutableId이 있는 라벨로 추가되었습니다.
onPremisesSamAccountName user.userid
user.attribute.labels.value (키: onPremisesSamAccountName)
sAMAccountName이 비어 있으면 user.userid에 매핑됩니다. onPremisesSamAccountName 키가 있는 라벨로도 추가됩니다.
onPremisesSecurityIdentifier user.windows_sid  
operationName metadata.product_event_type  
OrganizationId principal.resource.product_object_id  
originalRequestId network.session_id  
originalTransferMethod additional.fields  
Parser Logic UDM Mapping 논리
policies.enforcedGrantControls security_result.detection_fields  
processingTimeInMilliseconds additional.fields  
properties.__UDI_RequiredFields_RegionScope target.location.country_or_region  
properties.additionalDetails additional.fields  
properties.alternateSignInName target.user.userid  
properties.appId principal.user.product_object_id  
properties.atContentH additional.fields  
properties.atContentP additional.fields  
properties.authenticationContextClassReferences additional.fields  
properties.C_DeviceId additional.fields  
properties.C_Iat additional.fields  
properties.C_Idtyp additional.fields  
properties.C_Sid additional.fields  
properties.category security_result.category_details  
properties.clientAuthMethod additional.fields  
properties.clientCredentialType additional.fields  
properties.correlationId security_result.detection_fields  
properties.deviceDetail.browser network.http.user_agent  
properties.deviceDetail.deviceId principal.asset.asset_id  
properties.deviceDetail.displayName principal.hostname,principal.asset.hostname  
properties.deviceDetail.operatingSystem principal.platform_version operatingSystemWin, Mac 또는 Lin로 시작하면 principal.platform에 매핑됩니다.
properties.deviceDetail.trustType principal.asset.attribute.labels  
properties.EventData.AuthenticationPackageName security_result.about.resource.name  
properties.EventData.CallerProcessId principal.process.pid  
properties.EventData.CallerProcessName principal.process.file.full_path  
properties.EventData.CertIssuerName additional.fields  
properties.EventData.CertSerialNumber about.artifact.last_https_certificate.serial_number  
properties.EventData.CertThumbprint additional.fields  
properties.EventData.HandleId target.resource.attribute.labels  
properties.EventData.ImpersonationLevel additional.fields  
properties.EventData.IpAddress principal.ip
principal.asset.ip
 
properties.EventData.IpPort principal.port  
properties.EventData.KeyLength additional.fields  
properties.EventData.LmPackageName target.resource.attribute.labels  
properties.EventData.LogonGuid security_result.detection_fields  
properties.EventData.LogonProcessName target.process.file.names  
properties.EventData.LogonType extensions.auth.auth_details  
properties.EventData.NewSd security_result.detection_fields  
properties.EventData.ObjectName target.resource.name  
properties.EventData.ObjectServer target.resource.attribute.labels  
properties.EventData.ObjectType target.resource.resource_subtype  
properties.EventData.OldSd security_result.detection_fields  
properties.EventData.PreAuthType extensions.auth.mechanism  
properties.EventData.ProcessId target.process.pid  
properties.EventData.ProcessName" target.process.file.full_path  
properties.EventData.ServiceName target.application  
properties.EventData.ServiceSid target.resource.user.windows_sid  
properties.EventData.Source principal.ip
principal.asset.ip
 
properties.EventData.Status security_result.detection_fields  
properties.EventData.SubjectDomainName principal.administrative_domain  
properties.EventData.SubjectLogonId principal.resource.attribute.labels  
properties.EventData.SubjectUserName principal.user.userid  
properties.EventData.SubjectUserSid principal.user.windows_sid  
properties.EventData.TargetDomainName target.administrative_domain  
properties.EventData.TargetLogonId target.resource.attribute.labels  
properties.EventData.TargetSid target.user.windows_sid  
properties.EventData.TargetUserName target.user.userid  
properties.EventData.TargetUserSid target.user.windows_sid  
properties.EventData.TicketEncryptionType security_result.detection_fields  
properties.EventData.TicketOptions security_result.detection_fields"  
properties.EventData.TransmittedServices security_result.detection_fields  
properties.EventData.WorkstationName target.hostname
target.asset.hostname
 
properties.flaggedForReview additional.fields  
properties.homeTenantId target.resource.attribute.labels  
properties.incomingTokenType additional.fields  
properties.initiatedBy.app.displayName principal.user.user_display_name  
properties.initiatedBy.user.displayName principal.user.user_display_name  
properties.initiatedBy.user.id principal.user.product_object_id  
properties.initiatedBy.user.ipAddress principal.ip,principal.asset.ip  
properties.ipAddressFromResourceProvider principal.resource.attribute.labels  
properties.isInteractive additional.fields  
properties.isTenantRestricted additional.fields  
properties.isThroughGlobalSecureAccess additional.fields  
properties.location.geoCoordinates.altitude additional.fields  
properties.loggedByService observer.application  
properties.mfaDetail.authDetail principal.user.phone_numbers  
properties.operationType target.resource.attribute.labels  
properties.originalRequestId network.session_id  
properties.originalTransferMethod additional.fields  
properties.processingTimeInMilliseconds additional.fields  
properties.RecordId metadata.product_log_id  
properties.requestId security_result.detection_fields  
properties.requestMethod network.http.method  
properties.requestUri network.http.referral_url  
properties.resourceDisplayName target.resource.name  
properties.resourceId target.resource.attribute.labels  
properties.resourceOwnerTenantId target.resource.attribute.labels  
properties.resourceTenantId target.resource.attribute.labels  
properties.responseSizeBytes network.received_bytes  
properties.responseStatusCode network.http.response_code  
properties.resultReason additional.fields
security_result.summary
 
properties.resultType additional.fields  
properties.riskDetail security_result.detection_fields  
properties.riskEventType security_result.detection_fields  
properties.riskLastUpdatedDateTime security_result.detection_fields  
properties.riskLevel security_result.detection_fields  
properties.riskLevelAggregated security_result.detection_fields  
properties.riskLevelDuringSignIn security_result.detection_fields  
properties.riskState security_result.detection_fields  
properties.riskType security_result.detection_fields  
properties.rngcStatus additional.fields  
properties.roles principal.user.attribute.roles  
properties.scopes security_result.detection_fields  
properties.servicePrincipalCredentialKeyId additional.fields  
properties.sessionLifetimePolicies security_result.detection_fields  
properties.signInActivityId additional.fields  
properties.SignInBondData.DeviceDetails.DeviceTrustType principal.asset.attribute.labels  
properties.SignInBondData.DeviceDetails.IsCompliant security_result.rule_labels  
properties.SignInBondData.DeviceDetails.IsManaged principal.asset.attribute.labels  
properties.SignInBondData.DisplayDetails.AttemptedUsername principal.user.email_addresses  
properties.SignInBondData.DisplayDetails.ProxyRestrictionTargetTenantName additional.fields  
properties.SignInBondData.DisplayDetails.ResourceDisplayName target.resource.name  
properties.SignInBondData.LocationDetails.IPChain target.ip  
properties.SignInBondData.LocationDetails.Latitude additional.fields  
properties.SignInBondData.LocationDetails.Longitude additional.fields  
properties.SignInBondData.MfaDetails additional.fields  
properties.SignInBondData.ProtocolDetails.AuthenticationMethodsUsed extensions.auth.auth_details  
properties.SignInBondData.ProtocolDetails.DomainHintPresent additional.fields  
properties.SignInBondData.ProtocolDetails.IsInteractive additional.fields  
properties.SignInBondData.ProtocolDetails.LoginHintPresent additional.fields  
properties.SignInBondData.ProtocolDetails.NetworkLocation additional.fields"  
properties.SignInBondData.ProtocolDetails.Protocol security_result.detection_fields properties.SignInBondData.ProtocolDetails.Protocol == WSTrust이면 security_result.detection_fields에 매핑되고 그렇지 않으면 network.application_protocol에 매핑됩니다.
properties.SignInBondData.RamDetails.RamRecommendedAction additional.fields  
properties.SignInBondData.RamDetails.RamRecommender additional.fields  
properties.signInTokenProtectionStatus additional.fields  
properties.ssoExtensionVersion additional.fields  
properties.status.errorCode security_result.detection_fields
security_result.action
 
properties.targetResources target.resource.attribute.labels  
properties.tenantGeo Geolocation.country_or_region
properties.tokenIssuerName additional.fields  
properties.tokenProtectionStatusDetails.signInSessionStatus additional.fields  
properties.tokenProtectionStatusDetails.signInSessionStatusCode additional.fields  
properties.userDisplayName principal.user.user_display_name  
properties.wids additional.fields  
proxyAddresses user.email_addresses
user.group_identifiers
proxyAddresses 배열의 각 주소는 smtp 또는 SMTP로 시작하는지에 따라 user.email_addresses 또는 user.group_identifiers에 매핑됩니다. 주소가 smtp 또는 SMTP로 시작하면 smtp: 또는 SMTP: 접두사가 삭제되고 나머지 이메일 주소가 추출되어 user.email_addresses에 매핑됩니다.
record.CorrelationId additional.fields  
record.CrossTenantAccessType additional.fields  
record.DeviceDetail.deviceId network.session_id  
record.DeviceDetail.operatingSystem principal.platform_version operatingSystemWin, Mac 또는 Lin로 시작하면 principal.platform에 매핑됩니다.
record.IsInteractive additional.fields  
record.level security_result.severity_details record_level["INFORMATION", "INFORMATIONAL", "0", "4", "WARNING", "1", "3","ERROR", "2","CRITICAL"]에 있으면 security_result.severity에 매핑됩니다.
record.location principal.location.name  
record.properties.appServicePrincipalId additional.fields  
record.properties.authenticationProtocol additional.fields  
record.properties.autonomousSystemNumber principal.resource.attribute.labels  
record.properties.C_DeviceId principal.asset.asset_id  
record.properties.crossTenantAccessType additional.fields  
record.properties.deviceDetail.isCompliant security_result.rule_labels  
record.properties.deviceDetail.isManaged principal.asset.attribute.labels  
record.properties.deviceDetail.trustType principal.asset.attribute.labels  
record.properties.flaggedForReview additional.fields  
record.properties.incomingTokenType additional.fields  
record.properties.isInteractive extensions.auth.mechanism  
record.properties.isTenantRestricted additional.fields  
record.properties.isThroughGlobalSecureAccess additional.fields  
record.properties.location target.location.name  
record.properties.originalTransferMethod additional.fields  
record.properties.resourceDisplayName principal.resource.name  
record.properties.riskDetail security_result.detection_fields  
record.properties.riskLevelAggregated security_result.detection_fields  
record.properties.riskLevelDuringSignIn security_result.detection_fields  
record.properties.riskState security_result.detection_fields  
record.properties.rngcStatus additional.fields  
record.properties.roles principal.user.attribute.roles  
record.properties.scopes security_result.detection_fields  
record.properties.servicePrincipalId target.resource.attribute.labels  
record.properties.servicePrincipalId principal.user.userid  
record.properties.signInTokenProtectionStatus additional.fields  
record.properties.ssoExtensionVersion additional.fields  
record.properties.status.additionalDetails additional.fields  
record.properties.tokenProtectionStatusDetails.signInSessionStatus additional.fields  
record.properties.tokenProtectionStatusDetails.signInSessionStatusCode additional.fields  
record.RiskDetail security_result.detection_fields  
record.RiskEventTypes security_result.detection_fields  
record.RiskLevelAggregated security_result.detection_fields  
record.RiskLevelDuringSignIn security_result.detection_fields  
record.RiskState security_result.detection_fields  
refreshTokensValidFromDateTime user.attribute.labels.value (키: refreshTokensValidFromDateTime) 원시 로그의 refreshTokensValidFromDateTime 필드에서 매핑되었으며 키 refreshTokensValidFromDateTime이 있는 라벨로 추가되었습니다.
resourceOwnerTenantId target.resource.attribute.labels  
resourceTenantId target.resource.attribute.labels  
resultDescription security_result.description  
resultReason additional.fields  
resultType additional.fields  
riskDetail security_result.detection_fields  
riskLevelAggregated security_result.detection_fields  
riskLevelDuringSignIn security_result.detection_fields  
riskState security_result.detection_fields  
sAMAccountName user.userid  
servicePrincipalCredentialKeyId additional.fields  
servicePrincipalCredentialThumbprint additional.fields  
servicePrincipalId target.resource.attribute.labels  
servicePrincipalName additional.fields  
sessionId network.session_id  
signInIdentifier target.user.userid  
signInIdentifierType additional.fields  
signInTokenProtectionStatus additional.fields  
state user.personal_address.state  
status.additionalDetails additional.fields  
streetAddress user.personal_address.name  
surname user.last_name  
targets.modifiedProperties target.resource.attribute.labels  
tokenIssuerName additional.fields  
tokenIssuerType additional.fields  
tokenProtectionStatusDetails.signInSessionStatus security_result.detection_fields  
uniqueTokenIdentifier additional.fields  
usageLocation user.personal_address.country_or_region country이 비어 있으면 값이 user.personal_address.country_or_region에 매핑됩니다.
userDisplayName principal.user.user_display_name  
userId principal.user.product_object_id  
userPrincipalName user.email_addresses userPrincipalNamesvc-로 시작하면 user_role.typeSERVICE_ACCOUNT로 설정됩니다.
userPrincipalName user_role.type userPrincipalNamesvc-로 시작하면 user_role.typeSERVICE_ACCOUNT로 설정됩니다.
userType additional.fields  
해당 사항 없음 event.idm.entity.metadata.vendor_name Microsoft로 설정합니다.
해당 사항 없음 event.idm.entity.metadata.product_name Azure Active Directory로 설정합니다.
해당 사항 없음 event.idm.entity.metadata.entity_type USER로 설정합니다.
해당 사항 없음 event.idm.entity.metadata.collected_timestamp 원시 로그의 create_time 필드로 설정됩니다.

UDM 매핑 델타 참조

2026년 1월 1일 Google SecOps에서 Azure AD 로그 필드를 UDM 필드에 매핑하는 방식과 이벤트 유형 매핑에 상당한 변경사항이 포함된 새로운 버전의 Azure AD 파서를 출시했습니다.

로그 필드 매핑 델타

다음 표에는 2026년 1월 1일 이전에 노출된 Azure AD 로그-UDM 필드와 그 이후의 매핑 델타가 나와 있습니다 (각각 이전 매핑현재 매핑 열에 나열됨).

로그 필드 이전 매핑 현재 매핑
additionalDetails security_result.description additional.fields
browser principal.resource.attribute.labels network.http.user_agent
browser principal.resource.attribute.labels network.http.user_agent
deviceDetail.displayName principal.asset.hardware principal.hostname,principal.asset.hostname
errorCode security_result.rule_id security_result.detection_fields
failureReason additional.fields security_result.description
identity target.user.user_display_name principal.user.user_display_name
loggedByService target.application observer.application
operationName additional.fields metadata.product_event_type
OrganizationId principal.resource.id principal.resource.product_object_id
properties.homeTenantId additional.fields target.resource.attribute.labels
properties.initiatedBy.user.id principal.user.windows_sid principal.user.product_object_id
properties.resourceOwnerTenantId additional.fields target.resource.attribute.labels
properties.riskDetail additional.fields security_result.detection_fields
properties.riskEventType additional.fields security_result.detection_fields
properties.riskLastUpdatedDateTime additional.fields security_result.detection_fields
properties.riskLevel additional.fields security_result.detection_fields
properties.riskLevelAggregated additional.fields security_result.detection_fields
properties.riskLevelDuringSignIn additional.fields security_result.detection_fields
properties.riskState additional.fields security_result.detection_fields
properties.riskType additional.fields security_result.detection_fields
properties.userDisplayName target.user.user_display_name principal.user.user_display_name
record.CorrelationId metadata.product_log_id additional.fields
record.properties.C_DeviceId additional.fields principal.asset.asset_id
record.properties.resourceDisplayName target.resource.attribute.labels principal.resource.name
record.properties.riskDetail additional.fields security_result.detection_fields
record.properties.riskLevelAggregated additional.fields security_result.detection_fields
record.properties.riskLevelDuringSignIn additional.fields security_result.detection_fields
record.properties.riskState additional.fields security_result.detection_fields
record.properties.roles target.user.role_name principal.user.attribute.roles
record.properties.servicePrincipalId additional.fields target.resource.attribute.labels
record.properties.servicePrincipalId additional.fields principal.user.userid
record.RiskDetail target.resource.attribute.labels security_result.detection_fields
record.RiskEventTypes target.resource.attribute.labels security_result.detection_fields
record.RiskLevelAggregated target.resource.attribute.labels security_result.detection_fields
record.RiskState target.resource.attribute.labels security_result.detection_fields
resultType security_result.rule_id additional.fields
riskDetail additional.fields security_result.detection_fields
riskLevelAggregated additional.fields security_result.detection_fields
riskLevelDuringSignIn additional.fields security_result.detection_fields
riskState additional.fields security_result.detection_fields
riskState additional.fields security_result.detection_fields
status.additionalDetails security_result.description additional.fields
userDisplayName target.user.user_display_name principal.user.user_display_name
userId target.user.product_object_id principal.user.product_object_id

이벤트 유형 매핑 델타

다음 표에는 2026년 1월 1일 이전과 이후의 Azure AD 이벤트 유형 처리의 차이가 나와 있습니다 (각각 이전 event_type현재 event_type 열에 나열됨).

로그의 이벤트 ID 이전 event_type 현재 event_type 설명
has_resource = true GENERIC_EVENT USER_RESOURCE_ACCESS 이벤트가 리소스 (has_resource = true로 표시됨)와 관련된 경우 이벤트 유형은 USER_RESOURCE_ACCESS에 매핑됩니다.
operationName = Add member to group USER_CHANGE_PERMISSIONS GROUP_MODIFICATION 이벤트 유형은 특히 그룹에 구성원을 추가하는 작업 (여기서 operationName = Add member to group)의 경우 GROUP_MODIFICATION에 매핑됩니다.

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