Mengumpulkan log Audit Azure Storage
Dokumen ini menjelaskan cara mengekspor log Audit Azure Storage ke Google Security Operations menggunakan Akun Azure Storage. Parser memproses log dalam format JSON, lalu mengubahnya menjadi Model Data Terpadu (UDM). Proses ini mengekstrak kolom dari log mentah, melakukan konversi jenis data, memperkaya data dengan konteks tambahan (seperti parsing agen pengguna dan perincian alamat IP), serta memetakan kolom yang diekstrak ke kolom UDM yang sesuai.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Tenant Azure yang aktif
- Akses istimewa ke Azure
Mengonfigurasi Akun Azure Storage
- Di konsol Azure, cari Storage accounts.
- Klik Buat.
- Tentukan nilai untuk parameter input berikut:
- Langganan: Pilih langganan.
- Grup Resource: 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.
- Klik Review + create.
- Tinjau ringkasan akun, lalu klik Buat.
- Dari halaman Storage Account Overview, pilih submenu Access keys di Security + networking.
- Klik Tampilkan di samping key1 atau key2.
- Klik Salin ke papan klip untuk menyalin kunci.
- Simpan kunci di lokasi yang aman untuk digunakan nanti.
- Dari halaman Storage Account Overview, pilih submenu Endpoints di Settings.
- Klik Salin ke papan klip untuk menyalin URL endpoint Blob service; misalnya,
https://<storageaccountname>.blob.core.windows.net
. - Simpan URL endpoint di lokasi yang aman untuk digunakan nanti.
Cara mengonfigurasi Ekspor Log untuk Log Audit Azure Storage
- Login ke Portal Azure menggunakan akun istimewa Anda.
- Buka Storage Accounts > Diagnostic Settings.
- Klik + Tambahkan setelan diagnostik.
- Pilih setelan diagnostik untuk
blob
,queue
,table
, danfile
.- Pilih opsi allLogs di Grup kategori untuk setiap setelan diagnostik.
- Masukkan nama deskriptif untuk setiap setelan diagnostik.
- Centang kotak Arsipkan ke akun penyimpanan sebagai tujuan.
- Tentukan Subscription dan Storage Account.
- Klik Simpan.
Menyiapkan feed
Ada dua titik entri berbeda untuk menyiapkan feed di platform Google SecOps:
- Setelan SIEM > Feed > Tambahkan Baru
- Hub Konten > Paket Konten > Mulai
Cara menyiapkan feed audit penyimpanan Azure
- Klik paket Azure Platform.
- Cari jenis log Azure Storage Audit, lalu klik Add new feed.
Tentukan nilai untuk kolom berikut:
- Jenis Sumber: Microsoft Azure Blob Storage V2.
- 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,<logname>-logs
)
- Ganti kode berikut:
Opsi penghapusan sumber: Pilih opsi penghapusan sesuai dengan preferensi penyerapan Anda.
Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir. Defaultnya adalah 180 hari.
Shared key: Kunci akses ke Azure Blob Storage.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Namespace Aset: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Klik Buat feed.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi beberapa feed untuk berbagai jenis log dalam keluarga produk ini, lihat Mengonfigurasi feed menurut produk.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
callerIpAddress |
principal.asset.ip |
Alamat IP diekstrak dari kolom callerIpAddress menggunakan pola grok dan ditetapkan ke principal.asset.ip . |
callerIpAddress |
principal.ip |
Alamat IP diekstrak dari kolom callerIpAddress menggunakan pola grok dan ditetapkan ke principal.ip . |
callerIpAddress |
principal.port |
Nomor port diekstrak dari kolom callerIpAddress menggunakan pola grok dan ditetapkan ke principal.port . |
category |
security_result.category_details |
Nilai kolom category ditetapkan ke security_result.category_details . |
correlationId |
security_result.detection_fields[0].key |
String literal correlationId ditetapkan ke kolom kunci. |
correlationId |
security_result.detection_fields[0].value |
Nilai kolom correlationId ditetapkan ke security_result.detection_fields[0].value . Nilai kolom time diuraikan sebagai stempel waktu dan ditetapkan ke event.idm.read_only_udm.metadata.event_timestamp . Jika category adalah StorageWrite dan principal.user.userid ada (berasal dari properties.accountName ), nilainya akan ditetapkan ke USER_RESOURCE_UPDATE_CONTENT . Jika category adalah StorageDelete dan principal.user.userid ada, nilai akan ditetapkan ke USER_RESOURCE_DELETION . Jika tidak, nilai ditetapkan ke USER_RESOURCE_ACCESS . String literal AZURE_STORAGE_AUDIT ditetapkan ke event.idm.read_only_udm.metadata.log_type . String literal AZURE_STORAGE_AUDIT ditetapkan ke event.idm.read_only_udm.metadata.product_name . Nilai kolom schemaVersion ditetapkan ke event.idm.read_only_udm.metadata.product_version . String literal AZURE_STORAGE_AUDIT ditetapkan ke event.idm.read_only_udm.metadata.vendor_name . |
location |
target.location.name |
Nilai kolom location ditetapkan ke target.location.name . |
operationName |
additional.fields[x].key |
String literal operationName ditetapkan ke kolom kunci. |
operationName |
additional.fields[x].value.string_value |
Nilai kolom operationName ditetapkan ke additional.fields[x].value.string_value . |
operationVersion |
additional.fields[x].key |
String literal operationVersion ditetapkan ke kolom kunci. |
operationVersion |
additional.fields[x].value.string_value |
Nilai kolom operationVersion ditetapkan ke additional.fields[x].value.string_value . |
properties.accountName |
principal.user.userid |
Nilai kolom properties.accountName ditetapkan ke principal.user.userid . |
properties.clientRequestId |
additional.fields[x].key |
String literal clientRequestId ditetapkan ke kolom kunci. |
properties.clientRequestId |
additional.fields[x].value.string_value |
Nilai kolom properties.clientRequestId ditetapkan ke additional.fields[x].value.string_value . |
properties.etag |
additional.fields[x].key |
String literal etag ditetapkan ke kolom kunci. |
properties.etag |
additional.fields[x].value.string_value |
Nilai kolom properties.etag ditetapkan ke additional.fields[x].value.string_value . |
properties.objectKey |
additional.fields[x].key |
String literal objectKey ditetapkan ke kolom kunci. |
properties.objectKey |
additional.fields[x].value.string_value |
Nilai kolom properties.objectKey ditetapkan ke additional.fields[x].value.string_value . |
properties.requestMd5 |
additional.fields[x].key |
String literal requestMd5 ditetapkan ke kolom kunci. |
properties.requestMd5 |
additional.fields[x].value.string_value |
Nilai kolom properties.requestMd5 ditetapkan ke additional.fields[x].value.string_value . |
properties.responseMd5 |
additional.fields[x].key |
String literal responseMd5 ditetapkan ke kolom kunci. |
properties.responseMd5 |
additional.fields[x].value.string_value |
Nilai kolom properties.responseMd5 ditetapkan ke additional.fields[x].value.string_value . |
properties.serviceType |
additional.fields[x].key |
String literal serviceType ditetapkan ke kolom kunci. |
properties.serviceType |
additional.fields[x].value.string_value |
Nilai kolom properties.serviceType ditetapkan ke additional.fields[x].value.string_value . |
properties.tlsVersion |
network.tls.version |
Nilai kolom properties.tlsVersion ditetapkan ke network.tls.version . |
properties.userAgentHeader |
network.http.parsed_user_agent |
Nilai kolom properties.userAgentHeader diuraikan sebagai string agen pengguna dan ditetapkan ke network.http.parsed_user_agent . |
properties.userAgentHeader |
network.http.user_agent |
Nilai kolom properties.userAgentHeader ditetapkan ke network.http.user_agent . |
protocol |
network.application_protocol |
Nilai kolom protocol ditetapkan ke network.application_protocol . |
resourceId |
target.resource.id |
Nilai kolom resourceId ditetapkan ke target.resource.id . |
resourceId |
target.resource.product_object_id |
Nilai kolom resourceId ditetapkan ke target.resource.product_object_id . String literal DATABASE ditetapkan ke target.resource.resource_type . |
resourceType |
additional.fields[x].key |
String literal resourceType ditetapkan ke kolom kunci. |
resourceType |
additional.fields[x].value.string_value |
Nilai kolom resourceType ditetapkan ke additional.fields[x].value.string_value . Jika statusText adalah Success , nilai akan ditetapkan ke ALLOW . |
statusCode |
network.http.response_code |
Nilai kolom statusCode dikonversi menjadi bilangan bulat dan ditetapkan ke network.http.response_code . String literal MICROSOFT_AZURE ditetapkan ke target.cloud.environment . |
time |
timestamp |
Nilai kolom time diuraikan sebagai stempel waktu dan ditetapkan ke timestamp . |
uri |
network.http.referral_url |
Nilai kolom uri ditetapkan ke network.http.referral_url . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.