Azure Event Grid のトピックまたはドメインに対して IP ファイアウォールを構成する

既定では、要求が有効な認証と承認を受けている限り、トピックおよびドメインにはインターネットからアクセスできます。 IP ファイアウォールを使用すると、CIDR (クラスレス ドメイン間ルーティング) 表記の一連の IPv4 アドレスまたは IPv4 アドレス範囲のみにアクセスを制限できます。 他の IP アドレスから発信するパブリッシャーは拒否され、403 (禁止) の応答が返されます。 Event Grid でサポートされるネットワーク セキュリティ機能の詳細については、Event Grid のネットワーク セキュリティに関する記事を参照してください。

この記事では Azure Event Grid のトピックまたはドメインに対して IP ファイアウォール設定を構成する方法について説明します。

Azure Portal の使用

このセクションでは、Azure portal を使って、トピックの作成時に、または既存のトピックについて、パブリックまたはプライベート アクセスを有効にする方法について説明します。 このセクションで示す手順は、トピックに関するものです。 同様の手順を使って、ドメインのパブリックまたはプライベート アクセスを有効にすることができます。

トピックを作成するとき

このセクションでは、Event Grid のトピックまたはドメインに対してパブリックまたはプライベートのネットワーク アクセスを有効にする方法について説明します。 新しいトピックを作成する詳細な手順については、「カスタム トピックの作成」をご覧ください。

  1. トピックの作成ウィザードの [基本] ページで、必要なフィールドを入力した後、ページの下部にある [次: ネットワーク] を選びます。

    ページの下部でネットワーク・リンクの選択を示すスクリーンショット。

  2. クライアントがパブリック IP アドレス経由でトピック エンドポイントに接続するのを許可するには、[パブリック アクセス] オプションを選んだままにします。

    [アドレス範囲] フィールドの値を指定することで、特定の IP アドレスからのトピックへのアクセスを制限できます。 クラスレス ドメイン間ルーティング (CIDR) 表記で、単一の IPv4 アドレスまたは IP アドレスの範囲を指定します。

    トピックの作成ウィザードの [ネットワーク] ページで [パブリック アクセス] オプションの選択を示すスクリーンショット。

  3. プライベート エンドポイント経由での Event Grid トピックへのアクセスを許可するには、[プライベート アクセス] オプションを選びます。

    トピックの作成ウィザードの [ネットワーク] ページで [プライベート アクセス] オプションの選択を示すスクリーンショット。

  4. Azure portal を使ったプライベート エンドポイントの追加に関するセクションの手順に従って、プライベート エンドポイントを作成します。

既存のトピックの場合

  1. Azure portal 内で、Event Grid のトピックまたはドメインに移動し、[ネットワーク] タブに切り替えます。

  2. インターネットを含むすべてのネットワークがリソースにアクセスできるようにするには、[パブリック ネットワーク] を選びます。

    [アドレス範囲] フィールドの値を指定することで、特定の IP アドレスからのトピックへのアクセスを制限できます。 クラスレス ドメイン間ルーティング (CIDR) 表記で、単一の IPv4 アドレスまたは IP アドレスの範囲を指定します。

    [パブリック ネットワーク] が選択されている [パブリック ネットワーク アクセス] ページを示すスクリーンショット。

  3. プライベート エンドポイント接続のみにこのリソースへのアクセスを許可するには、 [Private endpoints only](プライベート エンドポイントのみ) を選択します。 このページの [プライベート エンドポイント接続] タブを使用して、接続を管理します。

    プライベート エンドポイント接続を作成する手順について詳しくは、Azure portal を使ったプライベート エンドポイントの追加に関する記事をご覧ください。

    [プライベート エンドポイントのみ] オプションが選択されている [パブリック ネットワーク アクセス] ページを示すスクリーンショット。

  4. ツールバーの [保存] を選択します。

Azure CLI の使用

このセクションでは、Azure CLI コマンドを使用して受信 IP 規則を含むトピックを作成する方法について説明します。 このセクションで示す手順は、トピックに関するものです。 同様の手順を使用して、ドメインの受信 IP 規則を作成できます。

パブリック ネットワーク アクセスを有効または無効にする

既定では、トピックとドメインに対してパブリック ネットワーク アクセスが有効になっています。 また、明示的に有効にすることも、無効にすることもできます。 受信 IP ファイアウォール規則を構成することで、トラフィックを制限できます。

トピックの作成中にパブリック ネットワーク アクセスを有効にする

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access enabled

トピックの作成中にパブリック ネットワーク アクセスを無効にする

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access disabled

注意

トピックまたはドメインに対してパブリック ネットワーク アクセスが無効になっている場合、パブリック インターネット経由のトラフィックは許可されません。 プライベート エンドポイント接続のみが、これらのリソースへのアクセスを許可されます。

既存のトピックに対してパブリック ネットワーク アクセスを有効にする

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled 

既存のトピックに対してパブリック ネットワーク アクセスを無効にする

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access disabled

単一の受信 ip 規則を含むトピックを作成する

次の CLI コマンド例では、受信 IP 規則を含む Event Grid トピックを作成します。

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR or CIDR MASK> allow 

複数の受信 ip 規則を含むトピックを作成する

次の CLI コマンド例では、2 つの受信 IP 規則を含む Event Grid トピックを 1 ステップで作成します。

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR 1 or CIDR MASK 1> allow \
    --inbound-ip-rules <IP ADDR 2 or CIDR MASK 2> allow

既存のトピックを更新して受信 IP 規則を追加する

この例では、まず Event Grid トピックを作成し、次に別のコマンドでそのトピックの受信 IP 規則を追加します。 また、2 番目のコマンドで設定された受信 IP 規則も更新されます。


# create the event grid topic first
az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location

# add inbound IP rules to an existing topic
az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR or CIDR MASK> allow

# later, update topic with additional ip rules
az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR 1 or CIDR MASK 1> allow \
    --inbound-ip-rules <IP ADDR 2 or CIDR MASK 2> allow

受信 IP 規則を削除する

次のコマンドでは、設定を更新する際に 1 番目の規則のみを指定することで、前の手順で作成した 2 番目の規則を削除します。

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR 1 or CIDR MASK 1> allow

PowerShell の使用

このセクションでは、Azure PowerShell コマンドを使用して、受信 IP ファイアウォール規則を含む Azure Event Grid トピックを作成する方法について説明します。 このセクションで示す手順は、トピックに関するものです。 同様の手順を使用して、ドメインの受信 IP 規則を作成できます。

既定では、トピックとドメインに対してパブリック ネットワーク アクセスが有効になっています。 また、明示的に有効にすることも、無効にすることもできます。 受信 IP ファイアウォール規則を構成することで、トラフィックを制限できます。

トピックの作成中にパブリック ネットワーク アクセスを有効にする

New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location eastus -PublicNetworkAccess enabled

トピックの作成中にパブリック ネットワーク アクセスを無効にする

New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location eastus -PublicNetworkAccess disabled

注意

トピックまたはドメインに対してパブリック ネットワーク アクセスが無効になっている場合、パブリック インターネット経由のトラフィックは許可されません。 プライベート エンドポイント接続のみが、これらのリソースへのアクセスを許可されます。

パブリック ネットワーク アクセスとインバウンド IP 規則を使用してトピックを作成する

次の CLI コマンドの例では、パブリック ネットワーク アクセスとインバウンド IP 規則を使って Event Grid トピックを作成します。

New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location eastus -PublicNetworkAccess enabled -InboundIpRule @{ "10.0.0.0/8" = "Allow"; "10.2.0.0/8" = "Allow" }

パブリック ネットワーク アクセスとインバウンド IP 規則を使用して既存のトピックを更新する

次の CLI コマンドの例では、インバウンド IP 規則を使って既存の Event Grid トピックを更新します。

Set-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -PublicNetworkAccess enabled -InboundIpRule @{ "10.0.0.0/8" = "Allow"; "10.2.0.0/8" = "Allow" } -Tag @{}

既存のトピックに対してパブリック ネットワーク アクセスを無効にする

Set-AzEventGridTopic -ResourceGroup MyResourceGroupName -Name Topic1 -PublicNetworkAccess disabled -Tag @{} -InboundIpRule @{}

次のステップ