共用方式為


使用 Azure Resource Manager 樣本管理 NSG 流量記錄

網路安全組流量記錄是 Azure 網路監看員 的一項功能,可讓您記錄流經網路安全組的 IP 流量相關信息。 如需網路安全組流量記錄的詳細資訊,請參閱 NSG 流量記錄概觀

在本文中,您將瞭解如何使用 Azure Resource Manager 範本和 Azure PowerShell 以程序設計方式管理 NSG 流量記錄。 您可以瞭解如何使用 Azure 入口網站、PowerShellAzure CLIREST API 來管理 NSG 流量記錄。

Azure Resource Manager 範本是 JavaScript 物件表示法 (JSON) 檔案,會使用宣告式語法定義專案的基礎結構和組態。

必要條件

NSG 流量記錄物件

下列範例顯示具有所有參數的NSG流量記錄物件。 如需物件屬性的完整概觀,請參閱 NSG 流量記錄範本參考

{
  "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 資源,請將上述 JSON 新增至範本的資源區段。

建立範本

若要深入瞭解如何使用 Azure Resource Manager 範本,請參閱:

下列範例提供完整的範本,以啟用 NSG 流量記錄。

範例 1

範例 1 會使用最簡單的 ARM 範本版本,並傳遞最小參數。 下列範本會在目標網路安全組上啟用 NSG 流量記錄,並將其儲存在指定的記憶體帳戶中。

{
  "$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": {}
    }

  }
  ]
}

注意

  • targetResourceId 是目標網路安全組的資源標識碼。
  • storageId 是目的地記憶體帳戶的資源標識碼。

範例 2

範例 2 使用下列範本來啟用 NSG 流量記錄 (第 2 版),並保留 5 天,並使用 10 分鐘的處理間隔進行使用分析。

{
  "$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
        }
      }
    }
  ]
}

注意

  • targetResourceId 是目標網路安全組的資源標識碼。
  • storageId 是目的地記憶體帳戶的資源標識碼。
  • workspaceResourceId 是使用分析工作區的資源標識碼。

部署 Azure Resource Manager 範本

本教學課程假設您有現有的資源群組和網路安全組,您可以啟用流量記錄。 您可以在本機將上述任何範例樣本儲存為 azuredeploy.json。 更新屬性值,使其指向您訂用帳戶中的有效資源。

若要部署範本,請在PowerShell中執行下列命令。

$context = Get-AzSubscription -SubscriptionId <SubscriptionId>
Set-AzContext $context
New-AzResourceGroupDeployment -Name EnableFlowLog -ResourceGroupName NetworkWatcherRG `
    -TemplateFile "C:\MyTemplates\azuredeploy.json"

注意

上述命令會將資源部署至 NetworkWatcherRG 資源群組,而不是包含網路安全組的資源群組。

確認您的部署

有幾種方式可以檢查您的部署是否成功。 您的 PowerShell 控制台應該會顯示 「ProvisioningState」 為 「Succeeded」。 此外,您可以流覽 Flow 記錄入口網站頁面 ,以確認您的變更。 如果部署發生問題,請參閱 使用 Azure Resource Manager 針對常見的 Azure 部署錯誤進行疑難解答。

刪除您的資源

Azure 可透過 完整 部署模式啟用資源刪除。 若要刪除流程記錄資源,請在 [完整] 模式中指定部署,而不包含您想要刪除的資源。 如需詳細資訊,請參閱 完成部署模式

下一步

  • 若要瞭解如何使用 Azure 內建原則來稽核或部署 NSG 流量記錄,請參閱使用 Azure 原則 管理 NSG 流量記錄。
  • 若要瞭解使用分析,請參閱 使用分析