Mengumpulkan log Azure API Management
Parser Version: 1.0
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.
- Di portal Azure, cari Event Hubs.
- Klik + Create.
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) Klik Review + create.
Tinjau ringkasan, lalu klik Buat.
Tunggu hingga deployment selesai (1-2 menit).
Buat Hub Acara
- Setelah namespace di-deploy, buka namespace Event Hub.
- Di navigasi kiri, pilih Event Hubs di bagian Entities.
- Klik + Event Hub.
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) Klik Create.
Mendapatkan string koneksi Event Hub
Google SecOps memerlukan string koneksi untuk mengautentikasi ke Event Hub.
Opsi A: String koneksi tingkat namespace (direkomendasikan)
- Buka Event Hub namespace.
- Di navigasi kiri, pilih Kebijakan akses bersama di bagian Setelan.
- Klik kebijakan default RootManageSharedAccessKey.
- Salin Connection string-primary key.
- 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
- Buka Event Hub (bukan namespace).
- Di navigasi kiri, pilih Kebijakan akses bersama di bagian Setelan.
- Klik + Tambahkan untuk membuat kebijakan baru.
- Berikan detail konfigurasi berikut:
- Nama kebijakan: Masukkan nama deskriptif (misalnya,
chronicle-read) - Izin: Pilih Dengarkan saja (akses hanya baca)
- Nama kebijakan: Masukkan nama deskriptif (misalnya,
- Klik Create.
- Klik kebijakan yang baru dibuat.
- Salin string koneksi-kunci utama.
Simpan string koneksi ini dengan aman.
Mengonfigurasi Azure API Management untuk melakukan streaming ke Event Hub
- Di portal Azure, cari layanan API Management.
- Pilih instance layanan API Management Anda.
- Di navigasi kiri, pilih Setelan diagnostik di bagian Monitoring.
- Klik + Add diagnostic setting.
- 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.
- Diagnostic setting name: Masukkan nama deskriptif (misalnya,
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
- Di portal Azure, cari Storage accounts.
- Klik + Create.
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) Klik Review + create.
Klik Create.
Buat Kontainer Blob
- Buka Akun Penyimpanan yang baru saja Anda buat.
- Di navigasi kiri, pilih Containers di bagian Data storage.
- Klik + Container.
- Berikan detail konfigurasi berikut:
- Nama: Masukkan
checkpoints - Tingkat akses publik: Pribadi (tidak ada akses anonim)
- Nama: Masukkan
- Klik Create.
Mendapatkan kredensial Akun Penyimpanan
- Di Storage Account, pilih Access keys di bagian Security + networking.
- Klik Show keys.
- 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.
- Buka Event Hub (bukan namespace).
- Di navigasi kiri, pilih Grup konsumen di bagian Entitas.
- Klik + Consumer group.
- Berikan detail konfigurasi berikut:
- Nama: Masukkan nama deskriptif (misalnya,
chronicle)
- Nama: Masukkan nama deskriptif (misalnya,
Klik Create.
Mengonfigurasi feed di Google SecOps untuk menyerap log Azure API Management
- Buka SIEM Settings > Feeds.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Azure API Management Logs). - Pilih Microsoft Azure Event Hub sebagai Source type.
- Pilih Azure API Management sebagai Log type.
- Klik Berikutnya.
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
- Pastikan Anda menghapus parameter
Jika menggunakan string koneksi tingkat hub peristiwa:
- Gunakan string koneksi apa adanya (termasuk
EntityPath) - Kolom Event hub name dapat dibiarkan kosong
- Gunakan string koneksi apa adanya (termasuk
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
$Defaultdefault - Jika Anda membuat grup konsumen khusus, masukkan namanya (misalnya,
chronicle)
- Kosongkan untuk menggunakan grup konsumen
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
Klik Berikutnya.
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.