Azure Event Hubs のネットワーク セキュリティ

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

  • サービス タグ
  • IP ファイアウォール規則
  • ネットワーク サービス エンドポイント
  • プライベート エンドポイント

サービス タグ

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

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

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

注意

Azure Event Hubs のサービス タグには、歴史的な理由により、Azure Service Bus で使用されていたいくつかの IP アドレスが含まれます。

IP ファイアウォール

既定では、要求に有効な認証と承認がある限り、Event Hubs 名前空間にはインターネットからアクセスできます。 これは IP ファイアウォールを使用して、さらに CIDR (クラスレス ドメイン間ルーティング) 表記の一連の IPv4 または IPv6 アドレス、またはアドレスの範囲のみに制限できます。

この機能は、Azure Event Hubs へのアクセスを特定の既知のサイトからのみに制限したいシナリオで役立ちます。 ファイアウォール規則を使用すると、特定の IPv4 または IPv6 アドレスから送信されたトラフィックを受け入れる規則を構成できます。 たとえば、Azure ExpressRoute で Event Hubs を使用する場合、オンプレミス インフラストラクチャ IP アドレスからのトラフィックのみ許可するファイアウォール規則を作成できます。

IP ファイアウォール規則は、Event Hubs 名前空間レベルで適用されます。 したがって、規則は、サポートされているプロトコルを使用するクライアントからのすべての接続に適用されます。 Event Hubs 名前空間上の許可 IP 規則に合致しない IP アドレスからの接続試行はすべて、未承認として拒否されます。 その応答に、IP 規則に関する記述は含まれません。 IP フィルター規則は順に適用され、IP アドレスと一致する最初の規則に基づいて許可アクションまたは拒否アクションが決定されます。

詳しくは、イベント ハブの IP ファイアウォールを構成する方法に関する記事を参照してください。

ネットワーク サービス エンドポイント

Event Hubs と Virtual Network (仮想ネットワーク) サービス エンドポイントの統合により、仮想ネットワークにバインドされた仮想マシンなどのワークロードからメッセージング機能へのセキュリティで保護されたアクセスが可能になり、ネットワーク トラフィック パスは両端でセキュリティ保護されます。

少なくとも 1 つの仮想ネットワーク サブネット サービス エンドポイントにバインドするように構成した後、それぞれの Event Hubs 名前空間は、仮想ネットワークの承認されたサブネットを除くどこからのトラフィックも受け入れなくなります。 仮想ネットワークの観点からは、サービス エンドポイントに Event Hubs 名前空間をバインドすると、仮想ネットワーク サブネットからメッセージング サービスへの分離されたネットワーク トンネルが構成されます。

その結果、メッセージング サービス エンドポイントの監視可能なネットワーク アドレスがパブリック IP 範囲内にあるにもかかわらず、サブネットにバインドされたワークロードとそれぞれの Event Hubs 名前空間の間にプライベートな分離された関係が確立されます。 この動作には例外があります。 サービス エンドポイントを有効にすると、既定では、サービスで仮想ネットワークに関連付けられた IP ファイアウォールdenyall 規則が有効になります。 Event Hubs パブリック エンドポイントへのアクセスを有効にするために、IP ファイアウォールで特定の IP アドレスを追加できます。

重要

この機能は Basic レベルではサポートされていません。

仮想ネットワークの統合によって有効になる高度なセキュリティのシナリオ

厳格でコンパートメント化されたセキュリティを要求し、仮想ネットワーク サブネットがコンパートメント化されたサービス間のセグメント化を提供するソリューションでも、それらのコンパートメント内に存在するサービス間の通信パスが必要です。

TCP/IP 上で HTTPS を搬送するものを含め、コンパートメント間の直接の IP ルートには、ネットワーク レイヤーから上のレイヤーの脆弱性を悪用されるリスクがあります。 メッセージング サービスは、隔離された通信パスを提供し、そこではメッセージがパーティ間を移動するときにディスクにも書き込まれます。 両方とも同じ Event Hubs インスタンスにバインドされている 2 つの異なる仮想ネットワーク内のワークロードは、それぞれのネットワークの分離境界の整合性を維持しながら、メッセージを介して効率よく確実に通信できます。

つまり、セキュリティ対策されたクラウド ソリューションは、信頼性が高くスケーラブルな Azure の業界をリードする非同期メッセージング機能にアクセスできるだけでなく、メッセージングを使用して、セキュリティで保護されたソリューション コンパートメント間に通信パスを作成できます。この通信パスは、HTTPS やその他の TLS で保護されたソケット プロトコルを含むピアツーピア通信モードよりも本質的に安全です。

仮想ネットワークへの Event Hubs のバインド

"仮想ネットワーク規則" は、Azure Event Hubs 名前空間が特定の仮想ネットワーク サブネットからの接続を許可するかどうかを制御するファイアウォール セキュリティ機能です。

仮想ネットワークへの Event Hubs 名前空間のバインドは、2 ステップのプロセスです。 まず、仮想ネットワークのサブネット上に仮想ネットワーク サービス エンドポイントを作成し、サービス エンドポイントの概要の記事で説明されているように、それを Microsoft.EventHub に対して有効にする必要があります。 サービス エンドポイントを追加した後、Event Hubs 名前空間を "仮想ネットワーク規則" にバインドします。

仮想ネットワーク規則は、Event Hubs 名前空間と仮想ネットワーク サブネットの関連付けです。 ルールが存在する間、サブネットにバインドされているすべてのワークロードには、Event Hubs 名前空間へのアクセス権が付与されます。 Event Hubs 自体は送信接続を確立することはなく、アクセス許可を取得する必要はないので、この規則を有効にすることでサブネットへのアクセス権が付与されることはありません。

詳しくは、イベント ハブの仮想ネットワーク サービス エンドポイントを構成する方法に関する記事を参照してください。

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

Azure Private Link サービスを使用すると、仮想ネットワーク内のプライベート エンドポイント経由で、Azure サービス (Azure Event Hubs、Azure Storage、Azure Cosmos DB など) や、Azure でホストされている顧客またはパートナー サービスにアクセスできます。

プライベート エンドポイントとは、Azure Private Link を使用するサービスにプライベートかつ安全に接続するネットワーク インターフェイスです。 プライベート エンドポイントは、ご自分の仮想ネットワークからのプライベート IP アドレスを使用して、サービスを実質的に仮想ネットワークに取り込みます。 サービスへのすべてのトラフィックをプライベート エンドポイント経由でルーティングできるため、ゲートウェイ、NAT デバイス、ExpressRoute または VPN 接続、パブリック IP アドレスは必要ありません。 仮想ネットワークとサービスの間のトラフィックは、Microsoft のバックボーン ネットワークを経由して、パブリック インターネットからの公開を排除します。 最高レベルの細分性でアクセスを制御しながら Azure リソースのインスタンスに接続できます。

重要

この機能は Basic レベルではサポートされていません。

詳しくは、イベント ハブのプライベート エンドポイントを構成する方法に関する記事を参照してください。

次のステップ

次の記事をご覧ください。