Mengumpulkan log pengelolaan API Azure
Versi Parser: 1.0
Dokumen ini menjelaskan cara membuat feed Azure Event Hub untuk menyerap log Azure pengelolaan API ke Google Security Operations.
Azure API Management adalah platform pengelolaan API hybrid dan multicloud di semua lingkungan. Alat ini 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:
- Membuat namespace Event Hub
- Membuat Event Hubs
- Mengonfigurasi Setelan Diagnostik untuk Azure API Management
- Mengelola kebijakan akses
Instance layanan Azure API Management yang sudah ada
Membuat namespace Event Hub
Namespace Event Hub adalah container pengelolaan untuk satu atau beberapa Event Hub.
- Di portal Azure, telusuri 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 yang unik (misalnya, secops-apim-eventhub)Location Pilih region (misalnya, East US)Tingkat harga Standard (direkomendasikan untuk produksi) Unit throughput Mulai dengan 1, aktifkan Auto-inflate (direkomendasikan) Klik Review + create.
Tinjau ringkasan, lalu klik Create.
Tunggu hingga deployment selesai (1-2 menit).
Membuat Event Hub
- 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 yang 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 melakukan autentikasi ke Event Hub.
Opsi A: String koneksi tingkat namespace (direkomendasikan)
- Buka Event Hub namespace.
- Di navigasi kiri, pilih Shared access policies di bagian Settings.
- Klik kebijakan default RootManageSharedAccessKey.
- Salin string koneksi-kunci utama.
- 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 Shared access policies di bagian Settings.
- Klik + Tambahkan untuk membuat kebijakan baru.
- Berikan detail konfigurasi berikut:
- Policy name: Masukkan nama deskriptif (misalnya,
chronicle-read) - Permissions: Pilih Listen saja (akses hanya baca)
- Policy name: 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, telusuri layanan pengelolaan API.
- Pilih instance layanan API Management Anda.
- Di navigasi kiri, pilih Diagnostic settings 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 ada)
- GatewayLlmLogs: Log gateway AI generatif (jika ada)
- GatewayMCPLogs: Log server Model Context Protocol (MCP) (jika ada)
- Di bagian Destination details, 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). - Event hub policy name: Pilih RootManageSharedAccessKey atau kebijakan kustom dengan izin Send.
- 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 checkpoint Event Hub, yang melacak peristiwa mana yang telah diproses. Tindakan ini mencegah penyerapan duplikat jika feed terganggu untuk sementara.
Membuat Akun Penyimpanan untuk checkpointing
- Di portal Azure, telusuri 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 yang unik (misalnya, secopsapimcheckpoint)Region Region yang sama dengan Event Hub Performa Standar Redundansi LRS (Locally redundant storage) Klik Review + create.
Klik Create.
Membuat Container Blob
- Buka Akun Penyimpanan yang baru saja Anda buat.
- Di navigasi kiri, pilih Containers di bagian Penyimpanan data.
- 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:
- Storage account name: Nama akun penyimpanan Anda
- Kunci 1: Nilai kunci akses
Anda akan memberikan nilai ini saat membuat feed Google SecOps.
(Opsional) Membuat 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 Consumer groups di bagian Entities.
- Klik + Consumer group.
- Berikan detail konfigurasi berikut:
- Name: Masukkan nama deskriptif (misalnya,
chronicle)
- Name: Masukkan nama deskriptif (misalnya,
Klik Create.
Mengonfigurasi feed di Google SecOps untuk menyerap log Pengelolaan API Azure
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita 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 Event hub name di kolom berikutnya
- Pastikan Anda menghapus parameter
Jika menggunakan string koneksi tingkat event hub:
- Gunakan string koneksi apa adanya (termasuk
EntityPath) - Kolom Event hub name dapat dibiarkan kosong
- Gunakan string koneksi apa adanya (termasuk
Event hub name: Masukkan nama Event Hub (misalnya,
apim-logs)- Wajib diisi jika menggunakan string koneksi tingkat namespace.
- Opsional jika menggunakan string koneksi tingkat event hub.
Consumer group (opsional): Masukkan nama grup konsumen
- Biarkan kosong untuk menggunakan grup konsumen
$Defaultdefault - Jika Anda membuat grup konsumen khusus, masukkan namanya (misalnya,
chronicle)
- Biarkan kosong untuk menggunakan grup konsumen
Nama container penyimpanan blob (opsional): Untuk checkpointing, masukkan nama container (misalnya,
checkpoints)
Jika menyediakan penyimpanan blob untuk checkpoint:
- Azure storage account name: Masukkan nama akun penyimpanan dari konfigurasi checkpointing
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 berita baru Anda di layar Finalize, lalu klik Submit.
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.