Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies

Definisi sumber daya Bicep

Jenis sumber daya ApplicationGatewayWebApplicationFirewallPolicies dapat disebarkan dengan operasi yang menargetkan:

Untuk daftar properti yang diubah di setiap versi API, lihat log perubahan.

Format sumber daya

Untuk membuat sumber daya Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, tambahkan Bicep berikut ke templat Anda.

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    customRules: [
      {
        action: 'string'
        groupByUserSession: [
          {
            groupByVariables: [
              {
                variableName: 'string'
              }
            ]
          }
        ]
        matchConditions: [
          {
            matchValues: [
              'string'
            ]
            matchVariables: [
              {
                selector: 'string'
                variableName: 'string'
              }
            ]
            negationConditon: bool
            operator: 'string'
            transforms: [
              'string'
            ]
          }
        ]
        name: 'string'
        priority: int
        rateLimitDuration: 'string'
        rateLimitThreshold: int
        ruleType: 'string'
        state: 'string'
      }
    ]
    managedRules: {
      exclusions: [
        {
          exclusionManagedRuleSets: [
            {
              ruleGroups: [
                {
                  ruleGroupName: 'string'
                  rules: [
                    {
                      ruleId: 'string'
                    }
                  ]
                }
              ]
              ruleSetType: 'string'
              ruleSetVersion: 'string'
            }
          ]
          matchVariable: 'string'
          selector: 'string'
          selectorMatchOperator: 'string'
        }
      ]
      managedRuleSets: [
        {
          ruleGroupOverrides: [
            {
              ruleGroupName: 'string'
              rules: [
                {
                  action: 'string'
                  ruleId: 'string'
                  state: 'string'
                }
              ]
            }
          ]
          ruleSetType: 'string'
          ruleSetVersion: 'string'
        }
      ]
    }
    policySettings: {
      customBlockResponseBody: 'string'
      customBlockResponseStatusCode: int
      fileUploadEnforcement: bool
      fileUploadLimitInMb: int
      logScrubbing: {
        scrubbingRules: [
          {
            matchVariable: 'string'
            selector: 'string'
            selectorMatchOperator: 'string'
            state: 'string'
          }
        ]
        state: 'string'
      }
      maxRequestBodySizeInKb: int
      mode: 'string'
      requestBodyCheck: bool
      requestBodyEnforcement: bool
      requestBodyInspectLimitInKB: int
      state: 'string'
    }
  }
}

Nilai properti

ApplicationGatewayWebApplicationFirewallPolicies

Nama Deskripsi Nilai
nama Nama sumber daya string (diperlukan)
lokasi Lokasi sumber daya. string
tag Tag sumber daya. Kamus nama dan nilai tag. Lihat Tag dalam templat
properti Properti kebijakan firewall aplikasi web. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Nama Deskripsi Nilai
customRules Aturan kustom di dalam kebijakan. WebApplicationFirewallCustomRule[]
managedRules Menjelaskan struktur managedRules. ManagedRulesDefinition (diperlukan)
policySettings PolicySettings untuk kebijakan. Pengaturan Kebijakan

WebApplicationFirewallCustomRule

Nama Deskripsi Nilai
tindakan Jenis Tindakan. 'Izinkan'
'Blokir'
'Log' (diperlukan)
groupByUserSession Daftar grup pengidentifikasi sesi pengguna menurut klausa. GroupByUserSession[]
matchConditions Daftar kondisi kecocokan. MatchCondition[] (diperlukan)
nama Nama sumber daya yang unik dalam kebijakan. Nama ini dapat digunakan untuk mengakses sumber daya. string
prioritas Prioritas aturan. Aturan dengan nilai yang lebih rendah akan dievaluasi sebelum aturan dengan nilai yang lebih tinggi. int (diperlukan)
rateLimitDuration Durasi di mana kebijakan Batas Tarif akan diterapkan. Hanya berlaku ketika ruleType adalah RateLimitRule. 'FiveMins'
'OneMin'
rateLimitThreshold Ambang Batas Tarif untuk diterapkan jika ruleType adalah RateLimitRule. Harus lebih besar dari atau sama dengan 1 int
ruleType Jenis aturan. 'Tidak Valid'
'MatchRule'
'RateLimitRule' (diperlukan)
state Menjelaskan apakah aturan kustom dalam status diaktifkan atau dinonaktifkan. Default ke Diaktifkan jika tidak ditentukan. 'Dinonaktifkan'
'Diaktifkan'

GroupByUserSession

Nama Deskripsi Nilai
groupByVariables Daftar variabel grup menurut klausul. GroupByVariable[] (diperlukan)

GroupByVariable

Nama Deskripsi Nilai
variableName Variabel klausa Sesi Pengguna. 'ClientAddr'
'GeoLokasi'
'None' (diperlukan)

MatchCondition

Nama Deskripsi Nilai
matchValues Cocokkan nilai. string[] (diperlukan)
matchVariables Daftar variabel kecocokan. MatchVariable[] (diperlukan)
negationConditon Apakah ini meniadakan kondisi atau tidak. bool
operator Operator yang akan dicocokkan. 'Any'
'BeginsWith'
'Berisi'
'EndsWith'
'Sama Dengan'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (diperlukan)
transformasi Daftar transformasi. Array string yang berisi salah satu dari:
'HtmlEntityDecode'
'Huruf kecil'
'RemoveNulls'
'Pangkas'
'Huruf besar'
'UrlDecode'
'UrlEncode'

MatchVariable

Nama Deskripsi Nilai
pemilih Pemilih variabel pencocokan. string
variableName Cocokkan Variabel. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (diperlukan)

ManagedRulesDefinition

Nama Deskripsi Nilai
pengecualian Pengecualian yang diterapkan pada kebijakan. OwaspCrsExclusionEntry[]
managedRuleSets Seperangkat aturan terkelola yang terkait dengan kebijakan. ManagedRuleSet[] (diperlukan)

OwaspCrsExclusionEntry

Nama Deskripsi Nilai
exclusionManagedRuleSets Seperangkat aturan terkelola yang terkait dengan pengecualian. ExclusionManagedRuleSet[]
matchVariable Variabel yang akan dikecualikan. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (diperlukan)
pemilih Ketika matchVariable adalah koleksi, operator yang digunakan untuk menentukan elemen mana dalam koleksi tempat pengecualian ini berlaku. string (diperlukan)
selectorMatchOperator Ketika matchVariable adalah koleksi, operasikan pada pemilih untuk menentukan elemen mana dalam koleksi tempat pengecualian ini berlaku. 'Berisi'
'EndsWith'
'Sama Dengan'
'EqualsAny'
'StartsWith' (diperlukan)

ExclusionManagedRuleSet

Nama Deskripsi Nilai
ruleGroups Menentukan grup aturan yang akan diterapkan ke seperangkat aturan. ExclusionManagedRuleGroup[]
ruleSetType Menentukan jenis seperangkat aturan yang akan digunakan. string (diperlukan)
ruleSetVersion Menentukan versi seperangkat aturan yang akan digunakan. string (diperlukan)

ExclusionManagedRuleGroup

Nama Deskripsi Nilai
ruleGroupName Grup aturan terkelola untuk pengecualian. string (diperlukan)
aturan Daftar aturan yang akan dikecualikan. Jika tidak ada yang ditentukan, semua aturan dalam grup akan dikecualikan. ExclusionManagedRule[]

ExclusionManagedRule

Nama Deskripsi Nilai
ruleId Pengidentifikasi untuk aturan terkelola. string (diperlukan)

ManagedRuleSet

Nama Deskripsi Nilai
ruleGroupOverrides Menentukan penimpaan grup aturan untuk diterapkan ke seperangkat aturan. ManagedRuleGroupOverride[]
ruleSetType Menentukan jenis seperangkat aturan yang akan digunakan. string (diperlukan)
ruleSetVersion Menentukan versi seperangkat aturan yang akan digunakan. string (diperlukan)

ManagedRuleGroupOverride

Nama Deskripsi Nilai
ruleGroupName Grup aturan terkelola yang akan diambil alih. string (diperlukan)
aturan Daftar aturan yang akan dinonaktifkan. Jika tidak ada yang ditentukan, semua aturan dalam grup akan dinonaktifkan. ManagedRuleOverride[]

ManagedRuleOverride

Nama Deskripsi Nilai
tindakan Menjelaskan tindakan penimpaan yang akan diterapkan saat aturan cocok. 'Izinkan'
'AnomalyScoring'
'Blokir'
'Log'
ruleId Pengidentifikasi untuk aturan terkelola. string (diperlukan)
state Status aturan terkelola. Default ke Dinonaktifkan jika tidak ditentukan. 'Dinonaktifkan'
'Diaktifkan'

Pengaturan Kebijakan

Nama Deskripsi Nilai
customBlockResponseBody Jika jenis tindakan diblokir, pelanggan dapat mengambil alih isi respons. Isi harus ditentukan dalam pengodean base64. string
customBlockResponseStatusCode Jika jenis tindakan diblokir, pelanggan dapat mengambil alih kode status respons. int
fileUploadEnforcement Apakah mengizinkan WAF untuk memberlakukan batas unggahan file. bool
fileUploadLimitInMb Ukuran unggahan file maksimum dalam Mb untuk WAF. int
logScrubbing Untuk menggosok bidang log sensitif PolicySettingsLogScrubbing
maxRequestBodySizeInKb Ukuran isi permintaan maksimum dalam Kb untuk WAF. int
mode Mode kebijakan. 'Deteksi'
'Pencegahan'
requestBodyCheck Apakah mengizinkan WAF untuk memeriksa Isi permintaan. bool
requestBodyEnforcement Apakah mengizinkan WAF untuk memberlakukan batas isi permintaan. bool
requestBodyInspectLimitInKB Batas pemeriksaan maksimum dalam KB untuk pemeriksaan isi permintaan untuk WAF. int
state Status kebijakan. 'Dinonaktifkan'
'Diaktifkan'

PolicySettingsLogScrubbing

Nama Deskripsi Nilai
scrubbingRules Aturan yang diterapkan ke log untuk menggosok. WebApplicationFirewallScrubbingRules[]
state Status konfigurasi scrubbing log. Nilai default diaktifkan. 'Dinonaktifkan'
'Diaktifkan'

WebApplicationFirewallScrubbingRules

Nama Deskripsi Nilai
matchVariable Variabel yang akan digosok dari log. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (diperlukan)
pemilih Ketika matchVariable adalah koleksi, operator yang digunakan untuk menentukan elemen mana dalam koleksi tempat aturan ini berlaku. string
selectorMatchOperator Ketika matchVariable adalah koleksi, operasikan pada pemilih untuk menentukan elemen mana dalam koleksi tempat aturan ini berlaku. 'Sama dengan'
'EqualsAny' (diperlukan)
state Mendefinisikan status aturan scrubbing log. Nilai default diaktifkan. 'Dinonaktifkan'
'Diaktifkan'

Templat Mulai Cepat

Templat mulai cepat berikut menyebarkan jenis sumber daya ini.

Templat Deskripsi
Membuat Azure WAF v2 di Azure Application Gateway

Sebarkan ke Azure
Templat ini membuat Azure Web Application Firewall v2 di Azure Application Gateway dengan dua server Windows Server 2016 di kumpulan backend
Kluster AKS dengan NAT Gateway dan Application Gateway

Sebarkan ke Azure
Sampel ini menunjukkan cara menyebarkan kluster AKS dengan NAT Gateway untuk koneksi keluar dan Application Gateway untuk koneksi masuk.
Front Door Standard/Premium dengan asal Application Gateway

Sebarkan ke Azure
Templat ini membuat Front Door Standard/Premium dan instans Application Gateway, dan menggunakan kebijakan NSG dan WAF untuk memvalidasi bahwa lalu lintas telah datang melalui asal Front Door.
Front Door dengan Container Instances dan Application Gateway

Sebarkan ke Azure
Templat ini membuat Front Door Standard/Premium dengan grup kontainer dan Application Gateway.
Kluster AKS dengan Application Gateway Ingress Controller

Sebarkan ke Azure
Sampel ini menunjukkan cara menyebarkan kluster AKS dengan Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics, dan Key Vault
Application Gateway dengan WAF dan kebijakan firewall

Sebarkan ke Azure
Templat ini membuat Application Gateway dengan WAF yang dikonfigurasi bersama dengan kebijakan firewall

Definisi sumber daya templat ARM

Jenis sumber daya ApplicationGatewayWebApplicationFirewallPolicies dapat disebarkan dengan operasi yang menargetkan:

Untuk daftar properti yang diubah di setiap versi API, lihat mengubah log.

Format sumber daya

Untuk membuat sumber daya Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, tambahkan JSON berikut ke templat Anda.

{
  "type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
  "apiVersion": "2023-04-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "customRules": [
      {
        "action": "string",
        "groupByUserSession": [
          {
            "groupByVariables": [
              {
                "variableName": "string"
              }
            ]
          }
        ],
        "matchConditions": [
          {
            "matchValues": [ "string" ],
            "matchVariables": [
              {
                "selector": "string",
                "variableName": "string"
              }
            ],
            "negationConditon": "bool",
            "operator": "string",
            "transforms": [ "string" ]
          }
        ],
        "name": "string",
        "priority": "int",
        "rateLimitDuration": "string",
        "rateLimitThreshold": "int",
        "ruleType": "string",
        "state": "string"
      }
    ],
    "managedRules": {
      "exclusions": [
        {
          "exclusionManagedRuleSets": [
            {
              "ruleGroups": [
                {
                  "ruleGroupName": "string",
                  "rules": [
                    {
                      "ruleId": "string"
                    }
                  ]
                }
              ],
              "ruleSetType": "string",
              "ruleSetVersion": "string"
            }
          ],
          "matchVariable": "string",
          "selector": "string",
          "selectorMatchOperator": "string"
        }
      ],
      "managedRuleSets": [
        {
          "ruleGroupOverrides": [
            {
              "ruleGroupName": "string",
              "rules": [
                {
                  "action": "string",
                  "ruleId": "string",
                  "state": "string"
                }
              ]
            }
          ],
          "ruleSetType": "string",
          "ruleSetVersion": "string"
        }
      ]
    },
    "policySettings": {
      "customBlockResponseBody": "string",
      "customBlockResponseStatusCode": "int",
      "fileUploadEnforcement": "bool",
      "fileUploadLimitInMb": "int",
      "logScrubbing": {
        "scrubbingRules": [
          {
            "matchVariable": "string",
            "selector": "string",
            "selectorMatchOperator": "string",
            "state": "string"
          }
        ],
        "state": "string"
      },
      "maxRequestBodySizeInKb": "int",
      "mode": "string",
      "requestBodyCheck": "bool",
      "requestBodyEnforcement": "bool",
      "requestBodyInspectLimitInKB": "int",
      "state": "string"
    }
  }
}

Nilai properti

ApplicationGatewayWebApplicationFirewallPolicies

Nama Deskripsi Nilai
jenis Jenis sumber daya 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'
apiVersion Versi api sumber daya '2023-04-01'
nama Nama sumber daya string (diperlukan)
lokasi Lokasi sumber daya. string
tag Tag sumber daya. Kamus nama dan nilai tag. Lihat Tag dalam templat
properti Properti kebijakan firewall aplikasi web. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Nama Deskripsi Nilai
customRules Aturan kustom di dalam kebijakan. WebApplicationFirewallCustomRule[]
managedRules Menjelaskan struktur managedRules. ManagedRulesDefinition (diperlukan)
policySettings PolicySettings untuk kebijakan. Pengaturan Kebijakan

WebApplicationFirewallCustomRule

Nama Deskripsi Nilai
tindakan Jenis Tindakan. 'Izinkan'
'Blokir'
'Log' (diperlukan)
groupByUserSession Daftar grup pengidentifikasi sesi pengguna menurut klausa. GroupByUserSession[]
matchConditions Daftar kondisi kecocokan. MatchCondition[] (diperlukan)
nama Nama sumber daya yang unik dalam kebijakan. Nama ini dapat digunakan untuk mengakses sumber daya. string
prioritas Prioritas aturan. Aturan dengan nilai yang lebih rendah akan dievaluasi sebelum aturan dengan nilai yang lebih tinggi. int (diperlukan)
rateLimitDuration Durasi di mana kebijakan Batas Tarif akan diterapkan. Hanya berlaku ketika ruleType adalah RateLimitRule. 'FiveMins'
'OneMin'
rateLimitThreshold Ambang Batas Tarif untuk diterapkan jika ruleType adalah RateLimitRule. Harus lebih besar dari atau sama dengan 1 int
ruleType Jenis aturan. 'Tidak Valid'
'MatchRule'
'RateLimitRule' (diperlukan)
state Menjelaskan apakah aturan kustom dalam status diaktifkan atau dinonaktifkan. Default ke Diaktifkan jika tidak ditentukan. 'Dinonaktifkan'
'Diaktifkan'

GroupByUserSession

Nama Deskripsi Nilai
groupByVariables Daftar variabel grup menurut klausul. GroupByVariable[] (diperlukan)

GroupByVariable

Nama Deskripsi Nilai
variableName Variabel klausa Sesi Pengguna. 'ClientAddr'
'GeoLokasi'
'None' (diperlukan)

MatchCondition

Nama Deskripsi Nilai
matchValues Cocokkan nilai. string[] (diperlukan)
matchVariables Daftar variabel kecocokan. MatchVariable[] (diperlukan)
negationConditon Apakah ini meniadakan kondisi atau tidak. bool
operator Operator yang akan dicocokkan. 'Any'
'BeginsWith'
'Berisi'
'EndsWith'
'Sama Dengan'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (diperlukan)
transformasi Daftar transformasi. Array string yang berisi salah satu dari:
'HtmlEntityDecode'
'Huruf kecil'
'RemoveNulls'
'Pangkas'
'Huruf besar'
'UrlDecode'
'UrlEncode'

MatchVariable

Nama Deskripsi Nilai
pemilih Pemilih variabel pencocokan. string
variableName Cocokkan Variabel. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (diperlukan)

ManagedRulesDefinition

Nama Deskripsi Nilai
pengecualian Pengecualian yang diterapkan pada kebijakan. OwaspCrsExclusionEntry[]
managedRuleSets Seperangkat aturan terkelola yang terkait dengan kebijakan. ManagedRuleSet[] (diperlukan)

OwaspCrsExclusionEntry

Nama Deskripsi Nilai
exclusionManagedRuleSets Seperangkat aturan terkelola yang terkait dengan pengecualian. ExclusionManagedRuleSet[]
matchVariable Variabel yang akan dikecualikan. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (diperlukan)
pemilih Ketika matchVariable adalah koleksi, operator yang digunakan untuk menentukan elemen mana dalam koleksi tempat pengecualian ini berlaku. string (diperlukan)
selectorMatchOperator Ketika matchVariable adalah koleksi, operasikan pada pemilih untuk menentukan elemen mana dalam koleksi tempat pengecualian ini berlaku. 'Berisi'
'EndsWith'
'Sama Dengan'
'EqualsAny'
'StartsWith' (diperlukan)

ExclusionManagedRuleSet

Nama Deskripsi Nilai
ruleGroups Menentukan grup aturan yang akan diterapkan ke seperangkat aturan. ExclusionManagedRuleGroup[]
ruleSetType Menentukan jenis seperangkat aturan yang akan digunakan. string (diperlukan)
ruleSetVersion Menentukan versi seperangkat aturan yang akan digunakan. string (diperlukan)

ExclusionManagedRuleGroup

Nama Deskripsi Nilai
ruleGroupName Grup aturan terkelola untuk pengecualian. string (diperlukan)
aturan Daftar aturan yang akan dikecualikan. Jika tidak ada yang ditentukan, semua aturan dalam grup akan dikecualikan. ExclusionManagedRule[]

ExclusionManagedRule

Nama Deskripsi Nilai
ruleId Pengidentifikasi untuk aturan terkelola. string (diperlukan)

ManagedRuleSet

Nama Deskripsi Nilai
ruleGroupOverrides Menentukan penimpaan grup aturan untuk diterapkan ke seperangkat aturan. ManagedRuleGroupOverride[]
ruleSetType Menentukan jenis seperangkat aturan yang akan digunakan. string (diperlukan)
ruleSetVersion Menentukan versi seperangkat aturan yang akan digunakan. string (diperlukan)

ManagedRuleGroupOverride

Nama Deskripsi Nilai
ruleGroupName Grup aturan terkelola yang akan diambil alih. string (diperlukan)
aturan Daftar aturan yang akan dinonaktifkan. Jika tidak ada yang ditentukan, semua aturan dalam grup akan dinonaktifkan. ManagedRuleOverride[]

ManagedRuleOverride

Nama Deskripsi Nilai
tindakan Menjelaskan tindakan penimpaan yang akan diterapkan saat aturan cocok. 'Izinkan'
'AnomalyScoring'
'Blokir'
'Log'
ruleId Pengidentifikasi untuk aturan terkelola. string (diperlukan)
state Status aturan terkelola. Default ke Dinonaktifkan jika tidak ditentukan. 'Dinonaktifkan'
'Diaktifkan'

Pengaturan Kebijakan

Nama Deskripsi Nilai
customBlockResponseBody Jika jenis tindakan diblokir, pelanggan dapat mengambil alih isi respons. Isi harus ditentukan dalam pengodean base64. string
customBlockResponseStatusCode Jika jenis tindakan diblokir, pelanggan dapat mengambil alih kode status respons. int
fileUploadEnforcement Apakah mengizinkan WAF untuk memberlakukan batas unggahan file. bool
fileUploadLimitInMb Ukuran unggahan file maksimum dalam Mb untuk WAF. int
logScrubbing Untuk menggosok bidang log sensitif PolicySettingsLogScrubbing
maxRequestBodySizeInKb Ukuran isi permintaan maksimum dalam Kb untuk WAF. int
mode Mode kebijakan. 'Deteksi'
'Pencegahan'
requestBodyCheck Apakah akan mengizinkan WAF untuk memeriksa Isi permintaan. bool
requestBodyEnforcement Apakah mengizinkan WAF untuk memberlakukan batas isi permintaan. bool
requestBodyInspectLimitInKB Batas inspeksi maksimum dalam KB untuk pemeriksaan isi permintaan untuk WAF. int
state Status kebijakan. 'Dinonaktifkan'
'Diaktifkan'

PolicySettingsLogScrubbing

Nama Deskripsi Nilai
scrubbingRules Aturan yang diterapkan ke log untuk menggosok. WebApplicationFirewallScrubbingRules[]
state Status konfigurasi scrubbing log. Nilai default Diaktifkan. 'Dinonaktifkan'
'Diaktifkan'

WebApplicationFirewallScrubbingRules

Nama Deskripsi Nilai
matchVariable Variabel yang akan digosok dari log. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (diperlukan)
pemilih Ketika matchVariable adalah koleksi, operator yang digunakan untuk menentukan elemen mana dalam koleksi tempat aturan ini berlaku. string
selectorMatchOperator Ketika matchVariable adalah koleksi, operasikan pada pemilih untuk menentukan elemen mana dalam koleksi tempat aturan ini berlaku. 'Sama Dengan'
'EqualsAny' (diperlukan)
state Mendefinisikan status aturan scrubbing log. Nilai default Diaktifkan. 'Dinonaktifkan'
'Diaktifkan'

Templat Mulai Cepat

Templat mulai cepat berikut menyebarkan jenis sumber daya ini.

Templat Deskripsi
Membuat Azure WAF v2 di Azure Application Gateway

Sebarkan ke Azure
Templat ini membuat Azure Web Application Firewall v2 di Azure Application Gateway dengan dua server Windows Server 2016 di kumpulan backend
Kluster AKS dengan NAT Gateway dan Application Gateway

Sebarkan ke Azure
Sampel ini menunjukkan cara menyebarkan kluster AKS dengan NAT Gateway untuk koneksi keluar dan Application Gateway untuk koneksi masuk.
Front Door Standard/Premium dengan asal Application Gateway

Sebarkan ke Azure
Templat ini membuat Front Door Standard/Premium dan instans Application Gateway, dan menggunakan kebijakan NSG dan WAF untuk memvalidasi bahwa lalu lintas telah masuk melalui asal Front Door.
Front Door dengan Container Instances dan Application Gateway

Sebarkan ke Azure
Templat ini membuat Front Door Standard/Premium dengan grup kontainer dan Application Gateway.
Kluster AKS dengan pengontrol Ingress Application Gateway

Sebarkan ke Azure
Sampel ini menunjukkan cara menyebarkan kluster AKS dengan Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics, dan Key Vault
Application Gateway dengan WAF dan kebijakan firewall

Sebarkan ke Azure
Templat ini membuat Application Gateway dengan WAF yang dikonfigurasi bersama dengan kebijakan firewall

Definisi sumber daya Terraform (penyedia AzAPI)

Jenis sumber daya ApplicationGatewayWebApplicationFirewallPolicies dapat disebarkan dengan operasi yang menargetkan:

  • Grup sumber daya

Untuk daftar properti yang diubah di setiap versi API, lihat log perubahan.

Format sumber daya

Untuk membuat sumber daya Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, tambahkan Terraform berikut ke templat Anda.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      customRules = [
        {
          action = "string"
          groupByUserSession = [
            {
              groupByVariables = [
                {
                  variableName = "string"
                }
              ]
            }
          ]
          matchConditions = [
            {
              matchValues = [
                "string"
              ]
              matchVariables = [
                {
                  selector = "string"
                  variableName = "string"
                }
              ]
              negationConditon = bool
              operator = "string"
              transforms = [
                "string"
              ]
            }
          ]
          name = "string"
          priority = int
          rateLimitDuration = "string"
          rateLimitThreshold = int
          ruleType = "string"
          state = "string"
        }
      ]
      managedRules = {
        exclusions = [
          {
            exclusionManagedRuleSets = [
              {
                ruleGroups = [
                  {
                    ruleGroupName = "string"
                    rules = [
                      {
                        ruleId = "string"
                      }
                    ]
                  }
                ]
                ruleSetType = "string"
                ruleSetVersion = "string"
              }
            ]
            matchVariable = "string"
            selector = "string"
            selectorMatchOperator = "string"
          }
        ]
        managedRuleSets = [
          {
            ruleGroupOverrides = [
              {
                ruleGroupName = "string"
                rules = [
                  {
                    action = "string"
                    ruleId = "string"
                    state = "string"
                  }
                ]
              }
            ]
            ruleSetType = "string"
            ruleSetVersion = "string"
          }
        ]
      }
      policySettings = {
        customBlockResponseBody = "string"
        customBlockResponseStatusCode = int
        fileUploadEnforcement = bool
        fileUploadLimitInMb = int
        logScrubbing = {
          scrubbingRules = [
            {
              matchVariable = "string"
              selector = "string"
              selectorMatchOperator = "string"
              state = "string"
            }
          ]
          state = "string"
        }
        maxRequestBodySizeInKb = int
        mode = "string"
        requestBodyCheck = bool
        requestBodyEnforcement = bool
        requestBodyInspectLimitInKB = int
        state = "string"
      }
    }
  })
}

Nilai properti

ApplicationGatewayWebApplicationFirewallPolicies

Nama Deskripsi Nilai
jenis Jenis sumber daya "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01"
nama Nama sumber daya string (diperlukan)
lokasi Lokasi sumber daya. string
parent_id Untuk menyebarkan ke grup sumber daya, gunakan ID grup sumber daya tersebut. string (diperlukan)
tag Tag sumber daya. Kamus nama dan nilai tag.
properti Properti kebijakan firewall aplikasi web. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Nama Deskripsi Nilai
customRules Aturan kustom di dalam kebijakan. WebApplicationFirewallCustomRule[]
managedRules Menjelaskan struktur managedRules. ManagedRulesDefinition (diperlukan)
policySettings PolicySettings untuk kebijakan. Pengaturan Kebijakan

WebApplicationFirewallCustomRule

Nama Deskripsi Nilai
tindakan Jenis Tindakan. "Izinkan"
"Blokir"
"Log" (diperlukan)
groupByUserSession Daftar grup pengidentifikasi sesi pengguna menurut klausa. GroupByUserSession[]
matchConditions Daftar kondisi kecocokan. MatchCondition[] (diperlukan)
nama Nama sumber daya yang unik dalam kebijakan. Nama ini dapat digunakan untuk mengakses sumber daya. string
prioritas Prioritas aturan. Aturan dengan nilai yang lebih rendah akan dievaluasi sebelum aturan dengan nilai yang lebih tinggi. int (diperlukan)
rateLimitDuration Durasi di mana kebijakan Batas Tarif akan diterapkan. Hanya berlaku ketika ruleType adalah RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Ambang Batas Tarif untuk diterapkan jika ruleType adalah RateLimitRule. Harus lebih besar dari atau sama dengan 1 int
ruleType Jenis aturan. "Tidak Valid"
"MatchRule"
"RateLimitRule" (diperlukan)
state Menjelaskan apakah aturan kustom dalam status diaktifkan atau dinonaktifkan. Default ke Diaktifkan jika tidak ditentukan. "Dinonaktifkan"
"Diaktifkan"

GroupByUserSession

Nama Deskripsi Nilai
groupByVariables Daftar variabel grup menurut klausul. GroupByVariable[] (diperlukan)

GroupByVariable

Nama Deskripsi Nilai
variableName Variabel klausa Sesi Pengguna. "ClientAddr"
"GeoLokasi"
"Tidak Ada" (diperlukan)

MatchCondition

Nama Deskripsi Nilai
matchValues Cocokkan nilai. string[] (diperlukan)
matchVariables Daftar variabel kecocokan. MatchVariable[] (diperlukan)
negationConditon Apakah ini meniadakan kondisi atau tidak. bool
operator Operator yang akan dicocokkan. "Apa saja"
"BeginsWith"
"Berisi"
"EndsWith"
"Sama Dengan"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (diperlukan)
transformasi Daftar transformasi. Array string yang berisi salah satu dari:
"HtmlEntityDecode"
"Huruf kecil"
"RemoveNulls"
"Pangkas"
"Huruf besar"
"UrlDecode"
"UrlEncode"

MatchVariable

Nama Deskripsi Nilai
pemilih Pemilih variabel pencocokan. string
variableName Cocokkan Variabel. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (diperlukan)

ManagedRulesDefinition

Nama Deskripsi Nilai
pengecualian Pengecualian yang diterapkan pada kebijakan. OwaspCrsExclusionEntry[]
managedRuleSets Seperangkat aturan terkelola yang terkait dengan kebijakan. ManagedRuleSet[] (diperlukan)

OwaspCrsExclusionEntry

Nama Deskripsi Nilai
exclusionManagedRuleSets Seperangkat aturan terkelola yang terkait dengan pengecualian. ExclusionManagedRuleSet[]
matchVariable Variabel yang akan dikecualikan. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (diperlukan)
pemilih Ketika matchVariable adalah koleksi, operator yang digunakan untuk menentukan elemen mana dalam koleksi tempat pengecualian ini berlaku. string (diperlukan)
selectorMatchOperator Ketika matchVariable adalah koleksi, operasikan pada pemilih untuk menentukan elemen mana dalam koleksi tempat pengecualian ini berlaku. "Berisi"
"EndsWith"
"Sama Dengan"
"EqualsAny"
"StartsWith" (diperlukan)

ExclusionManagedRuleSet

Nama Deskripsi Nilai
ruleGroups Menentukan grup aturan yang akan diterapkan ke seperangkat aturan. ExclusionManagedRuleGroup[]
ruleSetType Menentukan jenis seperangkat aturan yang akan digunakan. string (diperlukan)
ruleSetVersion Menentukan versi seperangkat aturan yang akan digunakan. string (diperlukan)

ExclusionManagedRuleGroup

Nama Deskripsi Nilai
ruleGroupName Grup aturan terkelola untuk pengecualian. string (diperlukan)
aturan Daftar aturan yang akan dikecualikan. Jika tidak ada yang ditentukan, semua aturan dalam grup akan dikecualikan. ExclusionManagedRule[]

ExclusionManagedRule

Nama Deskripsi Nilai
ruleId Pengidentifikasi untuk aturan terkelola. string (diperlukan)

ManagedRuleSet

Nama Deskripsi Nilai
ruleGroupOverrides Menentukan penimpaan grup aturan untuk diterapkan ke seperangkat aturan. ManagedRuleGroupOverride[]
ruleSetType Menentukan jenis seperangkat aturan yang akan digunakan. string (diperlukan)
ruleSetVersion Menentukan versi seperangkat aturan yang akan digunakan. string (diperlukan)

ManagedRuleGroupOverride

Nama Deskripsi Nilai
ruleGroupName Grup aturan terkelola yang akan diambil alih. string (diperlukan)
aturan Daftar aturan yang akan dinonaktifkan. Jika tidak ada yang ditentukan, semua aturan dalam grup akan dinonaktifkan. ManagedRuleOverride[]

ManagedRuleOverride

Nama Deskripsi Nilai
tindakan Menjelaskan tindakan penimpaan yang akan diterapkan saat aturan cocok. "Izinkan"
"AnomalyScoring"
"Blokir"
"Log"
ruleId Pengidentifikasi untuk aturan terkelola. string (diperlukan)
state Status aturan terkelola. Default ke Dinonaktifkan jika tidak ditentukan. "Dinonaktifkan"
"Diaktifkan"

Pengaturan Kebijakan

Nama Deskripsi Nilai
customBlockResponseBody Jika jenis tindakan diblokir, pelanggan dapat mengambil alih isi respons. Isi harus ditentukan dalam pengodean base64. string
customBlockResponseStatusCode Jika jenis tindakan diblokir, pelanggan dapat mengambil alih kode status respons. int
fileUploadEnforcement Apakah mengizinkan WAF untuk memberlakukan batas unggahan file. bool
fileUploadLimitInMb Ukuran unggahan file maksimum dalam Mb untuk WAF. int
logScrubbing Untuk menggosok bidang log sensitif PolicySettingsLogScrubbing
maxRequestBodySizeInKb Ukuran isi permintaan maksimum dalam Kb untuk WAF. int
mode Mode kebijakan. "Deteksi"
"Pencegahan"
requestBodyCheck Apakah akan mengizinkan WAF untuk memeriksa Isi permintaan. bool
requestBodyEnforcement Apakah mengizinkan WAF untuk memberlakukan batas isi permintaan. bool
requestBodyInspectLimitInKB Batas inspeksi maksimum dalam KB untuk pemeriksaan isi permintaan untuk WAF. int
state Status kebijakan. "Dinonaktifkan"
"Diaktifkan"

PolicySettingsLogScrubbing

Nama Deskripsi Nilai
scrubbingRules Aturan yang diterapkan ke log untuk menggosok. WebApplicationFirewallScrubbingRules[]
state Status konfigurasi scrubbing log. Nilai default Diaktifkan. "Dinonaktifkan"
"Diaktifkan"

WebApplicationFirewallScrubbingRules

Nama Deskripsi Nilai
matchVariable Variabel yang akan digosok dari log. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (diperlukan)
pemilih Ketika matchVariable adalah koleksi, operator yang digunakan untuk menentukan elemen mana dalam koleksi tempat aturan ini berlaku. string
selectorMatchOperator Ketika matchVariable adalah koleksi, operasikan pada pemilih untuk menentukan elemen mana dalam koleksi tempat aturan ini berlaku. "Sama Dengan"
"EqualsAny" (diperlukan)
state Mendefinisikan status aturan scrubbing log. Nilai default Diaktifkan. "Dinonaktifkan"
"Diaktifkan"