Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2020-11-01
Bicep リソース定義
ApplicationGatewayWebApplicationFirewallPolicies リソースの種類は、次をターゲットとする操作と共にデプロイできます。
- リソース グループ - リソース グループのデプロイ コマンドを参照してください
各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。
リソース形式
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2020-11-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
properties: {
customRules: [
{
action: 'string'
matchConditions: [
{
matchValues: [
'string'
]
matchVariables: [
{
selector: 'string'
variableName: 'string'
}
]
negationConditon: bool
operator: 'string'
transforms: [
'string'
]
}
]
name: 'string'
priority: int
ruleType: 'string'
}
]
managedRules: {
exclusions: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
managedRuleSets: [
{
ruleGroupOverrides: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
state: 'Disabled'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
fileUploadLimitInMb: int
maxRequestBodySizeInKb: int
mode: 'string'
requestBodyCheck: bool
state: 'string'
}
}
}
プロパティ値
ApplicationGatewayWebApplicationFirewallPolicies
名前 | 説明 | 値 |
---|---|---|
name | リソース名 | string (必須) |
location | リソースの場所。 | string |
tags | リソース タグ。 | タグの名前と値のディクショナリ。 「テンプレート内のタグ」を参照してください |
properties | Web アプリケーション ファイアウォール ポリシーのプロパティ。 | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
名前 | 説明 | 値 |
---|---|---|
customRules | ポリシー内のカスタム 規則。 | WebApplicationFirewallCustomRule[] |
managedRules | managedRules 構造体について説明します。 | ManagedRulesDefinition (必須) |
policySettings | ポリシーの PolicySettings。 | PolicySettings |
WebApplicationFirewallCustomRule
名前 | 説明 | 値 |
---|---|---|
action | アクションの種類。 | 'Allow' 'ブロック' 'Log' (必須) |
matchConditions | 一致条件の一覧。 | MatchCondition[] (必須) |
name | ポリシー内で一意のリソースの名前。 この名前は、リソースへのアクセスに使用できます。 | string 制約: 最大長 = 128 |
priority | ルールの優先度。 値が小さいルールは、値が大きいルールの前に評価されます。 | int (必須) |
ruleType | ルールの種類。 | 'Invalid' 'MatchRule' (必須) |
MatchCondition
名前 | 説明 | 値 |
---|---|---|
matchValues | 一致する値。 | string[] (必須) |
matchVariables | 一致変数の一覧。 | MatchVariable[] (必須) |
negationConditon | これが条件を否定するかどうか。 | [bool] |
operator | 照合する演算子。 | 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (必須) |
変換 | 変換の一覧。 | 次のいずれかを含む文字列配列: 'HtmlEntityDecode' '小文字' 'RemoveNulls' 'Trim' 'UrlDecode' 'UrlEncode' |
MatchVariable
名前 | 説明 | 値 |
---|---|---|
セレクター | match 変数のセレクター。 | string |
variableName | 一致する変数。 | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (必須) |
ManagedRulesDefinition
名前 | 説明 | 値 |
---|---|---|
除外 | ポリシーに適用される除外。 | OwaspCrsExclusionEntry[] |
managedRuleSets | ポリシーに関連付けられている管理ルール セット。 | ManagedRuleSet[] (必須) |
OwaspCrsExclusionEntry
名前 | 説明 | 値 |
---|---|---|
matchVariable | 除外する変数。 | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' (必須) |
セレクター | matchVariable がコレクションの場合、この除外が適用されるコレクション内の要素を指定するために演算子を使用します。 | string (必須) |
selectorMatchOperator | matchVariable がコレクションの場合は、セレクターを操作して、この除外が適用されるコレクション内の要素を指定します。 | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (必須) |
ManagedRuleSet
名前 | 説明 | 値 |
---|---|---|
ruleGroupOverrides | ルール セットに適用するルール グループのオーバーライドを定義します。 | ManagedRuleGroupOverride[] |
ruleSetType | 使用するルール セットの種類を定義します。 | string (必須) |
ruleSetVersion | 使用するルール セットのバージョンを定義します。 | string (必須) |
ManagedRuleGroupOverride
名前 | 説明 | 値 |
---|---|---|
ruleGroupName | オーバーライドするマネージド ルール グループ。 | string (必須) |
rules | 無効になるルールの一覧。 何も指定しない場合、グループ内のすべてのルールが無効になります。 | ManagedRuleOverride[] |
ManagedRuleOverride
名前 | 説明 | 値 |
---|---|---|
ruleId | マネージド ルールの識別子。 | string (必須) |
state | マネージド ルールの状態。 指定しない場合、既定値は [無効] になります。 | 'Disabled' |
PolicySettings
名前 | 説明 | 値 |
---|---|---|
fileUploadLimitInMb | WAF の最大ファイル アップロード サイズ (MB)。 | INT 制約: 最小値 = 0 |
maxRequestBodySizeInKb | WAF の最大要求本文サイズ (Kb 単位)。 | INT 制約: 最小値 = 8 最大値 = 128 |
mode | ポリシーのモード。 | 'Detection' 'Prevention' |
requestBodyCheck | WAF による要求本文のチェックを許可するかどうか。 | [bool] |
state | ポリシーの状態。 | 'Disabled' 'Enabled' |
クイック スタート テンプレート
次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。
Template | 説明 |
---|---|
Azure Application Gateway で Azure WAF v2 をCreateする |
このテンプレートでは、バックエンド プールに 2 つのWindows Server 2016 サーバーを含む Azure Web Application Firewall v2 をAzure Application Gatewayに作成します |
NAT ゲートウェイとApplication Gatewayを備えた AKS クラスター |
このサンプルでは、送信接続用の NAT ゲートウェイと受信接続用のApplication Gatewayを使用して AKS クラスターをデプロイする方法を示します。 |
Front Door Standard/Premium とApplication Gatewayオリジン |
このテンプレートは、Front Door Standard/Premium とApplication Gateway インスタンスを作成し、NSG と WAF ポリシーを使用して、トラフィックが Front Door の配信元を通過したことを検証します。 |
Container InstancesとApplication Gateway付きのフロント ドア |
このテンプレートでは、コンテナー グループとApplication Gatewayを使用して Front Door Standard/Premium を作成します。 |
Application Gateway イングレス コントローラーを使用する AKS クラスター |
このサンプルでは、Application Gateway、Application Gateway イングレス コントローラー、Azure Container Registry、Log Analytics、Key Vaultを使用して AKS クラスターをデプロイする方法を示します |
WAF とファイアウォール ポリシーを使用したApplication Gateway |
このテンプレートは、ファイアウォール ポリシーと共に WAF が構成されたApplication Gatewayを作成します |
ARM テンプレート リソース定義
ApplicationGatewayWebApplicationFirewallPolicies リソースの種類は、次をターゲットとする操作と共にデプロイできます。
- リソース グループ - リソース グループのデプロイ コマンドに関するページを参照してください
各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。
リソース形式
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2020-11-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"customRules": [
{
"action": "string",
"matchConditions": [
{
"matchValues": [ "string" ],
"matchVariables": [
{
"selector": "string",
"variableName": "string"
}
],
"negationConditon": "bool",
"operator": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"ruleType": "string"
}
],
"managedRules": {
"exclusions": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"managedRuleSets": [
{
"ruleGroupOverrides": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string",
"state": "Disabled"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"fileUploadLimitInMb": "int",
"maxRequestBodySizeInKb": "int",
"mode": "string",
"requestBodyCheck": "bool",
"state": "string"
}
}
}
プロパティ値
ApplicationGatewayWebApplicationFirewallPolicies
名前 | 説明 | 値 |
---|---|---|
type | リソースの種類 | 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies' |
apiVersion | リソース API のバージョン | '2020-11-01' |
name | リソース名 | string (必須) |
location | リソースの場所。 | string |
tags | リソース タグ。 | タグ名と値のディクショナリ。 「テンプレートのタグ」を参照してください |
properties | Web アプリケーション ファイアウォール ポリシーのプロパティ。 | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
名前 | 説明 | 値 |
---|---|---|
customRules | ポリシー内のカスタム 規則。 | WebApplicationFirewallCustomRule[] |
managedRules | managedRules 構造体について説明します。 | ManagedRulesDefinition (必須) |
policySettings | ポリシーの PolicySettings。 | PolicySettings |
WebApplicationFirewallCustomRule
名前 | 説明 | 値 |
---|---|---|
action | アクションの種類。 | 'Allow' 'ブロック' 'Log' (必須) |
matchConditions | 一致条件の一覧。 | MatchCondition[] (必須) |
name | ポリシー内で一意のリソースの名前。 この名前は、リソースへのアクセスに使用できます。 | string 制約: 最大長 = 128 |
priority | ルールの優先度。 値が小さいルールは、値が大きいルールの前に評価されます。 | int (必須) |
ruleType | ルールの種類。 | 'Invalid' 'MatchRule' (必須) |
MatchCondition
名前 | 説明 | 値 |
---|---|---|
matchValues | 一致する値。 | string[] (必須) |
matchVariables | 一致変数の一覧。 | MatchVariable[] (必須) |
negationConditon | これが条件を否定するかどうか。 | [bool] |
operator | 照合する演算子。 | 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (必須) |
変換 | 変換の一覧。 | 次のいずれかを含む文字列配列: 'HtmlEntityDecode' '小文字' 'RemoveNulls' 'Trim' 'UrlDecode' 'UrlEncode' |
MatchVariable
名前 | 説明 | 値 |
---|---|---|
セレクター | match 変数のセレクター。 | string |
variableName | 一致する変数。 | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (必須) |
ManagedRulesDefinition
名前 | 説明 | 値 |
---|---|---|
除外 | ポリシーに適用される除外。 | OwaspCrsExclusionEntry[] |
managedRuleSets | ポリシーに関連付けられている管理ルール セット。 | ManagedRuleSet[] (必須) |
OwaspCrsExclusionEntry
名前 | 説明 | 値 |
---|---|---|
matchVariable | 除外する変数。 | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' (必須) |
セレクター | matchVariable がコレクションの場合、この除外が適用されるコレクション内の要素を指定するために演算子を使用します。 | string (必須) |
selectorMatchOperator | matchVariable がコレクションの場合は、セレクターを操作して、この除外が適用されるコレクション内の要素を指定します。 | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (必須) |
ManagedRuleSet
名前 | 説明 | 値 |
---|---|---|
ruleGroupOverrides | ルール セットに適用するルール グループのオーバーライドを定義します。 | ManagedRuleGroupOverride[] |
ruleSetType | 使用するルール セットの種類を定義します。 | string (必須) |
ruleSetVersion | 使用するルール セットのバージョンを定義します。 | string (必須) |
ManagedRuleGroupOverride
名前 | 説明 | 値 |
---|---|---|
ruleGroupName | オーバーライドするマネージド ルール グループ。 | string (必須) |
rules | 無効になるルールの一覧。 何も指定しない場合、グループ内のすべてのルールが無効になります。 | ManagedRuleOverride[] |
ManagedRuleOverride
名前 | 説明 | 値 |
---|---|---|
ruleId | マネージド ルールの識別子。 | string (必須) |
state | マネージド ルールの状態。 指定しない場合、既定値は [無効] になります。 | 'Disabled' |
PolicySettings
名前 | 説明 | 値 |
---|---|---|
fileUploadLimitInMb | WAF の最大ファイル アップロード サイズ (MB)。 | INT 制約: 最小値 = 0 |
maxRequestBodySizeInKb | WAF の要求本文の最大サイズ (Kb 単位)。 | INT 制約: 最小値 = 8 最大値 = 128 |
mode | ポリシーのモード。 | 'Detection' '防止' |
requestBodyCheck | WAF による要求本文のチェックを許可するかどうか。 | [bool] |
state | ポリシーの状態。 | 'Disabled' 'Enabled' |
クイック スタート テンプレート
次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。
Template | 説明 |
---|---|
Azure Application Gateway で Azure WAF v2 をCreateする |
このテンプレートは、バックエンド プールに 2 つのWindows Server 2016 サーバーを含む Azure Web Application Firewall v2 をAzure Application Gatewayに作成します |
NAT ゲートウェイとApplication Gatewayを備えた AKS クラスター |
このサンプルでは、送信接続用の NAT ゲートウェイと受信接続用のApplication Gatewayを使用して AKS クラスターをデプロイする方法を示します。 |
Front Door Standard/Premium とApplication Gatewayオリジン |
このテンプレートは、Front Door Standard/Premium とApplication Gateway インスタンスを作成し、NSG と WAF ポリシーを使用して、トラフィックが Front Door の配信元を通過したことを検証します。 |
Container InstancesとApplication Gateway付きフロントドア |
このテンプレートでは、コンテナー グループとApplication Gatewayを使用して Front Door Standard/Premium を作成します。 |
Application Gateway イングレス コントローラーを使用した AKS クラスター |
このサンプルでは、Application Gateway、Application Gatewayイングレス コントローラー、Azure Container Registry、Log Analytics、Key Vaultを使用して AKS クラスターをデプロイする方法を示します。 |
WAF とファイアウォール ポリシーを使用したApplication Gateway |
このテンプレートは、ファイアウォール ポリシーと共に構成された WAF を使用してApplication Gatewayを作成します |
Terraform (AzAPI プロバイダー) リソース定義
ApplicationGatewayWebApplicationFirewallPolicies リソースの種類は、次をターゲットとする操作と共にデプロイできます。
- リソース グループ
各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。
リソース形式
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies リソースを作成するには、次の Terraform をテンプレートに追加します。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2020-11-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
customRules = [
{
action = "string"
matchConditions = [
{
matchValues = [
"string"
]
matchVariables = [
{
selector = "string"
variableName = "string"
}
]
negationConditon = bool
operator = "string"
transforms = [
"string"
]
}
]
name = "string"
priority = int
ruleType = "string"
}
]
managedRules = {
exclusions = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
managedRuleSets = [
{
ruleGroupOverrides = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
state = "Disabled"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
fileUploadLimitInMb = int
maxRequestBodySizeInKb = int
mode = "string"
requestBodyCheck = bool
state = "string"
}
}
})
}
プロパティ値
ApplicationGatewayWebApplicationFirewallPolicies
名前 | 説明 | 値 |
---|---|---|
type | リソースの種類 | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2020-11-01" |
name | リソース名 | string (必須) |
location | リソースの場所。 | string |
parent_id | リソース グループにデプロイするには、そのリソース グループの ID を使用します。 | string (必須) |
tags | リソース タグ。 | タグ名と値のディクショナリ。 |
properties | Web アプリケーション ファイアウォール ポリシーのプロパティ。 | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
名前 | 説明 | 値 |
---|---|---|
customRules | ポリシー内のカスタム 規則。 | WebApplicationFirewallCustomRule[] |
managedRules | managedRules 構造体について説明します。 | ManagedRulesDefinition (必須) |
policySettings | ポリシーの PolicySettings。 | PolicySettings |
WebApplicationFirewallCustomRule
名前 | 説明 | 値 |
---|---|---|
action | アクションの種類。 | "許可" "ブロック" "ログ" (必須) |
matchConditions | 一致条件の一覧。 | MatchCondition[] (必須) |
name | ポリシー内で一意であるリソースの名前。 この名前は、リソースへのアクセスに使用できます。 | string 制約: 最大長 = 128 |
priority | ルールの優先度。 値が小さいルールは、値が大きいルールの前に評価されます。 | int (必須) |
ruleType | ルールの種類。 | "無効" "MatchRule" (必須) |
MatchCondition
名前 | 説明 | 値 |
---|---|---|
matchValues | 一致する値。 | string[] (必須) |
matchVariables | 一致変数の一覧。 | MatchVariable[] (必須) |
negationConditon | これが否定条件かどうか。 | [bool] |
operator | 照合する演算子。 | "BeginsWith" "Contains" "EndsWith" "等しい" "GeoMatch" "GreaterThan" "GreaterThanOrEqual" "IPMatch" "LessThan" "LessThanOrEqual" "Regex" (必須) |
変換 | 変換の一覧。 | 次のいずれかを含む文字列配列: "HtmlEntityDecode" "小文字" "RemoveNulls" "Trim" "UrlDecode" "UrlEncode" |
MatchVariable
名前 | 説明 | 値 |
---|---|---|
セレクター | match 変数のセレクター。 | string |
variableName | 一致する変数。 | "PostArgs" "QueryString" "RemoteAddr" "RequestBody" "RequestCookies" "RequestHeaders" "RequestMethod" "RequestUri" (必須) |
ManagedRulesDefinition
名前 | 説明 | 値 |
---|---|---|
除外 | ポリシーに適用される除外。 | OwaspCrsExclusionEntry[] |
managedRuleSets | ポリシーに関連付けられている管理ルール セット。 | ManagedRuleSet[] (必須) |
OwaspCrsExclusionEntry
名前 | 説明 | 値 |
---|---|---|
matchVariable | 除外する変数。 | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" (必須) |
セレクター | matchVariable がコレクションの場合、この除外が適用されるコレクション内のどの要素を指定するために演算子を使用します。 | string (必須) |
selectorMatchOperator | matchVariable がコレクションの場合は、セレクターを操作して、この除外が適用されるコレクション内の要素を指定します。 | "Contains" "EndsWith" "Equals" "EqualsAny" "StartsWith" (必須) |
ManagedRuleSet
名前 | 説明 | 値 |
---|---|---|
ruleGroupOverrides | ルール セットに適用するルール グループのオーバーライドを定義します。 | ManagedRuleGroupOverride[] |
ruleSetType | 使用するルール セットの種類を定義します。 | string (必須) |
ruleSetVersion | 使用するルール セットのバージョンを定義します。 | string (必須) |
ManagedRuleGroupOverride
名前 | 説明 | 値 |
---|---|---|
ruleGroupName | オーバーライドするマネージド ルール グループ。 | string (必須) |
rules | 無効になるルールの一覧。 何も指定しない場合、グループ内のすべてのルールは無効になります。 | ManagedRuleOverride[] |
ManagedRuleOverride
名前 | 説明 | 値 |
---|---|---|
ruleId | マネージド ルールの識別子。 | string (必須) |
state | マネージド ルールの状態。 指定しない場合、既定値は [無効] になります。 | "無効" |
PolicySettings
名前 | 説明 | 値 |
---|---|---|
fileUploadLimitInMb | WAF の最大ファイル アップロード サイズ (MB)。 | INT 制約: 最小値 = 0 |
maxRequestBodySizeInKb | WAF の最大要求本文サイズ (Kb 単位)。 | INT 制約: 最小値 = 8 最大値 = 128 |
mode | ポリシーのモード。 | "検出" "防止" |
requestBodyCheck | WAF による要求本文のチェックを許可するかどうか。 | [bool] |
state | ポリシーの状態。 | "無効" "有効" |