New-AzFirewallPolicyDraft

Creates a new Azure Firewall Policy draft.

Syntax

New-AzFirewallPolicyDraft
   -AzureFirewallPolicyName <String>
   -ResourceGroupName <String>
   -Location <String>
   [-ThreatIntelMode <String>]
   [-ThreatIntelWhitelist <PSAzureFirewallPolicyThreatIntelWhitelist>]
   [-BasePolicy <String>]
   [-DnsSetting <PSAzureFirewallPolicyDnsSettings>]
   [-SqlSetting <PSAzureFirewallPolicySqlSetting>]
   [-Tag <Hashtable>]
   [-Force]
   [-AsJob]
   [-IntrusionDetection <PSAzureFirewallPolicyIntrusionDetection>]
   [-PrivateRange <String[]>]
   [-ExplicitProxy <PSAzureFirewallPolicyExplicitProxy>]
   [-Snat <PSAzureFirewallPolicySNAT>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzFirewallPolicyDraft
   [-AzureFirewallPolicyName <String>]
   -FirewallPolicyObject <PSAzureFirewallPolicy>
   [-AsJob]
   [-ThreatIntelMode <String>]
   [-ThreatIntelWhitelist <PSAzureFirewallPolicyThreatIntelWhitelist>]
   [-BasePolicy <String>]
   [-DnsSetting <PSAzureFirewallPolicyDnsSettings>]
   [-SqlSetting <PSAzureFirewallPolicySqlSetting>]
   [-Tag <Hashtable>]
   [-IntrusionDetection <PSAzureFirewallPolicyIntrusionDetection>]
   [-TransportSecurityName <String>]
   [-PrivateRange <String[]>]
   [-ExplicitProxy <PSAzureFirewallPolicyExplicitProxy>]
   [-Snat <PSAzureFirewallPolicySNAT>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-AzFirewallPolicyDraft cmdlet creates an Azure Firewall Policy draft with the same properties as the parent policy.

Examples

Example 1: Create a policy draft

New-AzFirewallPolicyDraft -AzureFirewallPolicyName fp1 -ResourceGroupName TestRg

This example creates an azure firewall policy draft

Example 2: Create a policy draft with ThreatIntel Mode

New-AzFirewallPolicyDraft -AzureFirewallPolicyName fp1 -ResourceGroupName TestRg -ThreatIntelMode "Deny"

This example creates an azure firewall policy draft with the same properties as the parent policy except for a specified threat intel mode

Example 3: Create a policy draft with ThreatIntelWhitelist

$threatIntelWhitelist = New-AzFirewallPolicyThreatIntelWhitelist -IpAddress 23.46.72.91,192.79.236.79 -FQDN microsoft.com
New-AzFirewallPolicyDraft -AzureFirewallPolicyName fp1 -ResourceGroupName TestRg -ThreatIntelWhitelist $threatIntelWhitelist

This example creates an azure firewall policy draft with the same properties as the parent policy except for a specified ThreatIntelWhitelist

Example 4: Create policy with intrusion detection

$bypass = New-AzFirewallPolicyIntrusionDetectionBypassTraffic -Name "bypass-setting" -Protocol "TCP" -DestinationPort "80" -SourceAddress "10.0.0.0" -DestinationAddress "*"
$signatureOverride = New-AzFirewallPolicyIntrusionDetectionSignatureOverride -Id "123456798" -Mode "Deny"
$intrusionDetection = New-AzFirewallPolicyIntrusionDetection -Mode "Alert" -SignatureOverride $signatureOverride -BypassTraffic $bypass
New-AzFirewallPolicyDraft -AzureFirewallPolicyName fp1 -ResourceGroupName TestRg -IntrusionDetection $intrusionDetection

This example creates an azure firewall policy draft with the same properties as the parent policy except that the intrusion detection in mode is set to alert

Example 5: Create an empty Firewall Policy with customized private range setup

New-AzFirewallPolicyDraft -AzureFirewallPolicyName fp1 -ResourceGroupName TestRg -PrivateRange @("99.99.99.0/24", "66.66.0.0/16")

This example creates a Firewall that treats "99.99.99.0/24" and "66.66.0.0/16" as private ip ranges and won't snat traffic to those addresses. Other properties are set by the parent policy.

Example 6: Create an empty Firewall Policy with Explicit Proxy Settings

$exProxy = New-AzFirewallPolicyExplicitProxy -EnableExplicitProxy  -HttpPort 100 -HttpsPort 101 -EnablePacFile  -PacFilePort 130 -PacFile "sampleurlfortesting.blob.core.windowsnet/nothing"
New-AzFirewallPolicyDraft -AzureFirewallPolicyName fp1 -ResourceGroupName TestRg -ExplicitProxy $exProxy

BasePolicy	                : null	
		DnsSettings  	            : null	
		Etag	                    : null	
		ExplicitProxy	
			EnableExplicitProxy	    : true	
			EnablePacFile	        : true	
			HttpPort	            : 100	
			HttpsPort	            : 101	
			PacFile                 : "sampleurlfortesting.blob.core.windowsnet/nothing"
			PacFilePort	            : 130	
		Id	                        : null	
		IntrusionDetection	        : null	
		Location	                : "westus2"	
		Name	                    : "fp1"	
		PrivateRange	            : null
		PrivateRangeText	        : "[]"
		ProvisioningState	        : null	
		ResourceGroupName	        : "TestRg"	
		ResourceGuid	            : null	
		RuleCollectionGroups	    : null	
		Snat	
			AutoLearnPrivateRanges	: null	
			PrivateRanges	        : null	
		SqlSetting	                : null	
		Tag	                        : null	
		TagsTable	                : null	
		ThreatIntelMode	            : "Alert"	
		ThreatIntelWhitelist	    : null

This example creates a firewall policy with explicit proxy settings

Parameters

-AsJob

Run cmdlet in the background

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AzureFirewallPolicyName

The resource name.

Type:String
Aliases:ResourceName
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-BasePolicy

The base policy to inherit from

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DnsSetting

The DNS Setting

Type:PSAzureFirewallPolicyDnsSettings
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExplicitProxy

The Explicit Proxy Settings

Type:PSAzureFirewallPolicyExplicitProxy
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FirewallPolicyObject

The AzureFirewall Policy associated with the draft

Type:PSAzureFirewallPolicy
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Force

Do not ask for confirmation if you want to overwrite a resource

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IntrusionDetection

The Intrusion Detection Setting

Type:PSAzureFirewallPolicyIntrusionDetection
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PrivateRange

The private IP ranges to which traffic won't be SNAT'ed

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

The resource group name.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Snat

The private IP addresses/IP ranges to which traffic will not be SNAT in Firewall Policy.

Type:PSAzureFirewallPolicySNAT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SqlSetting

The SQL related setting

Type:PSAzureFirewallPolicySqlSetting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

A hashtable which represents resource tags.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ThreatIntelMode

The operation mode for Threat Intelligence.

Type:String
Accepted values:Alert, Deny, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ThreatIntelWhitelist

The allowlist for Threat Intelligence

Type:PSAzureFirewallPolicyThreatIntelWhitelist
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Hashtable

Outputs

PSAzureFirewall