次の方法で共有


Azure Front Door に使用する geo フィルタリング WAF ポリシーを設定する

このチュートリアルでは、Azure PowerShell を使用して、サンプル geo フィルタリング ポリシーを作成し、それを既存の Azure Front Door フロントエンド ホストに関連付ける方法を説明します。 このサンプルの geo フィルタリング ポリシーでは、他のすべての国/地域 (米国を除く) からの要求がブロックされます。

Azure サブスクリプションをお持ちでない場合は、ここで無料アカウントを作成してください。

前提条件

geo フィルター ポリシーの設定を開始する前に、PowerShell 環境を設定して Azure Front Door プロファイルを作成します。

PowerShell 環境をセットアップする

Azure PowerShell には、Azure リソースの管理に Azure Resource Manager モデルを使う一連のコマンドレットが用意されています。

Azure PowerShell をローカル コンピューターにインストールして、すべての PowerShell セッションで使用することができます。 リンク先のページの手順に従って Azure の資格情報を使ってサインインします。 次に、Az PowerShell モジュールをインストールします。

サインインのための対話型ダイアログを使用して Azure に接続する

Install-Module -Name Az
Connect-AzAccount

最新バージョンの PowerShellGet がインストールされていることを確認します。 次のコマンドを実行したら、PowerShell を再度開きます。

Install-Module PowerShellGet -Force -AllowClobber

Az.FrontDoor モジュールのインストール

Install-Module -Name Az.FrontDoor

Azure Front Door プロファイルを作成する

Azure Front Door プロファイルを作成するには、「クイック スタート: Azure Front Door プロファイルの作成」で説明されている手順に従います。

geo フィルタリングの一致条件を定義する

一致条件を作成するときに、パラメータに New-AzFrontDoorWafMatchConditionObject を使用して、"US" から送信されてきていない要求を選択するサンプル一致条件を作成します。

国/地域マッピングに対する 2 文字の国/地域番号は、「Azure Front Door のドメインに対する geo フィルタリングとは」で提供されています。

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

アクションと優先度を持つルールに geo フィルター一致条件を追加する

New-AzFrontDoorWafCustomRuleObject を使用して、CustomRule オブジェクト nonUSBlockRule を一致条件、アクション、および優先度に基づいて作成します。 カスタム ルールには、複数の一致条件を設定できます。 この例では、ActionBlock に設定しています。 Priority が 最も優先度の高い 1 に設定されています。

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

ポリシーにルールを追加する

Get-AzResourceGroup を使用して、Azure Front Door プロファイルが含まれているリソース グループの名前を見つけます。 次に、New-AzFrontDoorWafPolicy を使用して、Azure Front Door プロファイルが含まれている指定したリソース グループに、nonUSBlockRule を含む geoPolicy ポリシー オブジェクトを作成します。 geo ポリシーには、一意の名前を指定する必要があります。

次の例では、お客様が Azure Front Door プロファイルを作成したときに、「クイック スタート: Azure Front Door の作成」で説明されている手順に従ったと想定して、myResourceGroupFD1 という名前のリソース グループを使用しています。 次の例では、ポリシー名 geoPolicyAllowUSOnly を一意のポリシー名に置き換えます。

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

WAF ポリシー オブジェクトを既存の Azure Front Door フロントエンド ホストにリンクします。 Azure Front Door のプロパティを更新します。

そうするには、まず、Get-AzFrontDoor を使用して Azure Front Door オブジェクトを取得します。

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

次に、Set-AzFrontDoor を使用して、フロントエンド WebApplicationFirewallPolicyLink プロパティを geo ポリシーのリソース ID に設定します。

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

注意

WAF ポリシーを Azure Front Door のフロントエンドにリンクするのに必要なのは WebApplicationFirewallPolicyLink プロパティを 1 度設定するだけです。 それ以降のポリシーの更新は、自動的にフロントエンド ホストに適用されます。

次のステップ