你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzApplicationGatewayFirewallCustomRule

为应用程序网关防火墙策略创建新的自定义规则。

语法

New-AzApplicationGatewayFirewallCustomRule
   -Name <String>
   -Priority <Int32>
   [-RateLimitDuration <String>]
   [-RateLimitThreshold <Int32>]
   -RuleType <String>
   -MatchCondition <PSApplicationGatewayFirewallCondition[]>
   [-GroupByUserSession <PSApplicationGatewayFirewallCustomRuleGroupByUserSession[]>]
   -Action <String>
   [-State <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

New-AzApplicationGatewayFirewallCustomRule 为防火墙策略创建自定义规则。

示例

示例 1

New-AzApplicationGatewayFirewallCustomRule -Name example-rule -Priority 1 -RuleType MatchRule -MatchCondition $condtion -Action Allow

Name                : example-rule
Priority            : 1
RuleType            : MatchRule
MatchConditions     : {Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFirewallCondition}
Action              : Allow
State               : Enabled
MatchConditionsText : [
                        {
                          "MatchVariables": [
                            {
                              "VariableName": "RequestHeaders",
                              "Selector": "Malicious-Header"
                            }
                          ],
                          "OperatorProperty": "Any",
                          "NegationConditon": false
                        }
                      ]

该命令创建一个新的自定义规则,其名称为示例规则,优先级 1,规则类型将为 MatchRule,条件变量中定义的条件,该操作将允许。

示例 2

New-AzApplicationGatewayFirewallCustomRule -Name example-rule -Priority 2 -RuleType MatchRule -MatchCondition $condition -Action Allow -State Disabled

Name                : example-rule
Priority            : 2
RuleType            : MatchRule
MatchConditions     : {Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFirewallCondition}
Action              : Allow
State               : Disabled
MatchConditionsText : [
                        {
                          "MatchVariables": [
                            {
                              "VariableName": "RequestHeaders",
                              "Selector": "Malicious-Header"
                            }
                          ],
                          "OperatorProperty": "Any",
                          "NegationConditon": false
                        }
                      ]

该命令创建一个新的自定义规则,名称为示例规则,状态为 Disabled,优先级 2,规则类型将为 MatchRule,条件变量中定义的条件,该操作将允许。

示例 3

New-AzApplicationGatewayFirewallCustomRule -Name RateLimitRule3 -Priority 3 -RateLimitDuration OneMin -RateLimitThreshold 10 -RuleType RateLimitRule -MatchCondition $condition -GroupByUserSession $groupbyUserSes -Action Allow -State Disabled

Name                : RateLimitRule3
Priority            : 3
RateLimitDuration   : OneMin
RateLimitThreshold  : 10
RuleType            : RateLimitRule
MatchConditions     : {Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFirewallCondition}
GroupByUserSession  : {Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFirewallCustomRuleGroupByUserSession}
Action              : Allow
State               : Disabled
MatchConditionsText : [
                        {
                          "MatchVariables": [
                            {
                              "VariableName": "RequestHeaders",
                              "Selector": "Malicious-Header"
                            }
                          ],
                          "OperatorProperty": "Any",
                          "NegationConditon": false
                        }
                      ]
GroupByUserSessionText : [
                        {
                          "groupByVariables": [
                            {
                              "variableName": "ClientAddr"
                            }
                          ]
                        }
                      ]

该命令创建名为 RateLimitRule3 的新自定义规则,状态为 Disabled、priority 3、RateLimitDuration OneMin、RateLimitThreshold 10,规则类型将为 RateLimitRule,条件变量中定义的条件为 RateLimitRule,该操作将允许,GroupByUserSession 在 GroupByUserSession 条件变量中定义。

参数

-Action

操作的类型。

类型:String
接受的值:Allow, Block, Log
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-GroupByUserSession

匹配条件列表。

类型:PSApplicationGatewayFirewallCustomRuleGroupByUserSession[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MatchCondition

匹配条件列表。

类型:PSApplicationGatewayFirewallCondition[]
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Name

规则的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Priority

描述规则的优先级。 在具有较高值的规则之前,将评估具有较低值的规则。

类型:Int32
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-RateLimitDuration

描述将应用速率限制策略的持续时间。 仅适用于 ruleType 为 RateLimitRule 时。

类型:String
接受的值:OneMin, FiveMins
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RateLimitThreshold

描述速率限制阈值。 仅当 ruleType 为 RateLimitRule.Accepted 范围时,此值才适用为 1 - 5000。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RuleType

描述规则的类型。

类型:String
接受的值:MatchRule, RateLimitRule
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-State

自定义规则的状态变量。

类型:String
接受的值:Disabled, Enabled
Position:Named
默认值:Enabled
必需:False
接受管道输入:False
接受通配符:False

输入

None

输出

PSApplicationGatewayFirewallCustomRule