Mengumpulkan log Login Azure AD

Didukung di:

Dokumen ini menjelaskan cara mengekspor log Login Azure AD ke Google Security Operations menggunakan Akun Penyimpanan Azure. Parser mengambil log mentah dalam format JSON dan mengubahnya menjadi format terstruktur yang mematuhi Unified Data Model (UDM). Alat ini mengekstrak kolom yang relevan, menormalisasi nilai, menangani stempel waktu yang berbeda, dan memperkaya data dengan konteks terkait keamanan seperti informasi pengguna, alamat IP, dan kebijakan akses bersyarat.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Chronicle.
  • Pastikan Anda memiliki tenant Azure yang aktif.
  • Pastikan Anda memiliki akses dengan hak istimewa ke Azure.

Mengonfigurasi Akun Azure Storage

  1. Di konsol Azure, telusuri Storage accounts.
  2. Klik + Create.
  3. Tentukan nilai untuk parameter input berikut:
    • Langganan: pilih langganan.
    • Resource Group: pilih grup resource.
    • Region: pilih region.
    • Performa: pilih performa (Standar direkomendasikan).
    • Redundansi: pilih redundansi (GRS atau LRS direkomendasikan).
    • Nama akun penyimpanan: masukkan nama untuk akun penyimpanan baru.
  4. Klik Review + create.
  5. Tinjau ringkasan akun, lalu klik Buat.
  6. Dari halaman Ringkasan Akun Penyimpanan, pilih submenu Kunci akses di Keamanan + jaringan.
  7. Klik Tampilkan di samping kunci1 atau kunci2
  8. Klik Salin ke papan klip untuk menyalin kunci.
  9. Simpan kunci di lokasi yang aman untuk digunakan nanti.
  10. Dari halaman Ringkasan Akun Penyimpanan, pilih submenu Endpoint di Setelan.
  11. Klik Salin ke papan klip untuk menyalin URL endpoint Layanan blob (misalnya, https://<storageaccountname>.blob.core.windows.net)
  12. Simpan URL endpoint di lokasi yang aman untuk digunakan nanti.

Mengonfigurasi Ekspor Log untuk Log Login Azure AD

  1. Login ke Portal Azure menggunakan akun dengan hak istimewa Anda.
  2. Buka Microsoft Entra ID > Monitoring > Diagnostic settings.
  3. Klik Tambahkan setelan diagnostik.
    • Masukkan nama deskriptif untuk setelan diagnostik.
  4. Pilih Log login.
  5. Pilih kotak centang Arsipkan ke akun penyimpanan sebagai tujuan.
    • Tentukan Langganan dan Akun Penyimpanan.

Mengonfigurasi feed di Google SecOps untuk menyerap log Login Azure

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Feed name, masukkan nama untuk feed (misalnya, Azure Sign-In Logs).
  4. Pilih Microsoft Azure Blob Storage sebagai Jenis sumber.
  5. Pilih Login Azure sebagai Jenis log.
  6. Klik Berikutnya.
  7. Tentukan nilai untuk parameter input berikut:

    • URI Azure: URL endpoint blob.
      • ENDPOINT_URL/BLOB_NAME
        • Ganti kode berikut:
        • ENDPOINT_URL: URL endpoint blob (https://<storageaccountname>.blob.core.windows.net)
        • BLOB_NAME: nama blob (seperti, insights-logs-<logname>)
    • URI adalah: pilih JENIS URI sesuai dengan konfigurasi aliran log (File tunggal | Direktori | Direktori yang menyertakan subdirektori).
    • Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.

    • Kunci bersama: kunci akses ke Azure Blob Storage.

    • Namespace aset: namespace aset.

    • Label penyerapan: label yang akan diterapkan ke peristiwa dari feed ini.

  8. Klik Berikutnya.

  9. Tinjau konfigurasi feed baru Anda di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom log Pemetaan UDM Logika
AppDisplayName read_only_udm.target.application Dipetakan langsung dari kolom AppDisplayName dalam log mentah.
AppId read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom AppId dalam log mentah. Kunci ditetapkan ke appId.
Kategori read_only_udm.security_result.category_details Dipetakan langsung dari kolom Category dalam log mentah.
ConditionalAccessPolicies[].displayName read_only_udm.security_result.rule_name Dipetakan langsung dari kolom displayName dalam array ConditionalAccessPolicies di log mentah.
ConditionalAccessPolicies[].enforcedGrantControls[] read_only_udm.security_result.rule_labels.value Dipetakan langsung dari array enforcedGrantControls dalam array ConditionalAccessPolicies di log mentah. Kunci ditetapkan ke applied_conditional_access_policies_enforced_grant_controls.
ConditionalAccessPolicies[].enforcedSessionControls[] read_only_udm.security_result.rule_labels.value Dipetakan langsung dari array enforcedSessionControls dalam array ConditionalAccessPolicies di log mentah. Kunci ditetapkan ke applied_conditional_access_policies_enforced_session_controls.
ConditionalAccessPolicies[].id read_only_udm.security_result.rule_id Dipetakan langsung dari kolom id dalam array ConditionalAccessPolicies di log mentah.
ConditionalAccessPolicies[].Result read_only_udm.security_result.rule_labels.value Dipetakan langsung dari kolom Result dalam array ConditionalAccessPolicies di log mentah. Kunci ditetapkan ke applied_conditional_access_policies_result.
ConditionalAccessStatus read_only_udm.additional.fields.value.string_value Dipetakan langsung dari kolom ConditionalAccessStatus dalam log mentah. Kunci ditetapkan ke conditionalAccessStatus.
CorrelationId read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom CorrelationId dalam log mentah. Kunci ditetapkan ke correlationId.
DurationMs read_only_udm.additional.fields.value.string_value Dipetakan langsung dari kolom DurationMs dalam log mentah. Kunci ditetapkan ke durationMs.
HomeTenantId read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom HomeTenantId dalam log mentah. Kunci ditetapkan ke HomeTenantId.
IPAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip Dipetakan langsung dari kolom IPAddress dalam log mentah.
ID read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom Id dalam log mentah. Kunci ditetapkan ke id.
Identitas read_only_udm.target.resource.attribute.labels.value Dipetakan langsung dari kolom Identity dalam log mentah. Kunci ditetapkan ke identity.
Tingkat read_only_udm.security_result.severity, read_only_udm.security_result.severity_details Dipetakan langsung dari kolom Level dalam log mentah. Tingkat keparahan ditentukan berdasarkan nilai Level: Information, Informational, 0, atau 4 dipetakan ke INFORMATIONAL; Warning, 1, atau 3 dipetakan ke MEDIUM; Error atau 2 dipetakan ke ERROR; Critical dipetakan ke CRITICAL.
OperationName read_only_udm.metadata.product_event_type Dipetakan langsung dari kolom OperationName dalam log mentah.
ResourceGroup read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom ResourceGroup dalam log mentah. Kunci ditetapkan ke ResourceGroup.
ResultSignature read_only_udm.additional.fields.value.string_value Dipetakan langsung dari kolom ResultSignature dalam log mentah. Kunci ditetapkan ke resultSignature.
ResultType read_only_udm.additional.fields.value.string_value Dipetakan langsung dari kolom ResultType dalam log mentah. Kunci ditetapkan ke resultType.
TenantId read_only_udm.metadata.product_deployment_id Dipetakan langsung dari kolom TenantId dalam log mentah.
TimeGenerated read_only_udm.metadata.event_timestamp.seconds, read_only_udm.metadata.event_timestamp.nanos Dipetakan langsung dari kolom TimeGenerated dalam log mentah. Kolom diuraikan sebagai stempel waktu dan digunakan untuk mengisi kolom seconds dan nanos.
TokenIssuerType read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom TokenIssuerType dalam log mentah. Kunci ditetapkan ke TokenIssuerType.
UniqueTokenIdentifier read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom UniqueTokenIdentifier dalam log mentah. Kunci ditetapkan ke UniqueTokenIdentifier.
UserAgent read_only_udm.network.http.user_agent, read_only_udm.network.http.parsed_user_agent Dipetakan langsung dari kolom UserAgent dalam log mentah. Kolom diuraikan sebagai string agen pengguna dan digunakan untuk mengisi objek parsed_user_agent.
UserDisplayName read_only_udm.target.user.user_display_name Dipetakan langsung dari kolom UserDisplayName dalam log mentah.
ID Pengguna read_only_udm.target.user.userid Dipetakan langsung dari kolom UserId dalam log mentah.
UserPrincipalName read_only_udm.target.user.email_addresses Dipetakan langsung dari kolom UserPrincipalName dalam log mentah, tetapi hanya jika cocok dengan pola alamat email.
UserType read_only_udm.target.user.attribute.roles.name Dipetakan langsung dari kolom UserType dalam log mentah.
_Internal_WorkspaceResourceId read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom _Internal_WorkspaceResourceId dalam log mentah. Kunci ditetapkan ke Internal_WorkspaceResourceId.
_ItemId read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom _ItemId dalam log mentah. Kunci ditetapkan ke ItemId.
properties.appId read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom appId dalam objek properties di log mentah. Kunci ditetapkan ke appId.
properties.authenticationDetails[].authenticationMethod read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom authenticationMethod dalam array authenticationDetails di log mentah. Kunci ditetapkan ke authenticationMethod.
properties.authenticationDetails[].authenticationMethodDetail read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom authenticationMethodDetail dalam array authenticationDetails di log mentah. Kunci ditetapkan ke authenticationMethodDetail.
properties.authenticationDetails[].authenticationStepDateTime read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom authenticationStepDateTime dalam array authenticationDetails di log mentah. Kunci ditetapkan ke authenticationStepDateTime.
properties.authenticationDetails[].authenticationStepRequirement read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom authenticationStepRequirement dalam array authenticationDetails di log mentah. Kunci ditetapkan ke authenticationStepRequirement.
properties.authenticationDetails[].authenticationStepResultDetail read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom authenticationStepResultDetail dalam array authenticationDetails di log mentah. Kunci ditetapkan ke authenticationStepResultDetail.
properties.authenticationDetails[].succeeded read_only_udm.security_result.action, read_only_udm.security_result.action_details Dipetakan langsung dari kolom succeeded dalam array authenticationDetails di log mentah. Jika nilainya true, tindakan ditetapkan ke ALLOW; jika tidak, tindakan ditetapkan ke BLOCK.
properties.conditionalAccessStatus read_only_udm.additional.fields.value.string_value Dipetakan langsung dari kolom conditionalAccessStatus dalam objek properties di log mentah. Kunci ditetapkan ke conditionalAccessStatus.
properties.id read_only_udm.security_result.detection_fields.value Dipetakan langsung dari kolom id dalam objek properties di log mentah. Kunci ditetapkan ke id.
properties.status.errorCode read_only_udm.security_result.action Jika nilainya 0, tindakan ditetapkan ke ALLOW; jika tidak, tindakan ditetapkan ke BLOCK.
properties.userId read_only_udm.target.user.userid Dipetakan langsung dari kolom userId dalam objek properties di log mentah.
properties.userPrincipalName read_only_udm.target.user.email_addresses Dipetakan langsung dari kolom userPrincipalName dalam objek properties di log mentah, tetapi hanya jika cocok dengan pola alamat email.
resourceId read_only_udm.target.resource.name Dipetakan langsung dari kolom resourceId dalam log mentah.
waktu read_only_udm.metadata.event_timestamp.seconds, read_only_udm.metadata.event_timestamp.nanos Dipetakan langsung dari kolom time dalam log mentah. Kolom diuraikan sebagai stempel waktu dan digunakan untuk mengisi kolom seconds dan nanos.
read_only_udm.extensions.auth.type Nilai ditetapkan ke AUTHTYPE_UNSPECIFIED.
read_only_udm.metadata.event_type Nilai ditentukan berdasarkan keberadaan kolom principal.ip dan target.user.userid: jika keduanya ada, jenisnya ditetapkan ke USER_LOGIN; jika hanya principal.ip yang ada, jenisnya ditetapkan ke STATUS_UPDATE; jika tidak, jenisnya ditetapkan ke GENERIC_EVENT.

Perubahan

2024-05-07

  • Parser yang baru dibuat

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.