REST API kullanarak NSG akış günlüklerini yönetme
Ağ güvenlik grubu akış günlüğü, Azure Ağ İzleyicisi'nin bir ağ güvenlik grubu üzerinden akan IP trafiği hakkındaki bilgileri günlüğe kaydetmenize olanak tanıyan bir özelliğidir. Ağ güvenlik grubu akış günlüğü hakkında daha fazla bilgi için bkz . NSG akış günlüklerine genel bakış.
Bu makalede REST API kullanarak akış günlüklerini etkinleştirmek, devre dışı bırakmak ve sorgulamak için REST API'nin nasıl kullanılacağı gösterilmektedir. Azure portalı, PowerShell, Azure CLI veya ARM şablonunu kullanarak NSG akış günlüğünü yönetmeyi öğrenebilirsiniz.
Bu makalede şunların nasıl yapılacağını öğreneceksiniz:
- Akış günlüklerini etkinleştirme (Sürüm 2)
- Akış günlüklerini devre dışı bırakma
- Sorgu akışı günlükleri durumu
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- ARMClient. ARMClient, Azure Resource Manager API'sini çağırmak için basit bir komut satırı aracıdır. Aracı yüklemek için bkz . ARMClient. NSG akış günlükleri REST API'sinin ayrıntılı belirtimleri için bkz . Akış Günlükleri - REST API
Önemli
Ağ İzleyicisi REST API çağrıları yaptığınızda, istek URI'sindeki kaynak grubu adı tanılama eylemlerini gerçekleştirdiğiniz kaynaklara değil, Ağ İzleyicisi içeren kaynak grubuna başvurur.
ARMClient ile oturum açma
Azure kimlik bilgilerinizle armclient'da oturum açın.
armclient login
Insights sağlayıcısını kaydetme
Microsoft. Analizler sağlayıcının bir ağ güvenlik grubu üzerinden akan trafiği başarıyla günlüğe kaydedebilmesi için kaydedilmesi gerekir. Microsoft.Analizler sağlayıcısının kayıtlı olup olmadığından emin değilseniz, sağlayıcıyı kaydetmek için Sağlayıcılar - REST API'yi kaydetme seçeneğini kullanın.
$subscriptionId = "00000000-0000-0000-0000-000000000000"
armclient post "https://management.azure.com//subscriptions/${subscriptionId}/providers/Microsoft.Insights/register?api-version=2021-04-01"
NSG akış günlüklerini etkinleştirme
Akış günlükleri sürüm 2'yi etkinleştirme komutu aşağıdaki örnekte gösterilmiştir. Sürüm 1 için 'version' alanını '1' ile değiştirin:
$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
Önceki örnekten döndürülen yanıt aşağıdaki gibidir:
{
"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
}
}
}
Not
- Önceki örnekte kullanılan Ağ İzleyicisi - Akış Günlüğü Yapılandırması REST API'sini ayarla eskidir ve yakında kullanım dışı bırakılabilir.
- Akış günlüklerini oluşturmak veya güncelleştirmek için yeni Akış Günlükleri - REST API'sini Oluşturma veya Güncelleştirme kullanılması önerilir.
NSG akış günlüklerini devre dışı bırakma
Akış günlüklerini devre dışı bırakmak için aşağıdaki örneği kullanın. Çağrı, etkin özellik için false'un ayarlanması dışında akış günlüklerini etkinleştirmeyle aynıdır.
$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
Önceki örnekten döndürülen yanıt aşağıdaki gibidir:
{
"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
}
}
}
Not
- Önceki örnekte kullanılan Ağ İzleyicisi - Akış Günlüğü Yapılandırması REST API'sini ayarla eskidir ve yakında kullanım dışı bırakılabilir.
- Akış günlüklerini devre dışı bırakmak için yeni Akış Günlükleri - REST API'sini Oluşturma veya Güncelleştirme ve akış günlükleri kaynağını silmek için Akış Günlüklerini Silme - REST API'yi silmeniz önerilir.
Akış günlüklerini sorgulama
Aşağıdaki REST çağrısı, bir ağ güvenlik grubundaki akış günlüklerinin durumunu sorgular.
$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
Aşağıdaki örnekte döndürülen yanıt gösterilmektedir:
{
"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
}
}
}
Not
- önceki örnekte kullanılan Ağ İzleyicisi - Akış Günlüğü Durumunu Alma REST API'si, ağ izleyicisinin kaynak grubunda ek bir okuyucu izni gerektirir. Ayrıca, bu API eskidir ve yakında kullanımdan kaldırılabilir.
- Akış günlüklerini sorgulamak için yeni Akış Günlükleri - REST API'yi alma seçeneğini kullanmanız önerilir.
Akış günlüğünü indirme
Akış günlüğünün depolama konumu oluşturma sırasında tanımlanır. Depolama hesabına kaydedilen akış günlüklerine erişmek için kullanışlı bir araç Microsoft Azure Depolama Gezgini. Daha fazla bilgi için bkz. Depolama Explorer'ı kullanmaya başlama.
Bir depolama hesabı belirtilirse paket yakalama dosyaları aşağıdaki konumdaki bir depolama hesabına kaydedilir:
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
Sonraki adımlar
- NSG akış günlüklerini denetlemek veya dağıtmak için Azure yerleşik ilkelerini kullanmayı öğrenmek için bkz. Azure İlkesi kullanarak NSG akış günlüklerini yönetme.
- Trafik analizi hakkında bilgi edinmek için bkz . Trafik analizi.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin