Azure Resource Manager şablonu 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 Resource Manager şablonu ve Azure PowerShell kullanarak NSG akış günlüklerini program aracılığıyla yönetmeyi öğreneceksiniz. Azure portalı, PowerShell, Azure CLI veya REST API kullanarak NSG akış günlüğünü yönetmeyi öğrenebilirsiniz.
Azure Resource Manager şablonu, bildirim temelli söz dizimi kullanarak projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
NSG akış günlükleri nesnesi
NSG akış günlükleri nesnesi tüm parametrelerle birlikte aşağıdaki örnekte gösterilmiştir. Nesne özelliklerine tam bir genel bakış için bkz . NSG akış günlükleri şablon başvurusu.
{
"name": "string",
"type": "Microsoft.Network/networkWatchers/flowLogs",
"location": "string",
"apiVersion": "2022-07-01",
"properties": {
"targetResourceId": "string",
"storageId": "string",
"enabled": "boolean",
"flowAnalyticsConfiguration": {
"networkWatcherFlowAnalyticsConfiguration": {
"enabled": "boolean",
"workspaceResourceId": "string",
"trafficAnalyticsInterval": "integer"
},
"retentionPolicy": {
"days": "integer",
"enabled": "boolean"
},
"format": {
"type": "string",
"version": "integer"
}
}
}
}
Microsoft.Network/networkWatchers/flowLogs kaynağı oluşturmak için yukarıdaki JSON dosyasını şablonunuzun kaynaklar bölümüne ekleyin.
Şablonunuzu oluşturma
Azure Resource Manager şablonlarını kullanma hakkında daha fazla bilgi edinmek için bkz:
- Kaynakları Resource Manager şablonları ve Azure PowerShell ile dağıtma
- Öğretici: İlk Azure Resource Manager şablonunuzu oluşturma ve dağıtma
Aşağıdaki örneklerde NSG akış günlüklerini etkinleştirmek için eksiksiz şablonlar verilmiştir.
Örnek 1
Örnek 1, geçirilen en düşük parametrelerle ARM şablonunun en basit sürümünü kullanır. Aşağıdaki şablon, bir hedef ağ güvenlik grubunda NSG akış günlüklerini etkinleştirir ve bunları belirli bir depolama hesabında depolar.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"apiProfile": "2019-09-01",
"resources": [
{
"name": "myNSG-myresourcegroup-flowlog",
"type": "Microsoft.Network/networkWatchers/FlowLogs/",
"location": "eastus",
"apiVersion": "2022-11-01",
"properties": {
"targetResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"enabled": true,
"flowAnalyticsConfiguration": {},
"retentionPolicy": {},
"format": {}
}
}
]
}
Not
targetResourceId
hedef ağ güvenlik grubunun kaynak kimliğidir.storageId
hedef depolama hesabının kaynak kimliğidir.
Örnek 2
Örnek 2, 5 günlük saklama ile NSG akış günlüklerini (sürüm 2) ve işleme aralığı 10 dakika olan trafik analizini etkinleştirmek için aşağıdaki şablonu kullanır.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"apiProfile": "2019-09-01",
"resources": [
{
"name": "myNSG-myresourcegroup-flowlog",
"type": "Microsoft.Network/networkWatchers/FlowLogs/",
"location": "eastus",
"apiVersion": "2022-11-01",
"properties": {
"targetResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"enabled": true,
"flowAnalyticsConfiguration": {
"networkWatcherFlowAnalyticsConfiguration": {
"enabled": true,
"workspaceResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-abcdef01-2345-6789-0abc-def012345678-EUS",
"trafficAnalyticsInterval": 10
}
},
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
]
}
Not
targetResourceId
hedef ağ güvenlik grubunun kaynak kimliğidir.storageId
hedef depolama hesabının kaynak kimliğidir.workspaceResourceId
, trafik analizi çalışma alanının kaynak kimliğidir.
Azure Resource Manager şablonunuzu dağıtma
Bu öğreticide, akış günlüğünü etkinleştirebileceğiniz mevcut bir Kaynak grubunuz ve bir ağ güvenlik grubunuz olduğu varsayılır.
Yukarıdaki örnek şablonlardan herhangi birini yerel olarak azuredeploy.json
olarak kaydedebilirsiniz. Özellik değerlerini, aboneliğinizdeki geçerli kaynaklara işaret eden şekilde güncelleştirin.
Şablonu dağıtmak için PowerShell'de aşağıdaki komutu çalıştırın.
$context = Get-AzSubscription -SubscriptionId <SubscriptionId>
Set-AzContext $context
New-AzResourceGroupDeployment -Name EnableFlowLog -ResourceGroupName NetworkWatcherRG `
-TemplateFile "C:\MyTemplates\azuredeploy.json"
Not
Önceki komutlar bir kaynağı ağ güvenlik grubunu içeren kaynak grubuna değil NetworkWatcherRG kaynak grubuna dağıtır.
Dağıtımınızı doğrulama
Dağıtımınızın başarılı olup olmadığını denetlemenin birkaç yolu vardır. PowerShell konsolunuzda "ProvisioningState" ifadesi "Başarılı" olarak gösterilmelidir. Ayrıca, değişikliklerinizi onaylamak için Flow günlükleri portalı sayfasını ziyaret edebilirsiniz. Dağıtımla ilgili sorunlar varsa bkz . Azure Resource Manager ile ilgili yaygın Azure dağıtım hatalarını giderme.
Kaynağınızı silme
Azure, Tam dağıtım modu aracılığıyla kaynak silmeyi etkinleştirir. Akış günlükleri kaynağını silmek için, silmek istediğiniz kaynağı eklemeden Tam modda bir dağıtım belirtin. Daha fazla bilgi için bkz . Tam dağıtım modu.
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.