Azure Event Grid リソースのネットワーク セキュリティ
この記事では、Azure Event Grid で次のセキュリティ機能を使用する方法について説明します。
- 送信用のサービス タグ
- イングレス用の IP ファイアウォール規則
- イングレス用のプライベート エンドポイント
サービス タグ
サービス タグは、特定の Azure サービスの IP アドレス プレフィックスのグループを表します。 サービス タグに含まれるアドレス プレフィックスの管理は Microsoft が行い、アドレスが変化するとサービス タグは自動的に更新されます。これにより、ネットワーク セキュリティ規則に対する頻繁な更新の複雑さを最小限に抑えられます。 サービス タグの詳細については、サービス タグの概要に関する記事を参照してください。
サービス タグを使用して、ネットワーク セキュリティ グループまたは Azure Firewall でのネットワーク アクセス制御を定義できます。 セキュリティ規則を作成するときに、特定の IP アドレスの代わりにサービス タグを使用します。 規則の適切なソースまたはターゲットのフィールドにサービス タグ名 (たとえば AzureEventGrid) を指定することにより、対応するサービスのトラフィックを許可または拒否できます。
サービス タグ | 目的 | 受信または送信で使用できるか | リージョン別か | Azure Firewall と共に使用できるか |
---|---|---|---|---|
AzureEventGrid | Azure Event Grid。 | 両方 | いいえ | いいえ |
IP ファイアウォール
Azure Event Grid は、トピックおよびドメインへの発行に IP ベースのアクセス制御をサポートしています。 IP ベースの制御を使用すると、トピックまたはドメインへのパブリッシャーを、承認されている一連のマシンおよびクラウド サービスだけに制限できます。 この機能は、Event Grid でサポートされている認証メカニズムを補完します。
既定では、要求が有効な認証と認可を受けている限り、トピックおよびドメインにはインターネットからアクセスできます。 IP ファイアウォールを使用すると、CIDR (クラスレス ドメイン間ルーティング) 表記の一連の IP アドレスまたは IP アドレス範囲のみにアクセスを制限できます。 他の IP アドレスから発信するパブリッシャーは拒否され、403 (禁止) の応答が返されます。
トピックとドメインに対して IP ファイアウォールを構成する詳細な手順については、IP ファイアウォールの構成に関する記事を参照してください。
プライベート エンドポイント
プライベート エンドポイントを使用すると、パブリック インターネットを経由せずにプライベート リンク上で安全に仮想ネットワークからトピックおよびドメインへ直接、イベントのイングレスを行えるようになります。 プライベート エンドポイントは、仮想ネットワーク内の Azure サービス用の特別なネットワーク インターフェイスです。 トピックまたはドメインのプライベート エンドポイントを作成すると、仮想ネットワーク上のクライアントと Event Grid リソースの間にセキュリティで保護された接続が提供されます。 プライベート エンドポイントには、仮想ネットワークの IP アドレス範囲から IP アドレスが割り当てられます。 プライベート エンドポイントと Event Grid サービス間の接続には、セキュリティで保護されたプライベート リンクが使用されます。
Event Grid リソースにプライベート エンドポイントを使用すると、次のことが可能になります。
- パブリック インターネットではなく、Microsoft バックボーン ネットワーク上の仮想ネットワークからトピックまたはドメインへのセキュリティで保護されたアクセスを実現します。
- VPN または Express Routes とプライベート ピアリングを使用して仮想空間に接続するオンプレミス ネットワークから安全に接続します。
仮想ネットワーク内のトピックまたはドメインのプライベート エンドポイントを作成すると、承認を求める同意要求がリソース所有者に送信されます。 プライベート エンドポイントの作成を要求しているユーザーがリソースの所有者でもある場合、この同意要求は自動的に承認されます。 それ以外の場合、接続は承認されるまで保留中の状態になります。 仮想ネットワーク内のアプリケーションは、プライベート エンドポイント経由で Event Grid サービスにシームレスに接続できます。接続文字列と承認メカニズムは、プライベート エンドポイントを経由しない場合と同じものが使用されます。 リソースの所有者は、Azure portal でリソースの [プライベート エンドポイント] タブを使用して、同意要求とプライベート エンドポイントを管理できます。
プライベート エンドポイントに接続する
プライベート エンドポイントを使う仮想ネットワーク上の発行元は、パブリック エンドポイントに接続するクライアントと同じ接続文字列をトピックまたはドメインに使う必要があります。 ドメイン ネーム システム (DNS) 解決により、仮想ネットワークからプライベート リンクを介してトピックまたはドメインへの接続が自動的にルーティングされます。 Event Grid では、既定で、仮想ネットワークに接続されているプライベート DNS ゾーンが作成され、プライベート エンドポイントに必要な更新も行われます。 ただし、独自の DNS サーバーを使っている場合は、DNS 構成に追加の変更が必要になることがあります。
プライベート エンドポイントの DNS の変更
プライベート エンドポイントを作成すると、リソースの DNS CNAME レコードは、プレフィックス privatelink
を持つサブドメイン内のエイリアスに更新されます。 既定では、プライベート リンクのサブドメインに対応するプライベート DNS ゾーンが作成されます。
プライベート エンドポイントを持つ仮想ネットワークの外部からトピックまたはドメイン エンドポイント URL を解決すると、サービスのパブリック エンドポイントに解決されます。 'topicA' の DNS リソース レコードは、プライベート エンドポイントをホストしている VNet 外部から解決されると、次のようになります。
名前 | Type | 値 |
---|---|---|
topicA.westus.eventgrid.azure.net |
CNAME | topicA.westus.privatelink.eventgrid.azure.net |
topicA.westus.privatelink.eventgrid.azure.net |
CNAME | <Azure Traffic Manager プロファイル> |
IP ファイアウォールを使用して、仮想ネットワークの外部のクライアントによるパブリック エンドポイント経由のアクセスを拒否または制御することができます。
プライベート エンドポイントをホストしている仮想ネットワークから解決されると、トピックまたはドメインのエンドポイント URL はプライベート エンドポイントの IP アドレスに解決されます。 'topicA' の DNS リソース レコードは、プライベート エンドポイントをホストしている VNet 内部から解決されると、次のようになります。
名前 | Type | 値 |
---|---|---|
topicA.westus.eventgrid.azure.net |
CNAME | topicA.westus.privatelink.eventgrid.azure.net |
topicA.westus.privatelink.eventgrid.azure.net |
A | 10.0.0.5 |
この方法により、プライベート エンドポイントをホストする仮想ネットワーク上のクライアントと仮想ネットワーク外のクライアントに同じ接続文字列を使ってトピックまたはドメインにアクセスできるようになります。
ネットワーク上でカスタム DNS サーバーを使っている場合、クライアントで、トピックまたはドメイン エンドポイントの完全修飾ドメイン名 (FQDN) をプライベート エンドポイント IP アドレスに解決できます。 プライベート リンク サブドメインを仮想ネットワークのプライベート DNS ゾーンに委任するように DNS サーバーを構成するか、プライベート エンドポイントの IP アドレスを使用して topicOrDomainName.regionName.privatelink.eventgrid.azure.net
の A レコードを構成します。
推奨される DNS ゾーン名は privatelink.eventgrid.azure.net
です。
プライベート エンドポイントと発行
次の表では、プライベート エンドポイント接続のさまざまな状態と、発行に対する影響について説明します。
接続状態 | 正常に発行 (はい/いいえ) |
---|---|
Approved | はい |
拒否 | いいえ |
保留中 | いいえ |
[Disconnected](切断済み) | いいえ |
発行を成功させるには、プライベート エンドポイントの接続状態が承認済みである必要があります。 接続が拒否された場合は、Azure portal を使用して承認することはできません。 唯一の方法は、接続を削除し、代わりに新しい接続を作成することです。
クォータと制限
トピックまたはドメインごとの IP ファイアウォール規則とプライベート エンドポイント接続の数には制限があります。 Event Grid のクォータと制限に関するページを参照してください。
次のステップ
Event Grid リソースに IP ファイアウォールを構成して、パブリック インターネット経由のアクセスを、IP アドレスまたは IP アドレス範囲の選択されたセットからのみに制限することができます。 詳細な手順については、IP ファイアウォールの構成に関する記事を参照してください。
選択した仮想ネットワークからのアクセスのみに制限するようにプライベート エンドポイントを構成できます。 詳細な手順については、プライベート エンドポイントの構成に関する記事を参照してください。
ネットワーク接続の問題をトラブルシューティングするには、ネットワーク接続の問題のトラブルシューティングに関するページを参照してください。