@@ -2095,177 +2095,4 @@ function Test-AzureFirewallPolicyIDPSProfiles {
2095
2095
# Cleanup
2096
2096
Clean - ResourceGroup $rgname
2097
2097
}
2098
- }
2099
- <#
2100
- . SYNOPSIS
2101
- Tests function Test-AzureFirewallPolicyDraft.
2102
- #>
2103
- function Test-AzureFirewallPolicyDraft {
2104
- # Setup
2105
- $rgname = Get-ResourceGroupName
2106
- $azureFirewallPolicyName = Get-ResourceName
2107
- $azureFirewallPolicyAsJobName = Get-ResourceName
2108
- $resourceTypeParent = " Microsoft.Network/FirewallPolicies"
2109
- $location = " westus2"
2110
- $tier = " Premium"
2111
-
2112
- try {
2113
- # Create the resource group
2114
- $resourceGroup = New-AzResourceGroup - Name $rgname - Location $location - Tags @ { testtag = " testval" }
2115
- # Intrusion Detection Settings
2116
- $intrusionDetection = New-AzFirewallPolicyIntrusionDetection - Mode " Alert"
2117
- # Create AzureFirewallPolicy
2118
- $azureFirewallPolicy = New-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname - Location $location - SkuTier $tier - IntrusionDetection $intrusionDetection
2119
- # Create AzureFirewallPolicyDraft
2120
- $newAzureFirewallPolicyDraft = New-AzFirewallPolicyDraft - FirewallPolicyObject $azureFirewallPolicy
2121
- # Get AzureFirewallPolicyDraft
2122
- $getAzureFirewallPolicyDraft = Get-AzFirewallPolicyDraft - AzureFirewallPolicyName $azureFirewallPolicyName - ResourceGroupName $rgname
2123
-
2124
- # verification
2125
- Assert-NotNull $getAzureFirewallPolicyDraft.IntrusionDetection
2126
- Assert-AreEqual " Alert" $getAzureFirewallPolicyDraft.IntrusionDetection.Mode
2127
- Assert-Null $getAzureFirewallPolicyDraft.Snat
2128
-
2129
- # Updated Intrusion Detection Settings
2130
- $intrusionDetection = New-AzFirewallPolicyIntrusionDetection - Mode " Deny"
2131
- $setAzureFirewallPolicy = Set-AzFirewallPolicyDraft - AzureFirewallPolicyName $azureFirewallPolicyName - ResourceGroupName $rgname - IntrusionDetection $intrusionDetection
2132
- # Get AzureFirewallPolicyDraft
2133
- $getAzureFirewallPolicyDraft = Get-AzFirewallPolicyDraft - AzureFirewallPolicyName $azureFirewallPolicyName - ResourceGroupName $rgname
2134
-
2135
- # verification
2136
- Assert-AreEqual " Deny" $getAzureFirewallPolicyDraft.IntrusionDetection.Mode
2137
-
2138
- # Deploy policy draft
2139
- Deploy-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname
2140
- # Get AzureFirewallPolicy
2141
- $getAzureFirewallPolicy = Get-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname
2142
- # verification
2143
- Assert-NotNull $getAzureFirewallPolicyDraft.IntrusionDetection
2144
- Assert-AreEqual " Deny" $getAzureFirewallPolicyDraft.IntrusionDetection.Mode
2145
- }
2146
-
2147
- finally {
2148
- # Cleanup
2149
- Clean - ResourceGroup $rgname
2150
- }
2151
- }
2152
-
2153
- <#
2154
- . SYNOPSIS
2155
- Tests function Test-AzureFirewallPolicyRCGDraft.
2156
- #>
2157
- function Test-AzureFirewallPolicyRCGDraft {
2158
- # Setup
2159
- $rgname = Get-ResourceGroupName
2160
- $azureFirewallPolicyName = Get-ResourceName
2161
- $azureFirewallPolicyAsJobName = Get-ResourceName
2162
- $resourceTypeParent = " Microsoft.Network/FirewallPolicies"
2163
- $location = " canadacentral"
2164
-
2165
- $ruleGroupName = Get-ResourceName
2166
- $ruleGroupDraftName = Get-ResourceName
2167
-
2168
- # AzureFirewallPolicyNatRuleCollection
2169
- $natRcName = " natRc"
2170
- $natRcName2 = " natRc2"
2171
- $natRcPriority = 100
2172
- $natRcActionType = " Dnat"
2173
-
2174
- # AzureFirewallPolicyNatRule 1
2175
- $natRule1Name = " natRule"
2176
- $natRule1Desc = " desc1"
2177
- $natRule1SourceAddress1 = " 10.0.0.0"
2178
- $natRule1SourceAddress2 = " 111.1.0.0/24"
2179
- $natRule1Protocol1 = " UDP"
2180
- $natRule1Protocol2 = " TCP"
2181
- $natRule1DestinationAddress1 = " 10.10.10.1"
2182
- $natRule1DestinationPort1 = " 90"
2183
- $natRule1TranslatedFqdn = " server1.internal.com"
2184
- $natRule1TranslatedPort = " 91"
2185
-
2186
- $pipelineRcPriority = 154
2187
-
2188
- try
2189
- {
2190
- # Create the resource group
2191
- $resourceGroup = New-AzResourceGroup - Name $rgname - Location $location - Tags @ { testtag = " testval" }
2192
- # Create AzureFirewallPolicy
2193
- $azureFirewallPolicy = New-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname - Location $location
2194
- # Get AzureFirewallPolicy
2195
- $getAzureFirewallPolicy = Get-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname
2196
- # Create NAT rule
2197
- $natRule = New-AzFirewallPolicyNatRule - Name $natRule1Name - Description $natRule1Desc - Protocol $natRule1Protocol1 , $natRule1Protocol2 - SourceAddress $natRule1SourceAddress1 , $natRule1SourceAddress2 - DestinationAddress $natRule1DestinationAddress1 - DestinationPort $natRule1DestinationPort1 - TranslatedFqdn $natRule1TranslatedFqdn - TranslatedPort $natRule1TranslatedPort
2198
- # Create a NAT Rule Collection
2199
- $natRc = New-AzFirewallPolicyNatRuleCollection - Name $natRcName - ActionType $natRcActionType - Priority $natRcPriority - Rule $natRule
2200
- New-AzFirewallPolicyRuleCollectionGroup - Name $ruleGroupName - Priority 100 - RuleCollection $natRc - FirewallPolicyObject $azureFirewallPolicy
2201
- # Set AzureFirewallPolicy
2202
- Set-AzFirewallPolicy - InputObject $azureFirewallPolicy
2203
-
2204
- # Create Policy Draft
2205
- New-AzFirewallPolicyDraft - AzureFirewallPolicyName $azureFirewallPolicyName - ResourceGroupName $rgname
2206
- # Create a NAT Rule Collection
2207
- $natRc2 = New-AzFirewallPolicyNatRuleCollection - Name $natRcName2 - ActionType $natRcActionType - Priority $natRcPriority - Rule $natRule
2208
- # Create RuleCollection Group Draft
2209
- New-AzFirewallPolicyRuleCollectionGroupDraft - AzureFirewallPolicyRuleCollectionGroupName $ruleGroupName - Priority 100 - RuleCollection $natRc2 - FirewallPolicyObject $azureFirewallPolicy
2210
- # Get AzureFirewallPolicy Rule Collection Group draft
2211
- $getAzureFirewallPolicyDraft = Get-AzFirewallPolicyDraft - AzureFirewallPolicyName $azureFirewallPolicyName - ResourceGroupName $rgName
2212
- $getAzureFirewallPolicyRuleCollectionGroupDraft = Get-AzFirewallPolicyRuleCollectionGroupDraft - AzureFirewallPolicyRuleCollectionGroupName $ruleGroupName - FirewallPolicyObject $azureFirewallPolicy
2213
-
2214
- # Verification
2215
- Assert-AreEqual 1 @ ($getAzureFirewallPolicyRuleCollectionGroupDraft.properties.ruleCollection ).Count
2216
- $natRuleCollection = $getAzureFirewallPolicyRuleCollectionGroupDraft.Properties.GetRuleCollectionByName ($natRcName2 )
2217
-
2218
- # Verify NAT rule collection and NAT rule
2219
- $natRule = $natRuleCollection.GetRuleByName ($natRule1Name )
2220
-
2221
- Assert-AreEqual $natRcName2 $natRuleCollection.Name
2222
- Assert-AreEqual $natRcPriority $natRuleCollection.Priority
2223
-
2224
- Assert-AreEqual $natRule1Name $natRule.Name
2225
-
2226
- Assert-AreEqual 2 $natRule.SourceAddresses.Count
2227
- Assert-AreEqual $natRule1SourceAddress1 $natRule.SourceAddresses [0 ]
2228
- Assert-AreEqual $natRule1SourceAddress2 $natRule.SourceAddresses [1 ]
2229
-
2230
- Assert-AreEqual 1 $natRule.DestinationAddresses.Count
2231
-
2232
- Assert-AreEqual 2 $natRule.Protocols.Count
2233
- Assert-AreEqual $natRule1Protocol1 $natRule.Protocols [0 ]
2234
- Assert-AreEqual $natRule1Protocol2 $natRule.Protocols [1 ]
2235
-
2236
- Assert-AreEqual 1 $natRule.DestinationPorts.Count
2237
- Assert-AreEqual $natRule1DestinationPort1 $natRule.DestinationPorts [0 ]
2238
-
2239
- Assert-AreEqual $natRule1TranslatedFqdn $natRule.TranslatedFqdn
2240
- Assert-AreEqual $natRule1TranslatedPort $natRule.TranslatedPort
2241
- $testPipelineRg = Get-AzFirewallPolicyRuleCollectionGroupDraft - AzureFirewallPolicyRuleCollectionGroupName $ruleGroupName - AzureFirewallPolicyName $getAzureFirewallPolicy.Name - ResourceGroupName $rgname
2242
- $testPipelineRg | Set-AzFirewallPolicyRuleCollectionGroupDraft - Priority $pipelineRcPriority
2243
-
2244
- $testPipelineRg = Get-AzFirewallPolicyRuleCollectionGroupDraft - AzureFirewallPolicyRuleCollectionGroupName $ruleGroupName - AzureFirewallPolicyName $getAzureFirewallPolicy.Name - ResourceGroupName $rgname
2245
- Assert-AreEqual $pipelineRcPriority $testPipelineRg.properties.Priority
2246
-
2247
- $azureFirewallPolicyAsJob = New-AzFirewallPolicy - Name $azureFirewallPolicyAsJobName - ResourceGroupName $rgname - Location $location - AsJob
2248
- $result = $azureFirewallPolicyAsJob | Wait-Job
2249
- Assert-AreEqual " Completed" $result.State
2250
-
2251
- # Deploy policy draft
2252
- Deploy-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname
2253
- # Get AzureFirewallPolicy
2254
- $getAzureFirewallPolicyRuleCollectionGroup = Get-AzFirewallPolicyRuleCollectionGroup - Name $ruleGroupName - ResourceGroupName $rgname - AzureFirewallPolicyName $azureFirewallPolicyName
2255
- $getAzureFirewallPolicy = Get-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgName
2256
-
2257
- # verification
2258
- Assert-AreEqual $rgName $getAzureFirewallPolicy.ResourceGroupName
2259
- Assert-AreEqual $azureFirewallPolicyName $getAzureFirewallPolicy.Name
2260
- Assert-NotNull $getAzureFirewallPolicy.Location
2261
- Assert-AreEqual $location $getAzureFirewallPolicy.Location
2262
-
2263
- # Check rule collection groups count
2264
- Assert-AreEqual 1 @ ($getAzureFirewallPolicy.RuleCollectionGroups ).Count
2265
- Assert-AreEqual 1 @ ($getAzureFirewallPolicyRuleCollectionGroup.properties.ruleCollection ).Count
2266
- }
2267
- finally {
2268
- # Cleanup
2269
- Clean - ResourceGroup $rgname
2270
- }
2271
2098
}
0 commit comments