Azure CLI 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, Azure CLI kullanarak NSG akış günlüğü oluşturmayı, değiştirmeyi, devre dışı bırakmayı veya silmeyi öğreneceksiniz. Azure portalı, PowerShell, REST API veya ARM şablonunu kullanarak NSG akış günlüğünü yönetmeyi öğrenebilirsiniz.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.

  • Analizler sağlayıcı. Daha fazla bilgi için bkz. Analizler sağlayıcısını kaydetme.

  • Bir ağ güvenlik grubu. Bir ağ güvenlik grubu oluşturmanız gerekiyorsa bkz . Ağ güvenlik grubu oluşturma, değiştirme veya silme.

  • Bir Azure depolama hesabı. Depolama hesabı oluşturmanız gerekiyorsa bkz . PowerShell kullanarak depolama hesabı oluşturma.

  • Azure Cloud Shell veya Azure CLI yerel olarak yüklenir.

    • Bu makaledeki adımlar, Azure Cloud Shell'de Azure CLI komutlarını etkileşimli olarak çalıştırır. Komutları Cloud Shell'de çalıştırmak için kod bloğunun sağ üst köşesindeki Cloud Shell'i Aç'ı seçin. Kodu kopyalamak için Kopyala'yı seçin ve çalıştırmak için Cloud Shell'e yapıştırın. Cloud Shell'i Azure portalından da çalıştırabilirsiniz.

    • Komutları çalıştırmak için Azure CLI'yi yerel olarak da yükleyebilirsiniz. Azure CLI'yı yerel olarak çalıştırıyorsanız az login komutunu kullanarak Azure'da oturum açın .

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 az provider register komutunu kullanarak kaydedin.

# Register Microsoft.Insights provider.
az provider register --namespace 'Microsoft.Insights'

Akış günlüğü oluşturma

az network watcher flow-log create komutunu kullanarak bir akış günlüğü oluşturun. Akış günlüğü, NetworkWatcherRG Ağ İzleyicisi varsayılan kaynak grubunda oluşturulur.

# Create a version 1 NSG flow log.
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount'

Not

  • Depolama hesabı farklı bir abonelikteyse, ağ güvenlik grubu ve depolama hesabı aynı Azure Active Directory kiracısıyla ilişkilendirilmelidir. Her abonelik için kullandığınız hesabın gerekli izinlere sahip olması gerekir.
  • Depolama hesabı farklı bir kaynak grubunda veya abonelikteyse, depolama hesabının yalnızca adı yerine tam kimliğini belirtmeniz gerekir. Örneğin, my Depolama Account depolama hesabı, ağ güvenlik grubu myResourceGroup kaynak grubundayken Depolama RG adlı bir kaynak grubundaysa parametresi yerine parametresini myStorageAccount--storage-account kullanmanız /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount gerekir.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a version 1 NSG flow log (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa

Akış günlüğü ve trafik analizi çalışma alanı oluşturma

  1. az monitor log-analytics workspace create komutunu kullanarak log analytics çalışma alanı oluşturun.

    # Create a Log Analytics workspace.
    az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'
    
  2. az network watcher flow-log create komutunu kullanarak bir akış günlüğü oluşturun. Akış günlüğü, NetworkWatcherRG Ağ İzleyicisi varsayılan kaynak grubunda oluşturulur.

    # Create a version 1 NSG flow log and enable traffic analytics for it.
    az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'true' --workspace 'myWorkspace'
    

Not

  • Depolama hesabı, ağ erişimini yalnızca Microsoft hizmetleri veya belirli sanal ağlara kısıtlayan ağ kurallarına sahip olamaz.
  • Depolama hesabı farklı bir abonelikteyse, ağ güvenlik grubu ve depolama hesabı aynı Azure Active Directory kiracısıyla ilişkilendirilmelidir. Her abonelik için kullandığınız hesabın gerekli izinlere sahip olması gerekir.
  • Depolama hesabı farklı bir kaynak grubunda veya abonelikteyse depolama hesabının tam kimliği kullanılmalıdır. Örneğin, my Depolama Account depolama hesabı, ağ güvenlik grubu myResourceGroup kaynak grubundayken Depolama RG adlı bir kaynak grubundaysa parametresi yerine parametresini myStorageAccount--storage-account kullanmanız /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount gerekir.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a Log Analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'

# Create a version 1 NSG flow log and enable traffic analytics for it (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa --traffic-analytics 'true' --workspace 'myWorkspace'

Akış günlüğünü değiştirme

Bir akış günlüğünün özelliklerini değiştirmek için az network watcher flow-log update komutunu kullanabilirsiniz. Örneğin, akış günlüğü sürümünü değiştirebilir veya trafik analizini devre dışı bırakabilirsiniz.

# Update the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --log-version '2'

Bölgedeki tüm akış günlüklerini listeleme

Aboneliğinizdeki belirli bir bölgedeki tüm NSG akış günlüğü kaynaklarını listelemek için az network watcher flow-log list komutunu kullanın.

# Get all NSG flow logs in East US region.
az network watcher flow-log list --location 'eastus' --out table

Akış günlüğü kaynağının ayrıntılarını görüntüleme

Akış günlüğü kaynağının ayrıntılarını görmek için az network watcher flow-log show komutunu kullanın.

# Get the details of a flow log.
az network watcher flow-log show --name 'myFlowLog' --resource-group 'NetworkWatcherRG' --location 'eastus'

Akış günlüğünü indirme

Akış günlüğünün depolama konumu oluşturma sırasında tanımlanır. Depolama hesabınızdan akış günlüklerine erişmek ve bunları indirmek için Azure Depolama Gezgini kullanabilirsiniz. Daha fazla bilgi için bkz. Depolama Explorer'ı kullanmaya başlama.

Depolama hesabına kaydedilen NSG akış günlüğü dosyaları şu yolu izleyin:

https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

Akış günlüğünün yapısı hakkında bilgi için bkz . NSG akış günlüklerinin günlük biçimi.

Akış günlüğünü devre dışı bırakma

Bir akış günlüğünü silmeden geçici olarak devre dışı bırakmak için az network watcher flow-log update komutunu kullanın. Akış günlüğünün devre dışı bırakılması, ilişkili ağ güvenlik grubu için akış günlüğünü durdurur. Ancak akış günlüğü kaynağı tüm ayarları ve ilişkilendirmeleriyle birlikte kalır. Yapılandırılan ağ güvenlik grubu için akış günlüğünü sürdürmek için istediğiniz zaman yeniden etkinleştirebilirsiniz.

Not

Akış günlüğü için trafik analizi etkinleştirildiyse, akış günlüğünü devre dışı bırakabilmeniz için önce devre dışı bırakılması gerekir.

# Disable traffic analytics log if it's enabled.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --workspace 'myWorkspace'

# Disable the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --enabled 'false'

Akış günlüğünü silme

Akış günlüğünü kalıcı olarak silmek için az network watcher flow-log delete komutunu kullanın. Akış günlüğünün silinmesi, tüm ayarlarını ve ilişkilendirmelerini siler. Aynı ağ güvenlik grubu için akış günlüğünü yeniden başlatmak için, bunun için yeni bir akış günlüğü oluşturmanız gerekir.

# Delete the flow log.
az network watcher flow-log delete --name 'myFlowLog' --location 'eastus' --no-wait 'true'

Not

Akış günlüğü silindiğinde, akış günlüğü verileri depolama hesabından silinmez. Akış günlükleri, depolama hesabında depolanan verileri yapılandırılan bekletme ilkesine uyar.

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.