REST API kullanarak NSG akış günlüklerini yönetme
Önemli
30 Eylül 2027'de ağ güvenlik grubu (NSG) akış günlükleri kullanımdan kaldırılacaktır. Bu kullanımdan kaldırmanın bir parçası olarak 30 Haziran 2025'den itibaren yeni NSG akış günlükleri oluşturamayacaksınız. NSG akış günlüklerinin sınırlamalarını aşan sanal ağ akış günlüklerine geçiş yapmanızı öneririz. Kullanımdan kaldırma tarihinden sonra NSG akış günlükleriyle etkinleştirilen trafik analizi artık desteklenmeyecektir ve aboneliklerinizdeki mevcut NSG akış günlükleri kaynakları silinir. Ancak NSG akış günlükleri kayıtları silinmez ve ilgili bekletme ilkelerini izlemeye devam eder. Daha fazla bilgi için resmi duyuruya bakın.
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
Bir ağ güvenlik grubu üzerinden akan trafiğin başarıyla günlüğe kaydedilmesi için Microsoft.Insights sağlayıcısının kaydedilmesi gerekir. Microsoft.Insights sağlayıcısının kayıtlı olup olmadığından emin değilseniz, kaydetmek için Sağlayıcılar - REST API'yi kaydetme seçeneğini kullanın.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/{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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/{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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 Gezgini 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.