Netzwerksicherheit für Azure Event Grid-Namespaces

In diesem Artikel wird beschrieben, wie Sie die folgenden Sicherheitsfunktionen mit Azure Event Grid verwenden:

  • Diensttags für ausgehenden Datenverkehr
  • IP-Firewallregeln
  • Private Endpunkte

Diensttags

Ein Diensttag steht für eine Gruppe von IP-Adresspräfixen eines bestimmten Azure-Diensts. Microsoft verwaltet die von dem Dienst-Tag umfassten Adresspräfixe und aktualisiert das Dienst-Tag automatisch, wenn sich die Adressen ändern, wodurch die Komplexität häufiger Aktualisierungen der Netzwerksicherheitsregeln reduziert wird. Weitere Informationen zu Diensttags finden Sie unter Diensttags: Übersicht.

Sie können Diensttags verwenden, um Netzwerkzugriffssteuerungen für Netzwerksicherheitsgruppen oder azure-Firewalls zu definieren. Verwenden Sie Diensttags anstelle von spezifischen IP-Adressen, wenn Sie Sicherheitsregeln erstellen. Durch Angeben des Diensttagnamens (z. B. Azure Event Grid) in den entsprechenden Quell- oder Zielfeldern einer Regel können Sie den Datenverkehr für den entsprechenden Dienst zulassen oder verweigern.

Service-Tag Purpose Eingehend oder ausgehend möglich? Kann es regional sein? Einsatz mit Azure Firewall möglich?
AzureEventGrid Azure-Ereignisraster. Beides No No

IP-Firewall

Standardmäßig sind Ereignisrasternamespaces und Entitäten über das Internet zugänglich, solange die Anforderung mit gültiger Authentifizierung (Zugriffsschlüssel) und Autorisierung ausgestattet ist. Mit der IP-Firewall können Sie den Zugriff auf eine Gruppe von IPv4-Adressen oder IPv4-Adressbereichen in der CIDR-Notation (Classless Inter-Domain Routing) weiter einschränken. Clients, die von einer anderen IP-Adresse stammen, werden abgelehnt und erhalten eine 403 (Verbotene) Antwort.

Für MQTT-Szenarien (Message Queueing Telemetry Transport) können nur die Clients, die in den zulässigen IP-Bereich fallen, Ereignisse veröffentlichen und abonnieren. Weitere Informationen finden Sie unter Konfigurieren der IP-Firewall für Event Grid-Namespaces in MQTT-Szenarien.

Bei Nicht-MQTT-Szenarien können nur die Clients, die in den zulässigen IP-Bereich fallen, eine Verbindung mit Azure Event Grid herstellen, um Ereignisse oder Pullereignisse zu veröffentlichen. Weitere Informationen finden Sie unter Konfigurieren der IP-Firewall für Event Grid-Namespaces in Nicht-MQTT-Szenarien.

Die Schritte sind für beide Szenarien identisch. Diese Artikel enthalten einige zusätzliche Informationen speziell für die MQTT- oder Nicht-MQTT-Szenarien.

Private Endpunkte

Ein privater Endpunkt ist eine spezielle Netzwerkschnittstelle für einen Azure-Dienst in Ihrem VNet. Wenn Sie einen privaten Endpunkt für Ihren Namespace erstellen, stellt er eine sichere Konnektivität zwischen Clients in Ihrem VNet und Ihrem Event Grid-Namespace bereit. Dem privaten Endpunkt wird eine IP-Adresse aus dem IP-Adressbereich Ihres VNET zugewiesen. Für die Verbindung zwischen dem privaten Endpunkt und dem Event Grid-Dienst wird eine sichere private Verbindung verwendet. Die Verwendung privater Endpunkte für Ihren Event Grid-Namespace ermöglicht Folgendes:

  • Sicherer Zugriff auf Ihren Namespace über ein virtuelles Netzwerk über das Microsoft-Backbone-Netzwerk im Gegensatz zum öffentlichen Internet.
  • Sicheres Verbinden aus lokalen Netzwerken, die eine Verbindung mit dem virtuellen Netzwerk über VPN oder ExpressRoute mit privatem Peering herstellen.

Wenn Sie einen privaten Endpunkt für einen Namespace in Ihrem virtuellen Netzwerk erstellen, wird eine Zustimmungsanforderung zur Genehmigung an den Ressourcenbesitzer gesendet. Wenn der Benutzer, der die Erstellung des privaten Endpunkts anfordert, auch ein Besitzer der Ressource ist, wird diese Einwilligungsanforderung automatisch genehmigt. Andernfalls befindet sich die Verbindung im Status Ausstehend, bis sie genehmigt wurde. Anwendungen im virtuellen Netzwerk können eine nahtlose Verbindung mit dem Event Grid-Dienst über den privaten Endpunkt herstellen, und zwar mit denselben Verbindungszeichenfolgen und Autorisierungsmechanismen, die auch sonst verwendet würden. Ressourcenbesitzer können Einwilligungsanforderungen und die privaten Endpunkte über die Registerkarte Private Endpunkte für die Ressource im Azure-Portal verwalten.

Wenn ein MQTT-Client in einem privaten Netzwerk eine Verbindung mit dem MQTT-Broker über einen privaten Link herstellt, kann der Kunde MQTT-Nachrichten veröffentlichen und abonnieren. Weitere Informationen finden Sie unter Konfigurieren privater Endpunkte für Namespaces in MQTT-Szenarien.

In Nicht-MQTT-Szenarien kann ein Client in einem privaten Netzwerk eine Verbindung mit dem Event Grid-Namespace herstellen und Ereignisse oder Pullereignisse veröffentlichen. Weitere Informationen finden Sie unter Konfigurieren privater Endpunkte für Namespaces in Nicht-MQTT-Szenarien.

Herstellen einer Verbindung mit privaten Endpunkten

Sie können private Endpunkte verwenden, um den Eingang von Ereignissen direkt aus Ihrem virtuellen Netzwerk zu Entitäten in Ihren Event Grid-Namespaces sicher über einen privaten Link zuzulassen, ohne das öffentliche Internet zu durchlaufen. Der private Endpunkt verwendet eine IP-Adresse aus dem virtuellen Netzwerkadressraum für Ihren Namespace.

Clients in einem virtuellen Netzwerk, das den privaten Endpunkt verwendet, sollten dieselbe Verbindungszeichenfolge für den Namespace wie Clients verwenden, die eine Verbindung mit dem öffentlichen Endpunkt herstellen. Die Lösung des Domain Name System (DNS) leitet Verbindungen vom virtuellen Netzwerk zum Namespace automatisch über einen privaten Link. Event Grid erstellt standardmäßig eine private DNS-Zone, die mit dem erforderlichen Update für die privaten Endpunkte an das virtuelle Netzwerk angefügt wird. Wenn Sie jedoch Ihren eigenen DNS-Server verwenden, müssen Sie möglicherweise zusätzliche Änderungen an Ihrer DNS-Konfiguration vornehmen.

Wenn ein MQTT-Client in einem privaten Netzwerk eine Verbindung mit dem MQTT-Broker auf einem privaten Link herstellt, kann der Kunde MQTT-Nachrichten veröffentlichen und abonnieren.

DNS-Änderungen für private Endpunkte

Wenn Sie einen privaten Endpunkt erstellen, wird der DNS-CNAME-Eintrag für die Ressource auf einen Alias in einer Unterdomäne mit dem Präfix privatelink aktualisiert. Standardmäßig wird eine private DNS-Zone erstellt, die der Unterdomäne des privaten Links entspricht.

Wenn Sie die Namespace-Endpunkt-URL von außerhalb des virtuellen Netzwerks mit dem privaten Endpunkt auflösen, wird diese in den öffentlichen Endpunkt des Dienstes aufgelöst. Die DNS-Ressourceneinträge für "namespaceA", wenn sie von außerhalb des VNet aufgelöst werden, das den privaten Endpunkt hosten, sind:

Name Typ Wert
namespaceA.westus.eventgrid.azure.net CNAME namespaceA.westus.privatelink.eventgrid.azure.net
namespaceA.westus.privatelink.eventgrid.azure.net CNAME <Azure Traffic Manager-Profil>

Sie können den Zugriff für Clients außerhalb des virtuellen Netzwerks über den öffentlichen Endpunkt mithilfe der IP-Firewall verweigern oder steuern.

Bei Auflösung aus dem virtuellen Netzwerk, das den privaten Endpunkt hostet, wird die Namespace-Endpunkt-URL in die IP-Adresse des privaten Endpunkts aufgelöst. Die DNS-Ressourceneinträge für den Namespace ‚namespaceA‘, wenn sie von innerhalb des VNet, das den privaten Endpunkt gehostet hat, behoben werden, sind:

Name Typ Wert
namespaceA.westus.eventgrid.azure.net CNAME namespaceA.westus.privatelink.eventgrid.azure.net
namespaceA.westus.privatelink.eventgrid.azure.net Ein 10.0.0.5

Dieser Ansatz ermöglicht den Zugriff auf den Namespace mithilfe derselben Verbindungszeichenfolge für Clients im virtuellen Netzwerk, die die privaten Endpunkte hosten, und Clients außerhalb des virtuellen Netzwerks.

Wenn Sie einen benutzerdefinierten DNS-Server in Ihrem Netzwerk verwenden, können Clients den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) für den Namespaceendpunkt in die IP-Adresse des privaten Endpunkts auflösen. Konfigurieren Sie den DNS-Server so, dass die Unterdomäne der privaten Verbindung an die private DNS-Zone für das virtuelle Netzwerk delegiert wird, oder konfigurieren Sie die A-Einträge für namespaceName.regionName.privatelink.eventgrid.azure.net mit der IP-Adresse des privaten Endpunkts.

Der empfohlene Name der DNS-Zone ist privatelink.eventgrid.azure.net.

Private Endpunkte und Veröffentlichung

In der folgenden Tabelle werden die verschiedenen Zustände der Verbindung mit dem privaten Endpunkt und die Auswirkungen auf die Veröffentlichung beschrieben:

Verbindungsstatus Erfolgreich veröffentlichen (Ja/Nein)
Genehmigt Ja
Abgelehnt No
Ausstehend No
Verbindung unterbrochen No

Damit die Veröffentlichung erfolgreich ist, sollte der Verbindungsstatus des privaten Endpunkts Genehmigt sein. Wenn eine Verbindung abgelehnt wird, kann sie nicht mithilfe des Azure-Portals genehmigt werden. Die einzige Möglichkeit besteht darin, die Verbindung zu löschen und eine neue Verbindung zu erstellen.

Kontingente und Grenzwerte

Es gibt ein Limit für die Anzahl der IP-Firewallregeln und private Endpunktverbindungen pro Namespace. Weitere Informationen finden Sie unter Kontingente und Grenzwerte in Azure Event Grid.

Wenn Sie MQTT verwenden, lesen Sie die folgenden Artikel:

Informationen zur Pull-basierten Ereignisübermittlung finden Sie in den folgenden Artikeln: