Mengumpulkan log Azure API Management

Parser Version: 1.0

Didukung di:

Dokumen ini menjelaskan cara membuat feed Azure Event Hub untuk menyerap log Azure API Management ke Google Security Operations.

Azure API Management adalah platform pengelolaan multicloud hybrid untuk API di semua lingkungan. Apigee membantu organisasi memublikasikan API kepada developer eksternal, partner, dan internal untuk mengoptimalkan potensi data dan layanan mereka. Pengelolaan API menyediakan alat untuk penemuan API, fungsi gateway, kebijakan keamanan, analisis, dan interaksi developer. Log diagnostik mencatat informasi mendetail tentang operasi gateway API, termasuk permintaan, respons, dan error.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Akses istimewa ke portal Microsoft Azure dengan izin untuk:
    • Buat namespace Event Hub
    • Membuat Hub Peristiwa
    • Mengonfigurasi Setelan Diagnostik untuk Azure API Management
    • Mengelola kebijakan akses
  • Instance layanan Azure API Management yang ada

Buat namespace Event Hub

Namespace Event Hub adalah container pengelolaan untuk satu atau beberapa Event Hub.

  1. Di portal Azure, cari Event Hubs.
  2. Klik + Create.
  3. Berikan detail konfigurasi berikut:

    Setelan Nilai
    Langganan Pilih langganan Azure Anda
    Grup resource Pilih yang sudah ada atau buat yang baru
    Nama namespace Masukkan nama unik (misalnya, secops-apim-eventhub)
    Location Pilih wilayah (misalnya, East US)
    Tingkatan harga Standar (direkomendasikan untuk produksi)
    Unit throughput Mulai dengan 1, aktifkan Pemompaan otomatis (direkomendasikan)
  4. Klik Review + create.

  5. Tinjau ringkasan, lalu klik Buat.

  6. Tunggu hingga deployment selesai (1-2 menit).

Buat Hub Acara

  1. Setelah namespace di-deploy, buka namespace Event Hub.
  2. Di navigasi kiri, pilih Event Hubs di bagian Entities.
  3. Klik + Event Hub.
  4. Berikan detail konfigurasi berikut:

    Setelan Nilai
    Nama Masukkan nama unik (misalnya, apim-logs)
    Jumlah partisi 40 (direkomendasikan untuk penskalaan Google SecOps yang optimal)
    Retensi pesan 7 hari (minimum yang direkomendasikan)
    Ambil Dinonaktifkan (tidak diperlukan untuk Google SecOps)
  5. Klik Create.

Mendapatkan string koneksi Event Hub

Google SecOps memerlukan string koneksi untuk mengautentikasi ke Event Hub.

  1. Buka Event Hub namespace.
  2. Di navigasi kiri, pilih Kebijakan akses bersama di bagian Setelan.
  3. Klik kebijakan default RootManageSharedAccessKey.
  4. Salin Connection string-primary key.
  5. Simpan string koneksi ini dengan aman.
  • Contoh:

    Original: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==;EntityPath=apim-logs
    
    Remove EntityPath: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==
    

Opsi B: String koneksi tingkat Event Hub

  1. Buka Event Hub (bukan namespace).
  2. Di navigasi kiri, pilih Kebijakan akses bersama di bagian Setelan.
  3. Klik + Tambahkan untuk membuat kebijakan baru.
  4. Berikan detail konfigurasi berikut:
    • Nama kebijakan: Masukkan nama deskriptif (misalnya, chronicle-read)
    • Izin: Pilih Dengarkan saja (akses hanya baca)
  5. Klik Create.
  6. Klik kebijakan yang baru dibuat.
  7. Salin string koneksi-kunci utama.
  8. Simpan string koneksi ini dengan aman.

Mengonfigurasi Azure API Management untuk melakukan streaming ke Event Hub

  1. Di portal Azure, cari layanan API Management.
  2. Pilih instance layanan API Management Anda.
  3. Di navigasi kiri, pilih Setelan diagnostik di bagian Monitoring.
  4. Klik + Add diagnostic setting.
  5. Berikan detail konfigurasi berikut:
    • Diagnostic setting name: Masukkan nama deskriptif (misalnya, apim-to-secops).
    • Di bagian Logs, pilih kategori berikut:
      • GatewayLogs: Log permintaan dan respons gateway API
      • WebSocketConnectionLogs: Log koneksi WebSocket (jika ada)
      • DeveloperPortalAuditLogs: Log audit portal developer (jika berlaku)
      • GatewayLlmLogs: Log gateway AI generatif (jika ada)
      • GatewayMCPLogs: Log server Model Context Protocol (MCP) (jika ada)
    • Di bagian Detail tujuan, centang kotak Stream to an event hub.
    • Subscription: Pilih langganan yang berisi namespace Event Hub Anda.
    • Event hub namespace: Pilih namespace yang Anda buat sebelumnya (misalnya, secops-apim-eventhub).
    • Event hub name: Pilih Event Hub yang Anda buat (misalnya, apim-logs).
    • Nama kebijakan hub peristiwa: Pilih RootManageSharedAccessKey atau kebijakan kustom dengan izin Kirim.
  6. Klik Simpan.

(Opsional) Mengonfigurasi Azure Blob Storage untuk checkpointing

Google SecOps dapat menggunakan Azure Blob Storage untuk menyimpan titik pemeriksaan Event Hub, yang melacak peristiwa mana yang telah diproses. Tindakan ini mencegah penyerapan duplikat jika feed terganggu untuk sementara.

Buat Akun Penyimpanan untuk pembuatan titik pemeriksaan

  1. Di portal Azure, cari Storage accounts.
  2. Klik + Create.
  3. Berikan detail konfigurasi berikut:

    Setelan Nilai
    Langganan Pilih langganan Azure Anda
    Grup resource Gunakan grup resource yang sama dengan Event Hub
    Nama akun penyimpanan Masukkan nama unik (misalnya, secopsapimcheckpoint)
    Region Region yang sama dengan Event Hub
    Performa Standar
    Redundansi LRS (Penyimpanan redundan lokal)
  4. Klik Review + create.

  5. Klik Create.

Buat Kontainer Blob

  1. Buka Akun Penyimpanan yang baru saja Anda buat.
  2. Di navigasi kiri, pilih Containers di bagian Data storage.
  3. Klik + Container.
  4. Berikan detail konfigurasi berikut:
    • Nama: Masukkan checkpoints
    • Tingkat akses publik: Pribadi (tidak ada akses anonim)
  5. Klik Create.

Mendapatkan kredensial Akun Penyimpanan

  1. Di Storage Account, pilih Access keys di bagian Security + networking.
  2. Klik Show keys.
  3. Salin dan simpan:
    • Nama akun penyimpanan: Nama akun penyimpanan Anda
    • Kunci 1: Nilai kunci akses

Anda akan memberikan nilai ini saat membuat feed Google SecOps.

(Opsional) Buat grup konsumen khusus

Secara default, Event Hub menyediakan grup konsumen bernama $Default. Untuk lingkungan produksi, sebaiknya buat grup konsumen khusus untuk Google SecOps.

  1. Buka Event Hub (bukan namespace).
  2. Di navigasi kiri, pilih Grup konsumen di bagian Entitas.
  3. Klik + Consumer group.
  4. Berikan detail konfigurasi berikut:
    • Nama: Masukkan nama deskriptif (misalnya, chronicle)
  5. Klik Create.

Mengonfigurasi feed di Google SecOps untuk menyerap log Azure API Management

  1. Buka SIEM Settings > Feeds.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Azure API Management Logs).
  5. Pilih Microsoft Azure Event Hub sebagai Source type.
  6. Pilih Azure API Management sebagai Log type.
  7. Klik Berikutnya.
  8. Tentukan nilai untuk parameter input berikut:

    • Event hub connection string: Masukkan string koneksi Event Hub yang Anda ambil sebelumnya

    • Jika menggunakan string koneksi tingkat namespace:

      • Pastikan Anda menghapus parameter EntityPath
      • Anda juga harus memberikan Nama hub peristiwa di kolom berikutnya
    • Jika menggunakan string koneksi tingkat hub peristiwa:

      • Gunakan string koneksi apa adanya (termasuk EntityPath)
      • Kolom Event hub name dapat dibiarkan kosong
    • Nama hub peristiwa: Masukkan nama Hub Peristiwa (misalnya, apim-logs)

      • Wajib jika menggunakan string koneksi tingkat namespace.
      • Opsional jika menggunakan string koneksi tingkat hub peristiwa.
    • Consumer group (opsional): Masukkan nama grup konsumen

      • Kosongkan untuk menggunakan grup konsumen $Default default
      • Jika Anda membuat grup konsumen khusus, masukkan namanya (misalnya, chronicle)
    • Nama container penyimpanan blob (opsional): Untuk pembuatan titik pemeriksaan, masukkan nama container (misalnya, checkpoints)

    Jika menyediakan penyimpanan blob untuk pembuatan checkpoint:

    • Nama akun penyimpanan Azure: Masukkan nama akun penyimpanan dari konfigurasi pembuatan titik pemeriksaan
    • Azure storage account key: Masukkan kunci akses dari konfigurasi checkpointing

    • Namespace aset: Namespace aset

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

  9. Klik Berikutnya.

  10. Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.

Untuk mengetahui informasi selengkapnya tentang feed Google SecOps, lihat dokumentasi feed Google SecOps.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
Level_label additional.fields Digabung
Sku_label additional.fields Digabung
apiId_label additional.fields Digabung
apiRevision_label additional.fields Digabung
apimSubscriptionId_label additional.fields Digabung
backendMethod_label additional.fields Digabung
backendProtocol_label additional.fields Digabung
backendResponseCode_label additional.fields Digabung
backendTime_label additional.fields Digabung
cache_label additional.fields Digabung
clientProtocol_label additional.fields Digabung
durationMs_label additional.fields Digabung
eventName_label additional.fields Digabung
eventid_label additional.fields Digabung
functionInvocationId_label additional.fields Digabung
functionName_label additional.fields Digabung
hostInstanceId_label additional.fields Digabung
hostVersion_label additional.fields Digabung
isRequestSuccess_label additional.fields Digabung
operationId_label additional.fields Digabung
productId_label additional.fields Digabung
properties.message metadata.description Dipetakan secara langsung
time metadata.event_timestamp Diurai sebagai ISO8601
has_principal metadata.event_type Dipetakan: true → STATUS_UPDATE
operationName metadata.product_event_type Dipetakan secara langsung
DeploymentVersion metadata.product_version Dipetakan secara langsung
properties.method network.http.method Dipetakan secara langsung
properties.responseCode network.http.response_code Dipetakan secara langsung
properties.responseSize network.received_bytes Dipetakan secara langsung
properties.requestSize network.sent_bytes Dipetakan secara langsung
correlationId network.session_id Dipetakan secara langsung
properties.clientTlsCipherSuite network.tls.cipher Dipetakan secara langsung
properties.clientTlsVersion network.tls.version Dipetakan secara langsung
callerIpAddress principal.asset.ip Digabung
callerIpAddress principal.ip Digabung
location principal.location.name Dipetakan secara langsung
properties.url principal.url Dipetakan secara langsung
properties.userId principal.user.userid Dipetakan secara langsung
action security_result.action Digabung
resultType security_result.action Dipetakan: Succeeded → action
category security_result.category_details Digabung
properties.category security_result.category_details Digabung
level security_result.severity Dipetakan secara langsung
resultType security_result.summary Dipetakan secara langsung
properties.appName target.application Dipetakan secara langsung
properties.processId target.process.pid Dipetakan secara langsung
roleInstance_label target.resource.attribute.labels Digabung
resourceId target.resource.product_object_id Dipetakan secara langsung
properties.backendUrl target.url Dipetakan secara langsung
T/A metadata.event_type Konstanta: GENERIC_EVENT
T/A metadata.product_name Konstanta: AZURE API MANAGEMENT
T/A metadata.vendor_name Konstanta: AZURE_API_MANAGEMENT
T/A network.tls.version_protocol Konstanta: HTTP

Log Perubahan

Melihat Log Perubahan untuk parser ini

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