Microsoft.NetworkWatchers/packetCaptures 2018-08-01

Определение ресурсов Bicep

Тип ресурса networkWatchers/packetCaptures можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/networkWatchers/packetCaptures, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.Network/networkWatchers/packetCaptures@2018-08-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    bytesToCapturePerPacket: int
    filters: [
      {
        localIPAddress: 'string'
        localPort: 'string'
        protocol: 'string'
        remoteIPAddress: 'string'
        remotePort: 'string'
      }
    ]
    storageLocation: {
      filePath: 'string'
      storageId: 'string'
      storagePath: 'string'
    }
    target: 'string'
    timeLimitInSeconds: int
    totalBytesPerSession: int
  }
}

Значения свойств

Microsoft.Network/networkWatchers/packetCaptures

Имя Описание Ценность
имя Имя ресурса строка (обязательно)
родитель В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса.

Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса.
Символьное имя ресурса типа: networkWatchers
свойства Параметры, определяющие операцию создания записи пакетов. PacketCaptureParametersOrPacketCaptureResultProperties (обязательно)

Фильтр PacketCapture

Имя Описание Ценность
localIPddress Локальный IP-адрес для фильтрации. Нотация: "127.0.0.1" для записи с одним адресом. "127.0.0.1-127.0.0.255" для диапазона. "127.0.0.1; 127.0.0.5"? для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
локальный порт Локальный порт для фильтрации. Нотация: "80" для одной записи порта". 80-85" для диапазона. "80; 443;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
протокол Протокол для фильтрации. "Любой"
"TCP"
"UDP"
remoteIPПрессест Локальный IP-адрес для фильтрации. Нотация: "127.0.0.1" для записи с одним адресом. "127.0.0.1-127.0.0.255" для диапазона. "127.0.0.1; 127.0.0.5;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
remotePort Удаленный порт для фильтрации. Нотация: "80" для одной записи порта". 80-85" для диапазона. "80; 443;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна

PacketCaptureParametersOrPacketCaptureResultProperties

Имя Описание Ценность
bytesToCapturePerPacket Количество байтов, захваченных на один пакет, остальные байты усечены. инт
Фильтры PacketCaptureFilter[]
хранилищеРасположение Описывает расположение хранилища для сеанса записи пакетов. PacketCaptureStorageLocation (обязательно)
цель Идентификатор целевого ресурса поддерживается только виртуальная машина. строка (обязательно)
timeLimitInSeconds Максимальная длительность сеанса записи в секундах. инт
totalBytesPerSession Максимальный размер выходных данных записи. инт

PacketCaptureStorageLocation (Местоположение)

Имя Описание Ценность
путь к файлу Допустимый локальный путь на целевой виртуальной машине. Должно содержать имя файла записи (*.cap). Для виртуальной машины Linux он должен начинаться с /var/captures. Требуется, если идентификатор хранилища не указан, в противном случае необязательно. струна
storageId Идентификатор учетной записи хранения для сохранения сеанса записи пакетов. Требуется, если локальный путь к файлу не указан. струна
storagePath Универсальный код ресурса (URI) пути к хранилищу для сохранения записи пакетов. Должен быть хорошо сформированный универсальный код ресурса (URI), описывающий расположение для сохранения записи пакетов. струна

Примеры использования

Примеры Bicep

В качестве базового примера развертывания можно привести настройку захвата пакетов на виртуальной машине с помощью наблюдателя за сетями.

param resourceName string = 'acctest0001'
param location string = 'westus'
@secure()
@description('The administrator password for the virtual machine')
param adminPassword string

resource networkWatcher 'Microsoft.Network/networkWatchers@2024-05-01' = {
  name: '${resourceName}-nw'
  location: location
}

resource packetCapture 'Microsoft.Network/networkWatchers/packetCaptures@2024-05-01' = {
  name: '${resourceName}-pc'
  parent: networkWatcher
  properties: {
    bytesToCapturePerPacket: 0
    storageLocation: {
      filePath: '/var/captures/packet.cap'
    }
    target: virtualMachine.id
    targetType: 'AzureVM'
    timeLimitInSeconds: 18000
    totalBytesPerSession: 1073741824
  }
}

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: '${resourceName}-vnet'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    dhcpOptions: {
      dnsServers: []
    }
    privateEndpointVNetPolicies: 'Disabled'
  }
}

resource subnet 'Microsoft.Network/virtualNetworks/subnets@2024-05-01' = {
  name: 'internal'
  parent: virtualNetwork
  properties: {
    addressPrefix: '10.0.2.0/24'
    defaultOutboundAccess: true
    delegations: []
    privateEndpointNetworkPolicies: 'Disabled'
    privateLinkServiceNetworkPolicies: 'Enabled'
    serviceEndpointPolicies: []
    serviceEndpoints: []
  }
}

resource networkInterface 'Microsoft.Network/networkInterfaces@2024-05-01' = {
  name: '${resourceName}-nic'
  location: location
  properties: {
    enableAcceleratedNetworking: false
    enableIPForwarding: false
    ipConfigurations: [
      {
        name: 'ipconfig1'
        properties: {
          primary: true
          privateIPAddressVersion: 'IPv4'
          privateIPAllocationMethod: 'Dynamic'
          subnet: {
            id: subnet.id
          }
        }
      }
    ]
  }
}

resource virtualMachine 'Microsoft.Compute/virtualMachines@2024-03-01' = {
  name: '${resourceName}-vm'
  location: location
  properties: {
    hardwareProfile: {
      vmSize: 'Standard_B1s'
    }
    networkProfile: {
      networkInterfaces: [
        {
          id: networkInterface.id
          properties: {
            primary: true
          }
        }
      ]
    }
    osProfile: {
      adminPassword: adminPassword
      adminUsername: 'testadmin'
      computerName: '${resourceName}-vm'
      linuxConfiguration: {
        disablePasswordAuthentication: false
      }
    }
    storageProfile: {
      imageReference: {
        offer: '0001-com-ubuntu-server-jammy'
        publisher: 'Canonical'
        sku: '22_04-lts'
        version: 'latest'
      }
      osDisk: {
        caching: 'ReadWrite'
        createOption: 'FromImage'
        managedDisk: {
          storageAccountType: 'Standard_LRS'
        }
        name: '${resourceName}-osdisk'
        writeAcceleratorEnabled: false
      }
    }
  }
}

resource extension 'Microsoft.Compute/virtualMachines/extensions@2024-03-01' = {
  name: 'network-watcher'
  location: location
  parent: virtualMachine
  properties: {
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: false
    publisher: 'Microsoft.Azure.NetworkWatcher'
    suppressFailures: false
    type: 'NetworkWatcherAgentLinux'
    typeHandlerVersion: '1.4'
  }
}

Определение ресурса шаблона ARM

Тип ресурса networkWatchers/packetCaptures можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/networkWatchers/packetCaptures, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.Network/networkWatchers/packetCaptures",
  "apiVersion": "2018-08-01",
  "name": "string",
  "properties": {
    "bytesToCapturePerPacket": "int",
    "filters": [
      {
        "localIPAddress": "string",
        "localPort": "string",
        "protocol": "string",
        "remoteIPAddress": "string",
        "remotePort": "string"
      }
    ],
    "storageLocation": {
      "filePath": "string",
      "storageId": "string",
      "storagePath": "string"
    },
    "target": "string",
    "timeLimitInSeconds": "int",
    "totalBytesPerSession": "int"
  }
}

Значения свойств

Microsoft.Network/networkWatchers/packetCaptures

Имя Описание Ценность
apiVersion Версия API '2018-08-01'
имя Имя ресурса строка (обязательно)
свойства Параметры, определяющие операцию создания записи пакетов. PacketCaptureParametersOrPacketCaptureResultProperties (обязательно)
тип Тип ресурса "Microsoft.Network/networkWatchers/packetCaptures"

Фильтр PacketCapture

Имя Описание Ценность
localIPddress Локальный IP-адрес для фильтрации. Нотация: "127.0.0.1" для записи с одним адресом. "127.0.0.1-127.0.0.255" для диапазона. "127.0.0.1; 127.0.0.5"? для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
локальный порт Локальный порт для фильтрации. Нотация: "80" для одной записи порта". 80-85" для диапазона. "80; 443;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
протокол Протокол для фильтрации. "Любой"
"TCP"
"UDP"
remoteIPПрессест Локальный IP-адрес для фильтрации. Нотация: "127.0.0.1" для записи с одним адресом. "127.0.0.1-127.0.0.255" для диапазона. "127.0.0.1; 127.0.0.5;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
remotePort Удаленный порт для фильтрации. Нотация: "80" для одной записи порта". 80-85" для диапазона. "80; 443;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна

PacketCaptureParametersOrPacketCaptureResultProperties

Имя Описание Ценность
bytesToCapturePerPacket Количество байтов, захваченных на один пакет, остальные байты усечены. инт
Фильтры PacketCaptureFilter[]
хранилищеРасположение Описывает расположение хранилища для сеанса записи пакетов. PacketCaptureStorageLocation (обязательно)
цель Идентификатор целевого ресурса поддерживается только виртуальная машина. строка (обязательно)
timeLimitInSeconds Максимальная длительность сеанса записи в секундах. инт
totalBytesPerSession Максимальный размер выходных данных записи. инт

PacketCaptureStorageLocation (Местоположение)

Имя Описание Ценность
путь к файлу Допустимый локальный путь на целевой виртуальной машине. Должно содержать имя файла записи (*.cap). Для виртуальной машины Linux он должен начинаться с /var/captures. Требуется, если идентификатор хранилища не указан, в противном случае необязательно. струна
storageId Идентификатор учетной записи хранения для сохранения сеанса записи пакетов. Требуется, если локальный путь к файлу не указан. струна
storagePath Универсальный код ресурса (URI) пути к хранилищу для сохранения записи пакетов. Должен быть хорошо сформированный универсальный код ресурса (URI), описывающий расположение для сохранения записи пакетов. струна

Примеры использования

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса networkWatchers/packetCaptures можно развернуть с помощью операций, предназначенных для следующих операций:

  • Группы ресурсов

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/networkWatchers/packetCaptures, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/networkWatchers/packetCaptures@2018-08-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      bytesToCapturePerPacket = int
      filters = [
        {
          localIPAddress = "string"
          localPort = "string"
          protocol = "string"
          remoteIPAddress = "string"
          remotePort = "string"
        }
      ]
      storageLocation = {
        filePath = "string"
        storageId = "string"
        storagePath = "string"
      }
      target = "string"
      timeLimitInSeconds = int
      totalBytesPerSession = int
    }
  }
}

Значения свойств

Microsoft.Network/networkWatchers/packetCaptures

Имя Описание Ценность
имя Имя ресурса строка (обязательно)
идентификатор_родителя Идентификатор ресурса, который является родительским для этого ресурса. Идентификатор ресурса типа: networkWatchers
свойства Параметры, определяющие операцию создания записи пакетов. PacketCaptureParametersOrPacketCaptureResultProperties (обязательно)
тип Тип ресурса "Microsoft.Network/networkWatchers/packetCaptures@2018-08-01"

Фильтр PacketCapture

Имя Описание Ценность
localIPddress Локальный IP-адрес для фильтрации. Нотация: "127.0.0.1" для записи с одним адресом. "127.0.0.1-127.0.0.255" для диапазона. "127.0.0.1; 127.0.0.5"? для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
локальный порт Локальный порт для фильтрации. Нотация: "80" для одной записи порта". 80-85" для диапазона. "80; 443;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
протокол Протокол для фильтрации. "Любой"
"TCP"
"UDP"
remoteIPПрессест Локальный IP-адрес для фильтрации. Нотация: "127.0.0.1" для записи с одним адресом. "127.0.0.1-127.0.0.255" для диапазона. "127.0.0.1; 127.0.0.5;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна
remotePort Удаленный порт для фильтрации. Нотация: "80" для одной записи порта". 80-85" для диапазона. "80; 443;" для нескольких записей. В настоящее время несколько диапазонов не поддерживаются. Сочетание диапазонов с несколькими записями, которые в настоящее время не поддерживаются. По умолчанию = null. струна

PacketCaptureParametersOrPacketCaptureResultProperties

Имя Описание Ценность
bytesToCapturePerPacket Количество байтов, захваченных на один пакет, остальные байты усечены. инт
Фильтры PacketCaptureFilter[]
хранилищеРасположение Описывает расположение хранилища для сеанса записи пакетов. PacketCaptureStorageLocation (обязательно)
цель Идентификатор целевого ресурса поддерживается только виртуальная машина. строка (обязательно)
timeLimitInSeconds Максимальная длительность сеанса записи в секундах. инт
totalBytesPerSession Максимальный размер выходных данных записи. инт

PacketCaptureStorageLocation (Местоположение)

Имя Описание Ценность
путь к файлу Допустимый локальный путь на целевой виртуальной машине. Должно содержать имя файла записи (*.cap). Для виртуальной машины Linux он должен начинаться с /var/captures. Требуется, если идентификатор хранилища не указан, в противном случае необязательно. струна
storageId Идентификатор учетной записи хранения для сохранения сеанса записи пакетов. Требуется, если локальный путь к файлу не указан. струна
storagePath Универсальный код ресурса (URI) пути к хранилищу для сохранения записи пакетов. Должен быть хорошо сформированный универсальный код ресурса (URI), описывающий расположение для сохранения записи пакетов. струна

Примеры использования

Примеры Terraform

В качестве базового примера развертывания можно привести настройку захвата пакетов на виртуальной машине с помощью наблюдателя за сетями.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westus"
}

variable "admin_password" {
  type        = string
  sensitive   = true
  description = "The administrator password for the virtual machine"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "networkWatcher" {
  type      = "Microsoft.Network/networkWatchers@2024-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-nw"
  location  = var.location
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2024-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-vnet"
  location  = var.location
  body = {
    properties = {
      addressSpace = {
        addressPrefixes = ["10.0.0.0/16"]
      }
      dhcpOptions = {
        dnsServers = []
      }
      privateEndpointVNetPolicies = "Disabled"
    }
  }
}

resource "azapi_resource" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2024-05-01"
  parent_id = azapi_resource.virtualNetwork.id
  name      = "internal"
  body = {
    properties = {
      addressPrefix                     = "10.0.2.0/24"
      defaultOutboundAccess             = true
      delegations                       = []
      privateEndpointNetworkPolicies    = "Disabled"
      privateLinkServiceNetworkPolicies = "Enabled"
      serviceEndpointPolicies           = []
      serviceEndpoints                  = []
    }
  }
}

resource "azapi_resource" "networkInterface" {
  type      = "Microsoft.Network/networkInterfaces@2024-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-nic"
  location  = var.location
  body = {
    properties = {
      enableAcceleratedNetworking = false
      enableIPForwarding          = false
      ipConfigurations = [{
        name = "ipconfig1"
        properties = {
          primary                   = true
          privateIPAddressVersion   = "IPv4"
          privateIPAllocationMethod = "Dynamic"
          subnet = {
            id = azapi_resource.subnet.id
          }
        }
      }]
    }
  }
}

resource "azapi_resource" "virtualMachine" {
  type      = "Microsoft.Compute/virtualMachines@2024-03-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-vm"
  location  = var.location
  body = {
    properties = {
      hardwareProfile = {
        vmSize = "Standard_B1s"
      }
      networkProfile = {
        networkInterfaces = [{
          id = azapi_resource.networkInterface.id
          properties = {
            primary = true
          }
        }]
      }
      osProfile = {
        adminPassword = var.admin_password
        adminUsername = "testadmin"
        computerName  = "${var.resource_name}-vm"
        linuxConfiguration = {
          disablePasswordAuthentication = false
        }
      }
      storageProfile = {
        imageReference = {
          offer     = "0001-com-ubuntu-server-jammy"
          publisher = "Canonical"
          sku       = "22_04-lts"
          version   = "latest"
        }
        osDisk = {
          caching      = "ReadWrite"
          createOption = "FromImage"
          managedDisk = {
            storageAccountType = "Standard_LRS"
          }
          name                    = "${var.resource_name}-osdisk"
          writeAcceleratorEnabled = false
        }
      }
    }
  }
}

resource "azapi_resource" "extension" {
  type      = "Microsoft.Compute/virtualMachines/extensions@2024-03-01"
  parent_id = azapi_resource.virtualMachine.id
  name      = "network-watcher"
  location  = var.location
  body = {
    properties = {
      autoUpgradeMinorVersion = true
      enableAutomaticUpgrade  = false
      publisher               = "Microsoft.Azure.NetworkWatcher"
      suppressFailures        = false
      type                    = "NetworkWatcherAgentLinux"
      typeHandlerVersion      = "1.4"
    }
  }
}

resource "azapi_resource" "packetCapture" {
  type      = "Microsoft.Network/networkWatchers/packetCaptures@2024-05-01"
  parent_id = azapi_resource.networkWatcher.id
  name      = "${var.resource_name}-pc"
  body = {
    properties = {
      bytesToCapturePerPacket = 0
      storageLocation = {
        filePath = "/var/captures/packet.cap"
      }
      target               = azapi_resource.virtualMachine.id
      targetType           = "AzureVM"
      timeLimitInSeconds   = 18000
      totalBytesPerSession = 1073741824
    }
  }
}