次の方法で共有


Azure Event Grid 名前空間のネットワーク セキュリティ

この記事では、Azure Event Grid で次のセキュリティ機能を使用する方法について説明します。

  • 送信用のサービス タグ
  • IP ファイアウォール規則
  • プライベート エンドポイント

サービス タグ

サービス タグは、特定の Azure サービスの IP アドレス プレフィックスのグループを表します。 サービス タグに含まれるアドレス プレフィックスの管理は Microsoft が行い、アドレスが変化するとサービス タグは自動的に更新されます。これにより、ネットワーク セキュリティ規則に対する頻繁な更新の複雑さを最小限に抑えられます。 サービス タグの詳細については、サービス タグの概要に関する記事を参照してください。

サービス タグを使用すると、ネットワーク セキュリティ グループや Azure Firewall でのネットワーク アクセスの制御を定義できます。 セキュリティ規則を作成するときに、特定の IP アドレスの代わりにサービス タグを使用します。 規則の適切なソースまたはターゲット フィールドにサービス タグ名 (Azure Event Grid など) を指定することにより、対応するサービスのトラフィックを許可または拒否できます。

サービス タグ 目的 受信または送信で使用できるか リージョン別か Azure Firewall と共に使用できるか
AzureEventGrid Azure Event Grid。 両方 いいえ いいえ

IP ファイアウォール

既定では、Event Grid の名前空間とエンティティは、要求に有効な認証 (アクセス キー) と承認が含まれている限り、インターネットからアクセスできます。 これは IP ファイアウォールを使用して、さらに CIDR (クラスレス ドメイン間ルーティング) 表記の一連の IPv4 アドレスまたは IPv4 アドレス範囲のみに制限できます。 他の IP アドレスから送信されたクライアントは拒否され、403 (禁止) 応答を受け取ります。

メッセージ キュー テレメトリ トランスポート (MQTT) シナリオでは、許可された IP 範囲に分類されるクライアントのみが、イベントの発行とサブスクライブに接続できます。 詳細については、「MQTT シナリオでの Event Grid 名前空間の IP ファイアウォールの構成」を参照してください

MQTT 以外のシナリオでは、許可された IP 範囲に分類されるクライアントのみが Azure Event Grid に接続してイベントを発行したり、イベントをプルしたりできます。 詳細については、「MQTT 以外のシナリオでの Event Grid 名前空間の IP ファイアウォールの構成」を参照してください

手順は両方のシナリオで同じです。 これらの記事では、MQTT または MQTT 以外のシナリオに固有の追加情報を提供します。

プライベート エンドポイント

プライベート エンドポイントは、VNet 内の Azure サービス用の特別なネットワーク インターフェイスです。 名前空間のプライベート エンドポイントを作成すると、VNet 上のクライアントと Event Grid 名前空間の間にセキュリティで保護された接続が提供されます。 プライベート エンドポイントには、VNet の IP アドレス範囲から IP アドレスが割り当てられます。 プライベート エンドポイントと Event Grid サービス間の接続には、セキュリティで保護されたプライベート リンクが使用されます。 Event Grid 名前空間にプライベート エンドポイントを使用すると、次のことが可能になります。

  • パブリック インターネットではなく、Microsoft のバックボーン ネットワーク経由で、仮想ネットワークから名前空間に安全にアクセスします。
  • VPN または Express Routes とプライベート ピアリングを使用して仮想空間に接続するオンプレミス ネットワークから安全に接続します。

仮想ネットワーク内の名前空間用にプライベート エンドポイントを作成すると、承認を得るために同意要求がリソース所有者に送信されます。 プライベート エンドポイントの作成を要求しているユーザーがリソースの所有者でもある場合、この同意要求は自動的に承認されます。 それ以外の場合、接続は承認されるまで保留中の状態になります。 仮想ネットワーク内のアプリケーションは、プライベート エンドポイント経由で Event Grid サービスにシームレスに接続できます。接続文字列と承認メカニズムは、プライベート エンドポイントを経由しない場合と同じものが使用されます。 リソースの所有者は、Azure portal でリソースの [プライベート エンドポイント] タブを使用して、同意要求とプライベート エンドポイントを管理できます。

プライベート ネットワーク内の MQTT クライアントがプライベート リンク上の MQTT ブローカーに接続すると、クライアントは MQTT メッセージを発行してサブスクライブできます。 詳細については、「MQTT シナリオでの名前空間のプライベート エンドポイントの構成」を参照してください

MQTT 以外のシナリオでは、プライベート ネットワーク内のクライアントは Event Grid 名前空間に接続し、イベントを発行したり、イベントをプルしたりできます。 詳細については、「MQTT 以外のシナリオでの名前空間のプライベート エンドポイントの構成」を参照してください

プライベート エンドポイントに接続する

プライベート エンドポイントを使用すると、パブリック インターネットを経由せずに、プライベート リンク経由で安全に仮想ネットワークから Event Grid 名前空間内のエンティティに直接イベントのイングレスを許可できます。 プライベート エンドポイントは、名前空間の仮想ネットワーク アドレス空間からの IP アドレスを使用します。

プライベート エンドポイントを使用する仮想ネットワーク上のクライアントは、パブリック エンドポイントに接続するクライアントと同じ接続文字列を名前空間に使用する必要があります。 Doメイン Name System (DNS) 解決では、仮想ネットワークからの接続がプライベート リンク経由で名前空間に自動的にルーティングされます。 Event Grid では、既定で、仮想ネットワークに接続されているプライベート DNS ゾーンが作成され、プライベート エンドポイントに必要な更新も行われます。 ただし、独自の DNS サーバーを使用している場合は、DNS 構成に追加の変更を加える必要がある場合があります。

プライベート ネットワーク上の MQTT クライアントがプライベート リンク上の MQTT ブローカーに接続すると、クライアントは MQTT メッセージを発行してサブスクライブできます。

プライベート エンドポイントの DNS の変更

プライベート エンドポイントを作成すると、リソースの DNS CNAME レコードは、プレフィックス privatelink を持つサブドメイン内のエイリアスに更新されます。 既定では、プライベート リンクのサブドメインに対応するプライベート DNS ゾーンが作成されます。

プライベート エンドポイントがある仮想ネットワークの外部から名前空間のエンドポイント URL を解決すると、サービスのパブリック エンドポイントに解決されます。 プライベート エンドポイントをホストしている VNet の外部から解決された場合、'namespaceA' の DNS リソース レコードは次のとおりです。

名前 Type
namespaceA.westus.eventgrid.azure.net CNAME namespaceA.westus.privatelink.eventgrid.azure.net
namespaceA.westus.privatelink.eventgrid.azure.net CNAME <Azure Traffic Manager プロファイル>

IP ファイアウォールを使用して、仮想ネットワークの外部のクライアントによるパブリック エンドポイント経由のアクセスを拒否または制御することができます。

プライベート エンドポイントをホストしている仮想ネットワークから解決されると、名前空間のエンドポイント URL はプライベート エンドポイントの IP アドレスに解決されます。 プライベート エンドポイントをホストしている VNet 内から解決された名前空間 'namespaceA' の DNS リソース レコードは次のとおりです。

名前 Type
namespaceA.westus.eventgrid.azure.net CNAME namespaceA.westus.privatelink.eventgrid.azure.net
namespaceA.westus.privatelink.eventgrid.azure.net A 10.0.0.5

この方法を使用すると、プライベート エンドポイントをホストしている仮想ネットワーク上のクライアントと、仮想ネットワークの外部のクライアントから同じ接続文字列を使用して名前空間にアクセスできます。

ネットワーク上でカスタム DNS サーバーを使用している場合、クライアントは名前空間エンドポイントの完全修飾 Doメイン Name (FQDN) をプライベート エンドポイントの IP アドレスに解決できます。 プライベート リンク サブドメインを仮想ネットワークのプライベート DNS ゾーンに委任するように DNS サーバーを構成するか、プライベート エンドポイントの IP アドレスを使用して namespaceName.regionName.privatelink.eventgrid.azure.net の A レコードを構成します。

推奨される DNS ゾーン名は privatelink.eventgrid.azure.net です。

プライベート エンドポイントと発行

次の表では、プライベート エンドポイント接続のさまざまな状態と、発行に対する影響について説明します。

接続状態 正常に発行 (はい/いいえ)
Approved はい
拒否 いいえ
保留中 いいえ
[Disconnected](切断済み) いいえ

発行を成功させるには、プライベート エンドポイントの接続状態が承認済みである必要があります。 接続が拒否された場合は、Azure portal を使用して承認することはできません。 唯一の方法は、接続を削除し、代わりに新しい接続を作成することです。

クォータと制限

名前空間ごとの IP ファイアウォール規則とプライベート エンドポイント接続の数には制限があります。 Event Grid のクォータと制限に関するページを参照してください。

MQTT を使用している場合は、次の記事を参照してください。

プルベースのイベント配信については、次の記事を参照してください。