Mengelola log alur NSG menggunakan REST API
Penting
Pada 30 September 2027, log alur kelompok keamanan jaringan (NSG) akan dihentikan. Sebagai bagian dari penghentian ini, Anda tidak akan lagi dapat membuat log alur NSG baru mulai 30 Juni 2025. Sebaiknya migrasi ke log alur jaringan virtual, yang mengatasi keterbatasan log alur NSG. Setelah tanggal penghentian, analitik lalu lintas yang diaktifkan dengan log alur NSG tidak akan lagi didukung, dan sumber daya log alur NSG yang ada di langganan Anda akan dihapus. Namun, rekaman log alur NSG tidak akan dihapus dan akan terus mengikuti kebijakan retensi masing-masing. Untuk informasi selengkapnya, lihat pengumuman resmi.
Pengelogan alur kelompok keamanan jaringan adalah fitur Azure Network Watcher yang memungkinkan Anda mencatat informasi tentang lalu lintas IP yang mengalir melalui grup keamanan jaringan. Untuk informasi selengkapnya tentang pengelogan alur grup keamanan jaringan, lihat Gambaran umum log alur NSG.
Artikel ini memperlihatkan kepada Anda cara menggunakan REST API untuk mengaktifkan, menonaktifkan, dan mengkueri log alur menggunakan REST API. Anda dapat mempelajari cara mengelola log alur NSG menggunakan templat portal Azure, PowerShell, Azure CLI, atau ARM.
Dalam artikel ini, Anda akan mempelajari cara:
- Mengaktifkan log aliran (Versi 2)
- Menonaktifkan log aliran
- Status log aliran kueri
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- ARMClient. ARMClient adalah alat baris perintah sederhana untuk memanggil API Azure Resource Manager. Untuk memasangnya, lihat ARMClient. Untuk spesifikasi terperinci tentang REST API log alur NSG, lihat Log Alur - REST API
Penting
Saat Anda melakukan panggilan REST API ke Network Watcher, nama grup sumber daya dalam URI permintaan mengacu pada grup sumber daya yang berisi Network Watcher, bukan sumber daya tempat Anda melakukan tindakan diagnostik.
Masuk dengan ARMClient
Masuk ke armclient dengan kredensial Azure Anda.
armclient login
Mendaftarkan penyedia insight
Penyedia Microsoft.Insights harus didaftarkan untuk berhasil mencatat lalu lintas yang mengalir melalui grup keamanan jaringan. Jika Anda tidak yakin apakah penyedia Microsoft.Insights terdaftar, gunakan Penyedia - Daftarkan REST API untuk mendaftarkannya.
$subscriptionId = "00000000-0000-0000-0000-000000000000"
armclient post "https://management.azure.com//subscriptions/${subscriptionId}/providers/Microsoft.Insights/register?api-version=2021-04-01"
Aktifkan log alur NSG
Perintah untuk mengaktifkan log aliran versi 2 ditunjukkan pada contoh berikut. Untuk versi 1, ganti bidang 'versi' dengan '1':
$subscriptionId = "00000000-0000-0000-0000-000000000000"
$targetUri = "" # example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/00000000-0000-0000-0000-000000000000/{resourceGroupName/providers/Microsoft.Storage/storageAccounts/{saName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
'targetResourceId': '${targetUri}',
'properties': {
'storageId': '${storageId}',
'enabled': 'true',
'retentionPolicy' : {
days: 5,
enabled: true
},
'format': {
'type': 'JSON',
'version': 2
}
}
}
"@
armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/configureFlowLog?api-version=2022-11-01" $requestBody
Respon yang dikembalikan dari contoh sebelumnya adalah sebagai berikut:
{
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
"enabled": true,
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
Catatan
- Network Watchers - Set Flow Log Configuration REST API yang digunakan dalam contoh sebelumnya, sudah lama dan mungkin segera tidak digunakan lagi.
- Disarankan untuk menggunakan Log Alur baru - Buat Atau Perbarui REST API untuk membuat atau memperbarui log alur.
Menonaktifkan log alur NSG
Gunakan contoh berikut untuk menonaktifkan log aliran. Panggilannya sama dengan mengaktifkan log alur, kecuali false disetel untuk properti yang diaktifkan.
$subscriptionId = "00000000-0000-0000-0000-000000000000"
$targetUri = "" # example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/00000000-0000-0000-0000-000000000000/{resourceGroupName/providers/Microsoft.Storage/storageAccounts/{saName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
'targetResourceId': '${targetUri}',
'properties': {
'storageId': '${storageId}',
'enabled': 'false',
'retentionPolicy' : {
days: 5,
enabled: true
},
'format': {
'type': 'JSON',
'version': 2
}
}
}
"@
armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/configureFlowLog?api-version=2022-11-01" $requestBody
Respon yang dikembalikan dari contoh sebelumnya adalah sebagai berikut:
{
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
"enabled": false,
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
Catatan
- Network Watchers - Set Flow Log Configuration REST API yang digunakan dalam contoh sebelumnya, sudah lama dan mungkin segera tidak digunakan lagi.
- Disarankan untuk menggunakan Log Alur baru - Buat Atau Perbarui REST API untuk menonaktifkan log alur dan Log Alur - Hapus REST API untuk menghapus sumber daya log alur.
Log aliran kueri
Panggilan REST berikut mengkueri status log alur pada grup keamanan jaringan.
$subscriptionId = "00000000-0000-0000-0000-000000000000"
$targetUri = "" # example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
'targetResourceId': '${targetUri}',
}
"@
armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/queryFlowLogStatus?api-version=2022-11-01" $requestBody
Contoh berikut menunjukkan respons yang dikembalikan:
{
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
"enabled": true,
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
Catatan
- Network Watchers - Get Flow Log Status REST API yang digunakan dalam contoh sebelumnya, memerlukan izin pembaca tambahan di grup sumber daya pengamat jaringan. Selain itu, API ini sudah lama dan mungkin segera tidak digunakan lagi.
- Disarankan untuk menggunakan Log Alur baru - Dapatkan REST API untuk mengkueri log alur.
Mengunduh log aliran
Lokasi penyimpanan log alur ditentukan saat pembuatan. Alat yang nyaman untuk mengakses log alur yang disimpan ke akun penyimpanan adalah Microsoft Azure Storage Explorer. Untuk informasi selengkapnya, lihat Mulai menggunakan Storage Explorer.
Jika akun penyimpanan ditentukan, file pengambilan paket disimpan ke akun penyimpanan pada lokasi berikut:
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{nsgName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
Langkah berikutnya
- Untuk mempelajari cara menggunakan kebijakan bawaan Azure untuk mengaudit atau menyebarkan log alur NSG, lihat Mengelola log alur NSG menggunakan Azure Policy.
- Untuk mempelajari analitik lalu lintas, lihat Analitik lalu lintas.