@@ -3875,6 +3875,63 @@ function Test-ApplicationGatewayFirewallPolicyManagedRuleGroupOverrideEmptyRule
3875
3875
}
3876
3876
}
3877
3877
3878
+ <#
3879
+ . SYNOPSIS
3880
+ Application gateway v2 waf policy default managed rule set
3881
+ #>
3882
+ function Test-ApplicationGatewayFirewallPolicyDefaultRuleSet
3883
+
3884
+ {
3885
+ # Setup
3886
+ $location = Get-ProviderLocation " Microsoft.Network/applicationGateways" " West US 2"
3887
+
3888
+ $rgname = Get-ResourceGroupName
3889
+ $wafPolicy = Get-ResourceName
3890
+
3891
+ try
3892
+ {
3893
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $location - Tags @ { testtag = " APPGw tag" }
3894
+
3895
+ # WAF Policy and Custom Rule
3896
+ $variable = New-AzApplicationGatewayFirewallMatchVariable - VariableName RequestHeaders - Selector Content- Length
3897
+ $condition = New-AzApplicationGatewayFirewallCondition - MatchVariable $variable - Operator GreaterThan - MatchValue 1000 - Transform Lowercase - NegationCondition $False
3898
+ $rule = New-AzApplicationGatewayFirewallCustomRule - Name example - Priority 2 - RuleType MatchRule - MatchCondition $condition - Action Block
3899
+ $policySettings = New-AzApplicationGatewayFirewallPolicySetting - Mode Prevention - State Enabled - MaxFileUploadInMb 70 - MaxRequestBodySizeInKb 70
3900
+ New-AzApplicationGatewayFirewallPolicy - Name $wafPolicy - ResourceGroupName $rgname - Location $location - PolicySetting $policySettings
3901
+
3902
+ $policy = Get-AzApplicationGatewayFirewallPolicy - Name $wafPolicy - ResourceGroupName $rgname
3903
+ $policy.CustomRules = $rule
3904
+ Set-AzApplicationGatewayFirewallPolicy - InputObject $policy
3905
+
3906
+ $policy = Get-AzApplicationGatewayFirewallPolicy - Name $wafPolicy - ResourceGroupName $rgname
3907
+
3908
+ # Second check firewll policy
3909
+ Assert-AreEqual $policy.CustomRules [0 ].Name $rule.Name
3910
+ Assert-AreEqual $policy.CustomRules [0 ].RuleType $rule.RuleType
3911
+ Assert-AreEqual $policy.CustomRules [0 ].Action $rule.Action
3912
+ Assert-AreEqual $policy.CustomRules [0 ].Priority $rule.Priority
3913
+ Assert-AreEqual $policy.CustomRules [0 ].MatchConditions[0 ].OperatorProperty $rule.MatchConditions [0 ].OperatorProperty
3914
+ Assert-AreEqual $policy.CustomRules [0 ].MatchConditions[0 ].Transforms[0 ] $rule.MatchConditions [0 ].Transforms[0 ]
3915
+ Assert-AreEqual $policy.CustomRules [0 ].MatchConditions[0 ].NegationConditon $rule.MatchConditions [0 ].NegationConditon
3916
+ Assert-AreEqual $policy.CustomRules [0 ].MatchConditions[0 ].MatchValues[0 ] $rule.MatchConditions [0 ].MatchValues[0 ]
3917
+ Assert-AreEqual $policy.CustomRules [0 ].MatchConditions[0 ].MatchVariables[0 ].VariableName $rule.MatchConditions [0 ].MatchVariables[0 ].VariableName
3918
+ Assert-AreEqual $policy.CustomRules [0 ].MatchConditions[0 ].MatchVariables[0 ].Selector $rule.MatchConditions [0 ].MatchVariables[0 ].Selector
3919
+ Assert-AreEqual $policy.PolicySettings.FileUploadLimitInMb $policySettings.FileUploadLimitInMb
3920
+ Assert-AreEqual $policy.PolicySettings.MaxRequestBodySizeInKb $policySettings.MaxRequestBodySizeInKb
3921
+ Assert-AreEqual $policy.PolicySettings.RequestBodyCheck $policySettings.RequestBodyCheck
3922
+ Assert-AreEqual $policy.PolicySettings.Mode $policySettings.Mode
3923
+ Assert-AreEqual $policy.PolicySettings.State $policySettings.State
3924
+ Assert-AreEqual $policy.ManagedRules.ManagedRuleSets.RuleSetType " Microsoft_DefaultRuleSet"
3925
+ Assert-AreEqual $policy.ManagedRules.ManagedRuleSets.RuleSetVersion " 2.1"
3926
+
3927
+ }
3928
+ finally
3929
+ {
3930
+ # Cleanup
3931
+ Clean - ResourceGroup $rgname
3932
+ }
3933
+ }
3934
+
3878
3935
3879
3936
<#
3880
3937
. SYNOPSIS
0 commit comments