Mengumpulkan log Microsoft Azure AD
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
- Login ke portal Azure.
- Buka Beranda > Pendaftaran aplikasi, pilih aplikasi yang terdaftar atau daftarkan aplikasi jika Anda belum membuat aplikasi.
- Untuk mendaftarkan aplikasi, di bagian Pendaftaran aplikasi, klik Pendaftaran baru.
- Di kolom Nama, berikan nama tampilan untuk aplikasi Anda.
- Di bagian Supported account types, pilih opsi yang diperlukan untuk menentukan siapa yang dapat menggunakan aplikasi atau mengakses API.
- Klik Daftar.
- Buka halaman Ringkasan dan salin ID aplikasi (klien) dan ID direktori (tenant), yang diperlukan untuk mengonfigurasi feed Google Security Operations.
- Klik API permissions.
- Klik Tambahkan izin, lalu pilih Microsoft Graph di panel baru.
- Klik Izin aplikasi.
- Pilih izin AuditLog.Read.All, Directory.Read.All, dan SecurityEvents.Read.All. Pastikan izinnya adalah Izin aplikasi, bukan Izin yang didelegasikan.
- 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.
- Buka Setelan > Kelola.
- Klik Sertifikat dan rahasia.
- Klik New client secret. Di kolom Value, rahasia klien akan muncul.
- 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
- Pilih Setelan SIEM > Feed.
- Klik Tambahkan baru.
- Masukkan nama unik untuk Nama feed.
- Pilih Third party API sebagai Source type.
- Pilih Azure AD sebagai Jenis log.
- Klik Berikutnya.
- 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.
- 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'.