Konfigurera en WAF-princip för geofiltrering för Azure Front Door

Den här självstudien visar hur du använder Azure PowerShell för att skapa en exempelprincip för geofiltrering och associera principen med din befintliga Azure Front Door-klientdelsvärd. Den här exempelprincipen för geofiltrering blockerar begäranden från alla andra länder eller regioner utom USA.

Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto nu.

Förutsättningar

Innan du börjar konfigurera en princip för geo-filter konfigurerar du Din PowerShell-miljö och skapar en Azure Front Door-profil.

Konfigurera PowerShell-miljön

Azure PowerShell tillhandahåller en uppsättning cmdletar som använder Azure Resource Manager-modellen för att hantera dina Azure-resurser.

Du kan installera Azure PowerShell på en lokal dator och använda det i alla PowerShell-sessioner. Följ anvisningarna på sidan för att logga in med dina Azure-autentiseringsuppgifter. Installera sedan Az PowerShell-modulen.

Ansluta till Azure med en interaktiv dialogruta för inloggning

Install-Module -Name Az
Connect-AzAccount

Kontrollera att du har den aktuella versionen av PowerShellGet installerad. Kör följande kommando och öppna PowerShell igen.

Install-Module PowerShellGet -Force -AllowClobber

Installera modulen Az.FrontDoor

Install-Module -Name Az.FrontDoor

Skapa en Azure Front Door-profil

Skapa en Azure Front Door-profil genom att följa anvisningarna i Snabbstart: Skapa en Azure Front Door-profil.

Definiera ett matchningsvillkor för geofiltrering

Skapa ett exempel på matchningsvillkor som väljer begäranden som inte kommer från "US" med hjälp av New-AzFrontDoorWafMatchConditionObject på parametrar när du skapar ett matchningsvillkor.

Lands- eller regionkoder med två bokstäver till lands- eller regionmappning finns i Vad är geofiltrering på en domän för Azure Front Door?.

$nonUSGeoMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty GeoMatch `
-NegateCondition $true `
-MatchValue "US"

Lägga till ett villkor för geofiltreringsmatchning i en regel med en åtgärd och en prioritet

Skapa ett CustomRule objekt nonUSBlockRule baserat på matchningsvillkoret, en åtgärd och en prioritet med hjälp av New-AzFrontDoorWafCustomRuleObject. En anpassad regel kan ha flera matchningsvillkor. I det här exemplet Action anges till Block. Priority är inställt på 1, vilket är den högsta prioriteten.

$nonUSBlockRule = New-AzFrontDoorWafCustomRuleObject `
-Name "geoFilterRule" `
-RuleType MatchRule `
-MatchCondition $nonUSGeoMatchCondition `
-Action Block `
-Priority 1

Lägga till regler i en princip

Leta reda på namnet på resursgruppen som innehåller Azure Front Door-profilen med hjälp Get-AzResourceGroupav . Skapa sedan ett geoPolicy objekt som innehåller nonUSBlockRule med hjälp av New-AzFrontDoorWafPolicy i den angivna resursgruppen som innehåller Azure Front Door-profilen. Du måste ange ett unikt namn för geo-principen.

I följande exempel används resursgruppens namn myResourceGroupFD1 med antagandet att du har skapat Azure Front Door-profilen med hjälp av anvisningarna i Snabbstart: Skapa en Azure Front Door. I följande exempel ersätter du principnamnet geoPolicyAllowUSOnly med ett unikt principnamn.

$geoPolicy = New-AzFrontDoorWafPolicy `
-Name "geoPolicyAllowUSOnly" `
-resourceGroupName myResourceGroupFD1 `
-Customrule $nonUSBlockRule  `
-Mode Prevention `
-EnabledState Enabled

Länka WAF-principobjektet till den befintliga Azure Front Door-klientdelsvärden. Uppdatera Azure Front Door-egenskaper.

Det gör du genom att först hämta ditt Azure Front Door-objekt med hjälp av Get-AzFrontDoor.

$geoFrontDoorObjectExample = Get-AzFrontDoor -ResourceGroupName myResourceGroupFD1
$geoFrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $geoPolicy.Id

Ange sedan egenskapen för klientdelen WebApplicationFirewallPolicyLink till resurs-ID:t för geo-principen med hjälp av Set-AzFrontDoor.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

Anteckning

Du behöver bara ange WebApplicationFirewallPolicyLink egenskapen en gång för att länka en WAF-princip till en Azure Front Door-klientdelsvärd. Efterföljande principuppdateringar tillämpas automatiskt på klientdelsvärden.

Nästa steg