Mengumpulkan log Microsoft Azure AD

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Microsoft Azure Active Directory (AD) dengan menyiapkan feed Google Security Operations.

Azure Active Directory (AZURE_AD) kini disebut Microsoft Entra ID. Log audit Azure AD (AZURE_AD_AUDIT) kini menjadi log audit Microsoft Entra ID.

Untuk mengetahui informasi selengkapnya, lihat Penambahan data ke Google Security Operations.

Label penyerapan mengidentifikasi parser yang menormalisasi data log mentah ke format UDM terstruktur.

Sebelum memulai

Untuk menyelesaikan tugas di halaman ini, pastikan Anda memiliki hal berikut:

  • Langganan Azure yang dapat Anda gunakan untuk login.
  • Peran administrator global atau administrator Azure AD.
  • Azure AD (tenant) di Azure.

Mengonfigurasi Azure AD

  1. Login ke portal Azure.
  2. Buka Beranda > Pendaftaran aplikasi, pilih aplikasi yang terdaftar atau daftarkan aplikasi jika Anda belum membuat aplikasi.
  3. Untuk mendaftarkan aplikasi, di bagian Pendaftaran aplikasi, klik Pendaftaran baru.
  4. Di kolom Nama, berikan nama tampilan untuk aplikasi Anda.
  5. Di bagian Supported account types, pilih opsi yang diperlukan untuk menentukan siapa yang dapat menggunakan aplikasi atau mengakses API.
  6. Klik Daftar.
  7. Buka halaman Ringkasan dan salin ID aplikasi (klien) dan ID direktori (tenant), yang diperlukan untuk mengonfigurasi feed Google Security Operations.
  8. Klik API permissions.
  9. Klik Tambahkan izin, lalu pilih Microsoft Graph di panel baru.
  10. Klik Izin aplikasi.
  11. Pilih izin AuditLog.Read.All, Directory.Read.All, dan SecurityEvents.Read.All. Pastikan izinnya adalah Izin aplikasi, bukan Izin yang didelegasikan.
  12. Klik Grant admin consent for default directory. Aplikasi diberi otorisasi untuk memanggil API saat diberi izin oleh pengguna atau administrator sebagai bagian dari proses izin.
  13. Buka Setelan > Kelola.
  14. Klik Sertifikat dan rahasia.
  15. Klik New client secret. Di kolom Value, rahasia klien akan muncul.
  16. Salin nilai rahasia klien. Nilai ini hanya ditampilkan pada saat pembuatan dan diperlukan untuk pendaftaran aplikasi Azure serta untuk mengonfigurasi feed Operasi Keamanan Google.

Mengonfigurasi feed di Google Security Operations untuk menyerap log Azure AD

  1. Pilih Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Masukkan nama unik untuk Nama feed.
  4. Pilih Third party API sebagai Source type.
  5. Pilih Azure AD sebagai Jenis log.
  6. Klik Berikutnya.
  7. Konfigurasikan parameter input wajib berikut:
    • Client ID OAUTH: tentukan client ID yang Anda peroleh sebelumnya.
    • Rahasia klien OAUTH: tentukan rahasia klien yang Anda peroleh sebelumnya.
    • Tenant ID: tentukan tenant ID yang Anda peroleh sebelumnya.
  8. Klik Berikutnya, lalu klik Kirim.

Untuk informasi selengkapnya tentang feed Google Security Operations, lihat dokumentasi feed Google Security Operations. Untuk mengetahui informasi tentang persyaratan untuk setiap jenis feed, lihat Konfigurasi feed menurut jenis. Jika Anda mengalami masalah saat membuat feed, hubungi dukungan Google Security Operations.

Referensi pemetaan kolom

Kode parser ini mengubah log Azure AD mentah dalam format JSON menjadi Unified Data Model (UDM). Pertama, pemrosesan ini akan melakukan normalisasi data dengan menghapus kolom yang tidak diperlukan, lalu mengekstrak informasi yang relevan seperti detail pengguna, stempel waktu, dan detail peristiwa, serta memetakan kolom tersebut ke kolom UDM yang sesuai untuk representasi dan analisis yang konsisten.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
activityDateTime read_only_udm.metadata.event_timestamp.seconds Nilai diekstrak dari kolom activityDateTime dan dikonversi menjadi detik sejak epoch.
activityDisplayName read_only_udm.security_result.summary Nilai dipetakan langsung dari kolom activityDisplayName.
additionalDetails.0.value read_only_udm.network.http.user_agent Nilai dipetakan langsung dari kolom additionalDetails.0.value.
additionalDetails.1.key read_only_udm.target.resource.attribute.labels.key Nilai dipetakan langsung dari kolom additionalDetails.1.key.
additionalDetails.1.value read_only_udm.target.resource.attribute.labels.value Nilai dipetakan langsung dari kolom additionalDetails.1.value.
am_category read_only_udm.metadata.description Nilai dipetakan langsung dari kolom am_category.
am_tenantId read_only_udm.metadata.product_deployment_id Nilai dipetakan langsung dari kolom am_tenantId.
appDisplayName read_only_udm.target.application Nilai dipetakan langsung dari kolom appDisplayName. Jika appDisplayName kosong, nilai diambil dari resourceDisplayName.
appId read_only_udm.target.resource.attribute.labels.value Nilai dipetakan langsung dari kolom appId.
appliedConditionalAccessPolicies.displayName read_only_udm.about.user.user_display_name Nilai dipetakan langsung dari kolom appliedConditionalAccessPolicies.displayName.
appliedConditionalAccessPolicies.enforcedGrantControls read_only_udm.security_result.rule_labels.value Nilai dipetakan langsung dari kolom appliedConditionalAccessPolicies.enforcedGrantControls.
appliedConditionalAccessPolicies.enforcedSessionControls read_only_udm.security_result.rule_labels.value Nilai dipetakan langsung dari kolom appliedConditionalAccessPolicies.enforcedSessionControls.
appliedConditionalAccessPolicies.id read_only_udm.about.user.userid Nilai dipetakan langsung dari kolom appliedConditionalAccessPolicies.id.
appliedConditionalAccessPolicies.result read_only_udm.about.labels.value Nilai dipetakan langsung dari kolom appliedConditionalAccessPolicies.result.
authenticationDetails.authenticationMethod read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom authenticationDetails.authenticationMethod.
authenticationDetails.authenticationMethodDetail read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom authenticationDetails.authenticationMethodDetail.
authenticationDetails.authenticationStepDateTime read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom authenticationDetails.authenticationStepDateTime.
authenticationDetails.authenticationStepRequirement read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom authenticationDetails.authenticationStepRequirement.
authenticationDetails.authenticationStepResultDetail read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom authenticationDetails.authenticationStepResultDetail.
authenticationProcessingDetails.key read_only_udm.additional.fields.key Nilai dipetakan langsung dari kolom authenticationProcessingDetails.key, yang diawali dengan "authenticationProcessingDetails - ".
authenticationProcessingDetails.value read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom authenticationProcessingDetails.value.
callerIpAddress read_only_udm.principal.ip Nilai dipetakan langsung dari kolom callerIpAddress.
callerIpAddress read_only_udm.principal.asset.ip Nilai dipetakan langsung dari kolom callerIpAddress.
category read_only_udm.metadata.description Nilai dipetakan langsung dari kolom category.
clientAppUsed read_only_udm.principal.application Nilai dipetakan langsung dari kolom clientAppUsed.
conditionalAccessStatus read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom conditionalAccessStatus.
correlationId read_only_udm.network.session_id Nilai dipetakan langsung dari kolom correlationId.
correlationId read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom correlationId.
createdDateTime read_only_udm.metadata.event_timestamp.seconds Nilai diekstrak dari kolom createdDateTime dan dikonversi menjadi detik sejak epoch.
deviceDetail.browser read_only_udm.network.http.user_agent Nilai dipetakan langsung dari kolom deviceDetail.browser.
deviceDetail.deviceId read_only_udm.principal.asset.asset_id Nilai dipetakan langsung dari kolom deviceDetail.deviceId, yang diawali dengan "ID Perangkat:".
deviceDetail.deviceId read_only_udm.principal.asset_id Nilai dipetakan langsung dari kolom deviceDetail.deviceId, yang diawali dengan "ID Perangkat:".
deviceDetail.displayName read_only_udm.principal.asset.hostname Nilai dipetakan langsung dari kolom deviceDetail.displayName.
deviceDetail.isCompliant read_only_udm.principal.asset.attribute.labels.value Nilai dipetakan langsung dari kolom deviceDetail.isCompliant.
deviceDetail.isManaged read_only_udm.principal.asset.attribute.labels.value Nilai dipetakan langsung dari kolom deviceDetail.isManaged.
deviceDetail.operatingSystem read_only_udm.principal.platform_version Nilai dipetakan langsung dari kolom deviceDetail.operatingSystem.
deviceDetail.trustType read_only_udm.principal.asset.attribute.labels.value Nilai dipetakan langsung dari kolom deviceDetail.trustType.
durationMs read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom durationMs.
errorCode read_only_udm.security_result.rule_id Nilai dipetakan langsung dari kolom errorCode.
identitas read_only_udm.target.user.user_display_name Nilai dipetakan langsung dari kolom identity jika berbeda dengan userId dan tidak cocok dengan pola alamat email.
initiatedBy.user.displayName read_only_udm.principal.user.user_display_name Nilai dipetakan langsung dari kolom initiatedBy.user.displayName.
initiatedBy.user.id read_only_udm.principal.user.userid Nilai dipetakan langsung dari kolom initiatedBy.user.id.
initiatedBy.user.ipAddress read_only_udm.principal.ip Nilai dipetakan langsung dari kolom initiatedBy.user.ipAddress.
initiatedBy.user.ipAddress read_only_udm.principal.asset.ip Nilai dipetakan langsung dari kolom initiatedBy.user.ipAddress.
initiatedBy.user.userPrincipalName read_only_udm.principal.user.email_addresses Nilai dipetakan langsung dari kolom initiatedBy.user.userPrincipalName jika cocok dengan pola alamat email.
ipAddress read_only_udm.principal.ip Nilai diekstrak dari kolom ipAddress menggunakan pola grok untuk mengekstrak alamat IP.
ipAddress read_only_udm.principal.asset.ip Nilai diekstrak dari kolom ipAddress menggunakan pola grok untuk mengekstrak alamat IP.
isInteractive read_only_udm.extensions.auth.mechanism Nilai dipetakan ke "INTERACTIVE" jika isInteractive adalah "true", jika tidak, nilai akan dipetakan ke "MECHANISM_OTHER".
isInteractive read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom isInteractive.
level read_only_udm.security_result.severity Nilai dipetakan dari kolom level berdasarkan logika berikut: * "Information", "Informational", "0", "4" dipetakan ke "INFORMATIONAL". * "Peringatan", "1", "3" dipetakan ke "SEDANG". * "Error", "2" dipetakan ke "ERROR". * "Critical", "CRITICAL", "critical" dipetakan ke "CRITICAL".
level read_only_udm.security_result.severity_details Nilai dipetakan langsung dari kolom level.
location.city read_only_udm.principal.location.city Nilai dipetakan langsung dari kolom location.city.
location.countryOrRegion read_only_udm.principal.location.country_or_region Nilai dipetakan langsung dari kolom location.countryOrRegion.
location.geoCoordinates.latitude read_only_udm.principal.location.region_coordinates.latitude Nilai dipetakan langsung dari kolom location.geoCoordinates.latitude dan dikonversi menjadi float.
location.geoCoordinates.latitude read_only_udm.principal.location.region_latitude Nilai dipetakan langsung dari kolom location.geoCoordinates.latitude dan dikonversi menjadi float.
location.geoCoordinates.longitude read_only_udm.principal.location.region_coordinates.longitude Nilai dipetakan langsung dari kolom location.geoCoordinates.longitude dan dikonversi menjadi float.
location.geoCoordinates.longitude read_only_udm.principal.location.region_longitude Nilai dipetakan langsung dari kolom location.geoCoordinates.longitude dan dikonversi menjadi float.
location.state read_only_udm.principal.location.state Nilai dipetakan langsung dari kolom location.state.
networkLocationDetails.networkNames read_only_udm.additional.fields.value.string_value Nilai dihasilkan dengan menggabungkan semua nilai dari array networkLocationDetails.networkNames, yang dipisahkan dengan koma.
networkLocationDetails.networkType read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom networkLocationDetails.networkType.
networkLocationDetails.networkType read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom networkLocationDetails.networkType.
operationName read_only_udm.metadata.event_type Nilai dipetakan ke "USER_LOGIN" jika operationName adalah "Aktivitas login", "USER_CHANGE_PERMISSIONS" jika operationName adalah "Tambahkan anggota ke grup", dan "USER_RESOURCE_UPDATE_PERMISSIONS" jika operationName adalah "Tambahkan penetapan peran aplikasi ke akun utama layanan". Jika tidak, nilai ditentukan berdasarkan keberadaan kolom lain: * "USER_LOGIN" jika has_target_user "true". * "USER_UNCATEGORIZED" jika has_principal_user adalah "true". * "STATUS_UPDATE" jika has_principal adalah "true". * "GENERIC_EVENT" jika tidak.
operationType read_only_udm.security_result.action_details Nilai dipetakan langsung dari kolom operationType.
properties.activity read_only_udm.security_result.summary Nilai dipetakan langsung dari kolom properties.activity.
properties.activityDateTime read_only_udm.metadata.event_timestamp.seconds Nilai diekstrak dari kolom properties.activityDateTime dan dikonversi menjadi detik sejak epoch.
properties.additionalInfo read_only_udm.network.http.user_agent Nilai diekstrak dari kolom properties.additionalInfo dengan mengurai string JSON dan mengekstrak nilai yang sesuai dengan kunci "userAgent".
properties.additionalInfo read_only_udm.target.url Nilai diekstrak dari kolom properties.additionalInfo dengan mengurai string JSON dan mengekstrak nilai yang sesuai dengan kunci "alertUrl".
properties.appId read_only_udm.target.resource.attribute.labels.value Nilai dipetakan langsung dari kolom properties.appId.
properties.appDisplayName read_only_udm.target.application Nilai dipetakan langsung dari kolom properties.appDisplayName.
properties.appliedConditionalAccessPolicies.displayName read_only_udm.security_result.rule_name Nilai dipetakan langsung dari kolom properties.appliedConditionalAccessPolicies.displayName.
properties.appliedConditionalAccessPolicies.id read_only_udm.security_result.rule_id Nilai dipetakan langsung dari kolom properties.appliedConditionalAccessPolicies.id.
properties.appliedConditionalAccessPolicies.result read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.appliedConditionalAccessPolicies.result.
properties.authenticationDetails.authenticationMethod read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.authenticationDetails.authenticationMethod.
properties.authenticationDetails.authenticationMethodDetail read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.authenticationDetails.authenticationMethodDetail.
properties.authenticationDetails.authenticationStepDateTime read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.authenticationDetails.authenticationStepDateTime.
properties.authenticationDetails.authenticationStepRequirement read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.authenticationDetails.authenticationStepRequirement.
properties.authenticationDetails.authenticationStepResultDetail read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.authenticationDetails.authenticationStepResultDetail.
properties.authenticationProcessingDetails.key read_only_udm.additional.fields.key Nilai dipetakan langsung dari kolom properties.authenticationProcessingDetails.key, yang diawali dengan "properties authenticationProcessingDetails - ".
properties.authenticationProcessingDetails.value read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.authenticationProcessingDetails.value.
properties.authenticationRequirement read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.authenticationRequirement.
properties.authenticationRequirementPolicies.detail read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.authenticationRequirementPolicies.detail.
properties.authenticationRequirementPolicies.requirementProvider read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.authenticationRequirementPolicies.requirementProvider.
properties.clientAppUsed read_only_udm.principal.application Nilai dipetakan langsung dari kolom properties.clientAppUsed.
properties.conditionalAccessStatus read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.conditionalAccessStatus.
properties.createdDateTime read_only_udm.metadata.event_timestamp.seconds Nilai diekstrak dari kolom properties.createdDateTime dan dikonversi menjadi detik sejak epoch.
properties.crossTenantAccessType read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.crossTenantAccessType.
properties.detectedDateTime read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.detectedDateTime.
properties.detectionTimingType read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.detectionTimingType.
properties.homeTenantId read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.homeTenantId.
properties.id read_only_udm.metadata.product_log_id Nilai dipetakan langsung dari kolom properties.id.
properties.initiatedBy.user.displayName read_only_udm.principal.user.user_display_name Nilai dipetakan langsung dari kolom properties.initiatedBy.user.displayName.
properties.initiatedBy.user.id read_only_udm.principal.user.windows_sid Nilai dipetakan langsung dari kolom properties.initiatedBy.user.id.
properties.initiatedBy.user.ipAddress read_only_udm.principal.ip Nilai dipetakan langsung dari kolom properties.initiatedBy.user.ipAddress.
properties.initiatedBy.user.ipAddress read_only_udm.principal.asset.ip Nilai dipetakan langsung dari kolom properties.initiatedBy.user.ipAddress.
properties.initiatedBy.user.userPrincipalName read_only_udm.principal.user.userid Nilai dipetakan langsung dari kolom properties.initiatedBy.user.userPrincipalName jika tidak cocok dengan pola alamat email.
properties.initiatedBy.user.userPrincipalName read_only_udm.principal.user.email_addresses Nilai dipetakan langsung dari kolom properties.initiatedBy.user.userPrincipalName jika cocok dengan pola alamat email.
properties.ipAddress read_only_udm.principal.ip Nilai diekstrak dari kolom properties.ipAddress menggunakan pola grok untuk mengekstrak alamat IP.
properties.ipAddress read_only_udm.principal.asset.ip Nilai diekstrak dari kolom properties.ipAddress menggunakan pola grok untuk mengekstrak alamat IP.
properties.isGuest read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.isGuest.
properties.isDeleted read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.isDeleted.
properties.isProcessing read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.isProcessing.
properties.lastUpdatedDateTime read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.lastUpdatedDateTime.
properties.location.city read_only_udm.principal.location.city Nilai dipetakan langsung dari kolom properties.location.city.
properties.location.countryOrRegion read_only_udm.principal.location.country_or_region Nilai dipetakan langsung dari kolom properties.location.countryOrRegion.
properties.location.geoCoordinates.latitude read_only_udm.principal.location.region_coordinates.latitude Nilai dipetakan langsung dari kolom properties.location.geoCoordinates.latitude dan dikonversi menjadi float.
properties.location.geoCoordinates.latitude read_only_udm.principal.location.region_latitude Nilai dipetakan langsung dari kolom properties.location.geoCoordinates.latitude dan dikonversi menjadi float.
properties.location.geoCoordinates.longitude read_only_udm.principal.location.region_coordinates.longitude Nilai dipetakan langsung dari kolom properties.location.geoCoordinates.longitude dan dikonversi menjadi float.
properties.location.geoCoordinates.longitude read_only_udm.principal.location.region_longitude Nilai dipetakan langsung dari kolom properties.location.geoCoordinates.longitude dan dikonversi menjadi float.
properties.location.state read_only_udm.principal.location.state Nilai dipetakan langsung dari kolom properties.location.state.
properties.networkLocationDetails.networkNames read_only_udm.additional.fields.value.string_value Nilai dihasilkan dengan menggabungkan semua nilai dari array properties.networkLocationDetails.networkNames, yang dipisahkan dengan koma.
properties.networkLocationDetails.networkType read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.networkLocationDetails.networkType.
properties.networkLocationDetails.networkType read_only_udm.security_result.detection_fields.value Nilai dipetakan langsung dari kolom properties.networkLocationDetails.networkType.
properties.resourceServicePrincipalId read_only_udm.target.resource.attribute.labels.value Nilai dipetakan langsung dari kolom properties.resourceServicePrincipalId.
properties.riskDetail read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.riskDetail.
properties.riskEventType read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.riskEventType.
properties.riskLastUpdatedDateTime read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.riskLastUpdatedDateTime.
properties.riskLevel read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.riskLevel.
properties.riskLevelDuringSignIn read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.riskLevelDuringSignIn.
properties.riskState read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.riskState.
properties.riskType read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.riskType.
properties.source read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.source.
properties.targetResources.0.id read_only_udm.target.user.product_object_id Nilai dipetakan langsung dari kolom properties.targetResources.0.id.
properties.targetResources.modifiedProperties.0.newValue read_only_udm.target.group.product_object_id Nilai dipetakan langsung dari kolom properties.targetResources.modifiedProperties.0.newValue.
properties.tokenIssuerType read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom properties.tokenIssuerType.
properties.userAgent read_only_udm.network.http.parsed_user_agent Nilai dipetakan langsung dari kolom properties.userAgent dan dikonversi menjadi objek agen pengguna yang diuraikan.
properties.userAgent read_only_udm.network.http.user_agent Nilai dipetakan langsung dari kolom properties.userAgent.
properties.userId read_only_udm.target.user.product_object_id Nilai dipetakan langsung dari kolom properties.userId.
properties.userPrincipalName read_only_udm.target.user.userid Nilai dipetakan langsung dari kolom properties.userPrincipalName jika tidak cocok dengan pola alamat email.
properties.userPrincipalName read_only_udm.target.user.email_addresses Nilai dipetakan langsung dari kolom properties.userPrincipalName jika cocok dengan pola alamat email.
hasil read_only_udm.security_result.action Nilai dipetakan ke "ALLOW" jika result adalah "success".
hasil read_only_udm.security_result.action_details Nilai dipetakan langsung dari kolom result jika result adalah "success".
resultDescription read_only_udm.security_result.description Nilai dipetakan langsung dari kolom resultDescription.
resultSignature read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom resultSignature.
resultType read_only_udm.security_result.action Nilai dipetakan ke "ALLOW" jika resultType adalah "0".
resultType read_only_udm.security_result.rule_id Nilai dipetakan langsung dari kolom resultType jika tidak kosong dan bukan "0".
resultType read_only_udm.security_result.summary Nilai dipetakan ke "Login berhasil terjadi" jika resultType adalah "0" dan "Login gagal terjadi" jika tidak.
resourceDisplayName read_only_udm.target.application Nilai dipetakan langsung dari kolom resourceDisplayName.
resourceDisplayName read_only_udm.target.resource.name Nilai dipetakan langsung dari kolom resourceDisplayName.
resourceId read_only_udm.target.resource.id Nilai dipetakan langsung dari kolom resourceId.
resourceId read_only_udm.target.resource.product_object_id Nilai dipetakan langsung dari kolom resourceId.
resourceServicePrincipalId read_only_udm.target.resource.attribute.labels.value Nilai dipetakan langsung dari kolom resourceServicePrincipalId.
riskDetail read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom riskDetail.
riskEventTypes read_only_udm.additional.fields.value.string_value Nilai diekstrak dari array riskEventTypes dan dipetakan ke nilai string dalam array additional.fields.
riskEventTypes read_only_udm.additional.fields.value.list_value.values.string_value Nilai dipetakan langsung dari setiap elemen array riskEventTypes.
riskEventTypes_v2 read_only_udm.additional.fields.value.list_value.values.string_value Nilai dipetakan langsung dari setiap elemen array riskEventTypes_v2.
riskLevelAggregated read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom riskLevelAggregated.
riskLevelDuringSignIn read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom riskLevelDuringSignIn.
riskState read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom riskState.
status.additionalDetails read_only_udm.security_result.description Nilai dipetakan langsung dari kolom status.additionalDetails.
status.errorCode read_only_udm.security_result.action Nilai dipetakan ke "ALLOW" jika status.errorCode adalah "0".
status.errorCode read_only_udm.security_result.rule_id Nilai dipetakan langsung dari kolom status.errorCode jika tidak kosong.
status.errorCode read_only_udm.security_result.summary Nilai dipetakan ke "Login berhasil terjadi" jika status.errorCode adalah "0" dan "Login gagal terjadi" jika tidak.
status.failureReason read_only_udm.additional.fields.value.string_value Nilai dipetakan langsung dari kolom status.failureReason.
targetResources.displayName read_only_udm.target.resource.name Nilai dipetakan langsung dari kolom targetResources.displayName.
targetResources.id read_only_udm.target.resource.id Nilai dipetakan langsung dari kolom targetResources.id.
targetResources.id read_only_udm.target.resource.product_object_id Nilai dipetakan langsung dari kolom targetResources.id.
targetResources.modifiedProperties.displayName read_only_udm.target.resource.attribute.labels.key Nilai dipetakan langsung dari kolom targetResources.modifiedProperties.displayName.
targetResources.modifiedProperties.newValue read_only_udm.target.resource.attribute.labels.value Nilai dipetakan langsung dari kolom targetResources.modifiedProperties.newValue setelah menghapus tanda kutip ganda.
targetResources.modifiedProperties.oldValue read_only_udm.target.resource.attribute.labels.value Nilai dipetakan langsung dari kolom targetResources.modifiedProperties.oldValue.
targetResources.type read_only_udm.target.resource.type Nilai dipetakan langsung dari kolom targetResources.type.
targetResources.userPrincipalName read_only_udm.target.user.user_display_name Nilai dipetakan langsung dari kolom targetResources.userPrincipalName.
tenantId read_only_udm.metadata.product_deployment_id Nilai dipetakan langsung dari kolom tenantId.
waktu read_only_udm.metadata.event_timestamp.seconds Nilai diekstrak dari kolom time dan dikonversi menjadi detik sejak epoch.
userAgent read_only_udm.network.http.parsed_user_agent Nilai dipetakan langsung dari kolom userAgent dan dikonversi menjadi objek agen pengguna yang diuraikan.
userAgent read_only_udm.network.http.user_agent Nilai dipetakan langsung dari kolom userAgent.
userDisplayName read_only_udm.target.user.user_display_name Nilai dipetakan langsung dari kolom userDisplayName jika berbeda dengan userId dan tidak cocok dengan pola alamat email.
userPrincipalName read_only_udm.principal.administrative_domain Bagian domain dari alamat email diekstrak dari kolom userPrincipalName menggunakan pola grok dan dipetakan ke kolom principal.administrative_domain.
userPrincipalName read_only_udm.target.user.email_addresses Nilai dipetakan langsung dari kolom userPrincipalName jika cocok dengan pola alamat email.
userPrincipalName read_only_udm.target.user.userid Nilai dipetakan langsung dari kolom userPrincipalName jika tidak cocok dengan pola alamat email.
userId read_only_udm.target.user.product_object_id Nilai dipetakan langsung dari kolom userId.
read_only_udm.metadata.log_type AZURE_AD Nilai ini di-hardcode dalam parser.
read_only_udm.metadata.vendor_name Microsoft Nilai ini di-hardcode dalam parser.
read_only_udm.metadata.product_name Azure AD Nilai ini di-hardcode dalam parser.
read_only_udm.extensions.auth.type SSO Nilai ini di-hardcode dalam parser.

Perubahan

2024-07-05

  • Memetakan "isInteractive" ke "security_result.detection_fields".

2024-04-02

  • Memetakan "properties.createdDateTime" ke "metadata.event_timestamp".
  • Memetakan "properties.resourceServicePrincipalId" dan "resourceServicePrincipalId" ke "target.resource.attribute.labels".
  • "properties.authenticationProcessingDetails", "authenticationProcessingDetails", dan "properties.networkLocationDetails" yang dipetakan ke "additional.fields".
  • Memetakan "properties.userAgent" ke "network.http.user_agent" dan "network.http.parsed_user_agent".
  • Memetakan "properties.authenticationRequirement" ke "additional.fields".

2024-06-03

  • Mengubah pemetaan "policies.displayName" dari "about.user.user_display_name" menjadi "security_result.rule_name".
  • Mengubah pemetaan "policies.id" dari "about.user.userid" menjadi "security_result.rule_id".
  • Mengubah pemetaan "policies.result" dari "about.labels" menjadi "security_result.detection_fields".

2024-05-29

  • Jika "status.errorCode" adalah "0", tetapkan "security_result.action" ke "ALLOW".

2024-05-13

Perbaikan Bug:

  • Memetakan "userPrincipalName" ke "target.user.userid".

2024-05-10

  • Memetakan "networkLocationDetails.n.networkNames", "properties.networkLocationDetails.n.networkNames", "networkLocationDetails.n.networkType", dan "properties.networkLocationDetails.n.networkType" ke "additional.fields".
  • Memetakan "properties.userAgent" dan "userAgent" ke "network.http.user_agent" dan "network.http.parsed_user_agent".

2024-05-03

Perbaikan Bug:

  • Menambahkan pemeriksaan "on_error" sebelum memetakan "target.modifiedProperties.n.newValue".
  • Memetakan "target.modifiedProperties.n.oldValue" dan "target.modifiedProperties.n.displayName" ke "target.resource.attribute.labels".
  • Memetakan "activityDisplayName" ke "security_result.summary".

2024-04-30

  • Memetakan "properties.authenticationDetails", "properties.networkLocationDetails", "properties.authenticationRequirementPolicies", "networkLocationDetails", dan "authenticationRequirementPolicies" ke "security_result.detection_fields".

2024-04-02

  • Memetakan "properties.authenticationRequirement" ke "additional.fields".

2024-04-02

  • Memetakan "authenticationRequirement" ke "additional.fields".

2024-02-26

  • Memetakan "appliedConditionalAccessPolicies" ke "security_result".
  • Memetakan "isInteractive" ke "extensions.auth.mechanism".
  • Memetakan "location.geoCoordinates.altitude" ke "additional.fields".

2024-02-09

  • Memetakan "authenticationDetails.authenticationMethod", "authenticationDetails.authenticationMethodDetail", "authenticationDetails.authenticationStepResultDetail", "authenticationDetails.authenticationStepDateTime", dan "authenticationDetails.authenticationStepRequirement" ke "security_result.detection_fields".
  • Memetakan "authenticationDetails.succeeded" ke "security_result.action".
  • Memetakan "status.additionalDetails" ke "security_result.description".

2024-01-11

  • Memetakan "correlationId" ke "security_result.detection_fields".

2023-11-20

  • Memetakan "tenantId" ke "metadata.product_deployment_id".
  • Memetakan "Level" ke "security_result.severity_details" dan "security_result.severity".
  • Memetakan "properties.userDisplayName" ke "target.user.user_display_name".
  • Memetakan "identity" ke "target.user.user_display_name".
  • Memetakan "properties.activityDateTime" ke "metadata.event_timestamp".
  • Memetakan "properties.activity" ke "security_result.summary".
  • "resultSignature", "properties.riskLevel", "properties.isGuest", "properties.isDeleted", "properties.isProcessing" yang dipetakan,
  • "properties.riskLastUpdatedDateTime", "properties.riskType", "properties.riskEventType", "properties.riskState", "properties.riskDetail", "properties.source", "properties.detectionTimingType"
  • "properties.detectedDateTime", "properties.lastUpdatedDateTime", "properties.tokenIssuerType", "properties.homeTenantId", "properties.userType", "properties.crossTenantAccessType", "durationMs" ke "additional.fields".
  • Memetakan "resourceId" ke "target.resource.product_object_id".
  • Memetakan "properties.location.geoCoordinates.longitude" dan "location.geoCoordinates.longitude" ke "principal.location.region_coordinates.longitude".
  • Memetakan "properties.location.geoCoordinates.latitude" dan "location.geoCoordinates.latitude" ke "principal.location.region_coordinates.latitude".

2023-07-12

  • Memetakan "deviceDetail.isCompliant", "deviceDetail.isManaged", "deviceDetail.trustType" ke "principal.asset.attribute.labels".
  • Memetakan "deviceDetail.deviceId" ke "principal.asset.asset_id".
  • Memetakan "deviceDetail.browser" ke "network.http.user_agent".
  • Memetakan "deviceDetail.operatingSystem" ke "principal.platform_version".
  • Memetakan "status.failureReason" ke "additional.fields".
  • Memetakan "status.errorCode" ke "security_result.rule_id".
  • Memetakan "deviceDetail.displayName" ke "principal.asset.hardware".

2023-03-14

  • Memetakan "browser" ke "principal.resource.attribute.labels".
  • Memetakan "isCompliant", "isManaged", "trustType", ke "principal.asset.attribute.labels".
  • Memetakan "domain" dari "userPrincipalName" ke "principal.administrative_domain".

2022-12-16

  • Menambahkan pemeriksaan bersyarat untuk kolom 'initiatedBy.user.userPrincipalName' dan dipetakan ke 'principal.user.email_addresses'.

2022-10-28

  • Memetakan "additionalDetails.0.value" ke "network.http.user_agent".
  • Memetakan "additionalDetails.1.value" ke "target.resource.attribute.labels".
  • Memetakan "Id" ke "metadata.product_log_id".
  • Memetakan "initiatedBy.user.id" ke "principal.user.userid".
  • Memetakan "initiatedBy.user.displayName" ke "principal.user.user_display_name".
  • Memetakan "initiatedBy.user.ipAddress" ke "principal.ip".
  • Memetakan "initiatedBy.user.userPrincipalName" ke "principal.user.email_addresses".
  • Memetakan "operationType" ke "security_result.action_details".
  • Memetakan "target.displayName" ke "target.resource.name".
  • Memetakan "target.id" ke "target.resource.id".
  • Memetakan "target.type" ke "target.resource.type".
  • Memetakan "field.newValue" ke "target.resource.product_object_id" jika field.displayName adalah "AppRole.Id", atau memetakan "field.newValue" ke "target.resource.attribute.labels".
  • Menambahkan pemeriksaan untuk errorCode.
  • Memetakan "loggedByService" ke "target.application".
  • Memetakan "activityDisplayName" ke "metadata.product_event_type".
  • Memetakan "metadata.event_type" ke "USER_RESOURCE_UPDATE_PERMISSIONS" dengan "activityDisplayName" adalah "Tambahkan penetapan peran aplikasi ke akun utama layanan".

2022-08-25

  • Jika "properties.initiatedBy.user.userPrincipalName" cocok dengan "email regex pattern", maka dipetakan ke "principal.user.email_addresses". Jika tidak, dipetakan ke "principal.user.userid".
  • Jika "properties.userPrincipalName" atau "userPrincipalName" cocok dengan "email regex pattern", maka dipetakan ke "target.user.email_addresses". Jika tidak, dipetakan ke "target.user.userid".

2022-08-11

  • Menghapus tag drop "TAG_MALFORMED_ENCODING".
  • Menambahkan "event_type" "GENERIC_EVENT".

2022-05-29

  • Peningkatan - Mengubah loop for untuk kolom 'riskEventTypes_v2' yang dipetakan ke 'additional.fields'.
  • Memetakan kolom 'level' ke 'security_result.severity_details'.
  • Memetakan kolom 'properties.result' ke 'security_result.action_details'.

2022-04-20

  • Perbaikan bug - Mengurai log dengan peristiwa "appDisplayName": "NotApplicable".
  • Mengubah loop for untuk kolom 'riskEventTypes'.