Azure Event Grid のトピックまたはドメインに対して IP ファイアウォールを構成する
既定では、要求が有効な認証と承認を受けている限り、トピックおよびドメインにはインターネットからアクセスできます。 IP ファイアウォールを使用すると、CIDR (クラスレス ドメイン間ルーティング) 表記の一連の IPv4 アドレスまたは IPv4 アドレス範囲のみにアクセスを制限できます。 他の IP アドレスから発信するパブリッシャーは拒否され、403 (禁止) の応答が返されます。 Event Grid でサポートされるネットワーク セキュリティ機能の詳細については、Event Grid のネットワーク セキュリティに関する記事を参照してください。
この記事では Azure Event Grid のトピックまたはドメインに対して IP ファイアウォール設定を構成する方法について説明します。
Azure Portal の使用
このセクションでは、Azure portal を使って、トピックの作成時に、または既存のトピックについて、パブリックまたはプライベート アクセスを有効にする方法について説明します。 このセクションで示す手順は、トピックに関するものです。 同様の手順を使って、ドメインのパブリックまたはプライベート アクセスを有効にすることができます。
トピックを作成するとき
このセクションでは、Event Grid のトピックまたはドメインに対してパブリックまたはプライベートのネットワーク アクセスを有効にする方法について説明します。 新しいトピックを作成する詳細な手順については、「カスタム トピックの作成」をご覧ください。
トピックの作成ウィザードの [基本] ページで、必要なフィールドを入力した後、ページの下部にある [次: ネットワーク] を選びます。
クライアントがパブリック IP アドレス経由でトピック エンドポイントに接続するのを許可するには、[パブリック アクセス] オプションを選んだままにします。
[アドレス範囲] フィールドの値を指定することで、特定の IP アドレスからのトピックへのアクセスを制限できます。 クラスレス ドメイン間ルーティング (CIDR) 表記で、単一の IPv4 アドレスまたは IP アドレスの範囲を指定します。
プライベート エンドポイント経由での Event Grid トピックへのアクセスを許可するには、[プライベート アクセス] オプションを選びます。
Azure portal を使ったプライベート エンドポイントの追加に関するセクションの手順に従って、プライベート エンドポイントを作成します。
既存のトピックの場合
Azure portal 内で、Event Grid のトピックまたはドメインに移動し、[ネットワーク] タブに切り替えます。
インターネットを含むすべてのネットワークがリソースにアクセスできるようにするには、[パブリック ネットワーク] を選びます。
[アドレス範囲] フィールドの値を指定することで、特定の IP アドレスからのトピックへのアクセスを制限できます。 クラスレス ドメイン間ルーティング (CIDR) 表記で、単一の IPv4 アドレスまたは IP アドレスの範囲を指定します。
プライベート エンドポイント接続のみにこのリソースへのアクセスを許可するには、 [Private endpoints only](プライベート エンドポイントのみ) を選択します。 このページの [プライベート エンドポイント接続] タブを使用して、接続を管理します。
プライベート エンドポイント接続を作成する手順について詳しくは、Azure portal を使ったプライベート エンドポイントの追加に関する記事をご覧ください。
ツールバーの [保存] を選択します。
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 @{}
次のステップ
- イベント配信の監視について詳しくは、「Event Grid メッセージ配信の監視」をご覧ください。
- 認証キーについて詳しくは、「Event Grid のセキュリティと認証」をご覧ください。
- Azure Event Grid サブスクリプションの作成の詳細については、Event Grid サブスクリプション スキーマに関する記事を参照してください。
- ネットワーク接続の問題をトラブルシューティングするには、ネットワーク接続の問題のトラブルシューティングに関するページを参照してください。