Schützen von Datenverkehr zwischen Standard-Logik-Apps und virtuellen Azure-Netzwerken mithilfe von privaten Endpunkten

Gilt für: Azure Logic Apps (Standard)

Für eine sichere und private Kommunikation zwischen einem Workflow in einer Standard-Logik-App und einem virtuellen Azure-Netzwerk können Sie private Endpunkte für eingehenden Datenverkehr einrichten und die Integration virtueller Netzwerke für ausgehenden Datenverkehr verwenden.

Ein privater Endpunkt ist eine Netzwerkschnittstelle, die eine private und sichere Verbindung mit einem von Azure Private Link unterstützten Dienst herstellt. Bei diesem Dienst kann es sich um einen Azure-Dienst wie Azure Storage, Logic Apps, Azure Storage, Azure Cosmos DB, SQL oder um Ihren eigenen Private Link-Dienst handeln. Der private Endpunkt verwendet eine private IP-Adresse aus Ihrem virtuellen Netzwerk, was den Dienst effektiv in Ihr virtuelles Netzwerk einbindet.

In diesem Artikel erfahren Sie, wie Sie Zugriff über private Endpunkte für eingehenden Datenverkehr und Integration virtueller Netzwerke für ausgehenden Datenverkehr einrichten.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Voraussetzungen

Sie benötigen ein neues oder vorhandenes virtuelles Azure-Netzwerk, das ein Subnetz ohne Delegierungen umfasst. Dieses Subnetz wird verwendet, um private IP-Adressen aus einem virtuellen Netzwerk bereitzustellen und zuzuordnen.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Einrichten von eingehendem Datenverkehr über private Endpunkte

Führen Sie die folgenden allgemeinen Schritte aus, um bei Ihrem Workflow eingehenden Datenverkehr zu schützen:

  1. Starten Sie Ihren Workflow mit einem integrierten Trigger, der eingehende Anforderungen empfangen und verarbeiten kann, z. B. dem Anforderungstrigger oder dem HTTP+Webhooktrigger. Dieser Trigger richtet Ihren Workflow mit einem aufrufbaren Endpunkt ein.

  2. Fügen Sie Ihrem virtuellen Netzwerk einen privaten Endpunkt für Ihre Logik-App-Ressource hinzu.

  3. Führen Sie Testaufrufe durch, um den Zugriff auf den Endpunkt zu überprüfen. Um Ihren Logik-App-Workflow nach dem Einrichten dieses Endpunkts aufzurufen, müssen Sie mit dem virtuellen Netzwerk verbunden sein.

Überlegungen zum eingehenden Datenverkehr über private Endpunkte

  • Bei Zugriffen von außerhalb Ihres virtuellen Netzwerks kann die Überwachungsansicht nicht auf die Eingaben und Ausgaben von Triggern und Aktionen zugreifen.

  • Webhooktrigger (Push-Trigger) und -aktionen für verwaltete APIs funktionieren nicht, da sie in der öffentlichen Cloud ausgeführt werden und keine Aufrufe in ein privates Netzwerk durchführen können. Sie benötigen einen öffentlichen Endpunkt, um Aufrufe zu empfangen. Zu diesen Triggern gehören beispielsweise der Dataverse-Trigger und der Event Grid-Trigger.

  • Wenn Sie den Office 365 Outlook-Trigger verwenden, wird der Workflow nur stündlich ausgelöst.

  • Die Bereitstellung über Visual Studio Code oder die Azure CLI funktioniert nur innerhalb des virtuellen Netzwerks. Sie können das Bereitstellungscenter verwenden, um Ihre Logik-App mit einem GitHub-Repository zu verknüpfen. Sie können dann die Azure-Infrastruktur verwenden, um Ihren Code zu erstellen und bereitzustellen.

    Damit die GitHub-Integration funktioniert, entfernen Sie die WEBSITE_RUN_FROM_PACKAGE-Einstellung aus Ihrer Logik-App, oder legen Sie den Wert auf 0 fest.

  • Das Aktivieren von Private Link wirkt sich nicht auf ausgehenden Datenverkehr aus, der weiterhin die App Service-Infrastruktur durchläuft.

Voraussetzungen für eingehenden Datenverkehr über private Endpunkte

Zusätzlich zur Einrichtung des virtuellen Netzwerks in den allgemeinen Voraussetzungen benötigen Sie einen neuen oder vorhandenen Standard-Logik-App-Workflow, der mit einem integrierten Trigger startet, der Anforderungen empfangen kann.

Der Anforderungstrigger erstellt beispielsweise einen Endpunkt in Ihrem Workflow, der eingehende Anforderungen von anderen Aufrufern, einschließlich Workflows, empfangen und verarbeiten kann. Dieser Endpunkt stellt eine URL bereit, die Sie zum Aufrufen und Auslösen des Workflows verwenden können. In diesem Beispiel werden die Schritte unter Verwendung des Anforderungstriggers fortgesetzt.

Weitere Informationen finden Sie unter Empfangen von und Reagieren auf eingehende HTTPS-Anforderungen mittels Azure Logic Apps.

Erstellen des Workflows

  1. Falls noch nicht vorhanden, erstellen Sie eine auf einem einzelnen Mandanten basierende Logik-App sowie einen leeren Workflow.

  2. Nachdem der Designer geöffnet wurde, fügen Sie den Anforderungstrigger als ersten Schritt in Ihrem Workflow hinzu.

  3. Fügen Sie je nach Ihren Szenarioanforderungen weitere Aktionen hinzu, die Sie in Ihrem Workflow ausführen möchten.

  4. Wenn Sie fertig sind, speichern Sie Ihren Workflow.

Weitere Informationen finden Sie unter Erstellen von Logik-App-Workflows mit nur einem Mandanten in Azure Logic Apps.

Kopieren der Endpunkt-URL

  1. Wählen Sie im Menü „Workflow“ die Option Übersicht aus.

  2. Kopieren Sie von der Seite Übersicht die Workflow-URL, und speichern Sie sie zur späteren Verwendung.

    Um den Workflow auszulösen, rufen Sie diese URL auf, oder senden Sie eine Anforderung an diese.

  3. Stellen Sie sicher, dass die URL funktioniert, indem Sie sie aufrufen oder eine Anforderung an sie senden. Sie können ein beliebiges Tool zum Senden der Anforderung verwenden, z. B. Postman.

Einrichten einer Verbindung mit dem privaten Endpunkt

  1. Wählen Sie in Ihrem Logik-App-Menü unter Einstellungen die Option Netzwerk aus.

  2. Wählen Sie auf der Seite Netzwerk auf der Karte Eingehender Datenverkehr die Option Private Endpunkte aus.

  3. Wählen Sie für Private Endpunktverbindungen die Option Hinzufügen aus.

  4. Geben Sie im Bereich Privaten Endpunkt hinzufügen, der geöffnet wird, die angeforderten Informationen zum Endpunkt an.

    Weitere Informationen finden Sie unter Eigenschaften eines privaten Endpunkts.

  5. Nachdem Azure den privaten Endpunkt erfolgreich bereitgestellt hat, versuchen Sie erneut, die Workflow-URL aufzurufen.

    Diesmal erhalten Sie einen erwarteten 403 Forbidden-Fehler, was bedeutet, dass der private Endpunkt eingerichtet ist und ordnungsgemäß funktioniert.

  6. Um sicherzustellen, dass die Verbindung ordnungsgemäß funktioniert, erstellen Sie einen virtuellen Computer in demselben virtuellen Netzwerk mit dem privaten Endpunkt, und versuchen Sie, den Logik-App-Workflow aufzurufen.

Einrichten ausgehenden Datenverkehrs mithilfe der Integration virtueller Netzwerke

Um ausgehenden Datenverkehr aus Ihrer Logik-App zu schützen, können Sie Ihre Logik-App in ein virtuelles Netzwerk integrieren. Erstellen und testen Sie zunächst einen Beispielworkflow. Anschließend können Sie die Integration virtueller Netzwerke einrichten.

Überlegungen zum ausgehenden Datenverkehr bei Integration virtueller Netzwerke

  • Das Einrichten der Integration virtueller Netzwerke wirkt sich nur auf ausgehenden Datenverkehr aus. Informationen zum Schützen des eingehenden Datenverkehrs, der weiterhin den freigegebenen App Service-Endpunkt verwendet, finden Sie unter Einrichten von eingehendem Datenverkehr über private Endpunkte.

  • Sie können die Subnetzgröße nach der Zuweisung nicht ändern. Verwenden Sie daher ein Subnetz, das groß genug für den potenziellen Bedarf Ihrer App ist. Um etwaige Probleme mit der Subnetzkapazität zu vermeiden, verwenden Sie ein /26-Subnetz mit 64 Adressen. Wenn Sie das Subnetz für die Integration in ein virtuelles Netzwerk mit dem Azure-Portal erstellen, müssen Sie /27 als Mindestgröße des Subnetzes verwenden.

  • Damit die Azure Logic Apps-Runtime funktioniert, benötigen Sie eine ununterbrochene Verbindung mit dem Back-End-Speicher. Wenn der Back-End-Speicher über einen privaten Endpunkt im virtuellen Netzwerk verfügbar gemacht wird, stellen Sie sicher, dass folgende Ports geöffnet sind:

    Quellport Zielport `Source` Ziel Protocol Zweck
    * 443 In die Standard-Logik-App integriertes Subnetz Speicherkonto TCP Speicherkonto
    * 445 In die Standard-Logik-App integriertes Subnetz Speicherkonto TCP SMB-Dateifreigabe (Server Message Block)
  • Damit von Azure gehostete verwaltete Connectors funktionieren, benötigen Sie eine ununterbrochene Verbindung mit dem verwalteten API-Dienst. Stellen Sie bei der Integration virtueller Netzwerke sicher, dass keine Firewall- oder Netzwerksicherheitsrichtlinie diese Verbindungen blockiert. Wenn Ihr virtuelles Netzwerk eine Netzwerksicherheitsgruppe (NSG), eine benutzerdefinierte Routentabelle (UDR) oder eine Firewall verwendet, stellen Sie sicher, dass das virtuelle Netzwerk ausgehende Verbindungen mit allen verwalteten Connector-IP-Adressen in der entsprechenden Region ermöglicht. Andernfalls funktionieren von Azure verwaltete Connectors nicht.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Erstellen und Testen des Workflows

  1. Falls noch nicht geschehen, erstellen Sie über das Azure-Portal eine auf einem einzelnen Mandanten basierende Logik-App sowie einen leeren Workflow.

  2. Nachdem der Designer geöffnet wurde, fügen Sie den Anforderungstrigger als ersten Schritt in Ihrem Workflow hinzu.

  3. Fügen Sie eine HTTP-Aktion zum Aufrufen eines internen Diensts hinzu, der nicht über das Internet verfügbar ist und mit einer privaten IP-Adresse (beispielsweise 10.0.1.3) ausgeführt wird.

  4. Wenn Sie fertig sind, speichern Sie Ihren Workflow.

  5. Führen Sie den Workflow manuell über den Designer aus.

    Die HTTP-Aktion ist nicht erfolgreich. Das war zu erwarten, da der Workflow in der Cloud ausgeführt wird und nicht auf Ihren internen Dienst zugreifen kann.

Einrichten der Integration virtueller Netzwerke

  1. Wählen Sie im Azure-Portal im Menü der Logik-App-Ressource unter Einstellungen die Option Netzwerk aus.

  2. Wählen Sie im Bereich Netzwerk auf der Karte Ausgehender Datenverkehr die Option VNet-Integration aus.

  3. Wählen Sie im Bereich VNet-Integration die Option VNET hinzufügen aus.

  4. Wählen Sie im Bereich VNet-Integration hinzufügen das Abonnement und das virtuelle Netzwerk aus, von dem eine Verbindung mit Ihrem internen Dienst hergestellt wird.

    Nachdem Sie die Integration virtueller Netzwerke hinzugefügt haben, ist die Einstellung Alle weiterleiten im Bereich VNet-Integration standardmäßig aktiviert. Durch diese Einstellung wird der gesamte ausgehende Datenverkehr über das virtuelle Netzwerk weitergeleitet. Wenn diese Einstellung aktiviert ist, wird die App-Einstellung WEBSITE_VNET_ROUTE_ALL ignoriert.

  5. Wenn Sie Ihren eigenen Domänennamenserver (DNS) mit Ihrem virtuellen Netzwerk verwenden, legen Sie die App-Einstellung WEBSITE_DNS_SERVER Ihrer Logik-App-Ressource auf die IP-Adresse Ihres DNS fest. Wenn Sie über ein sekundäres DNS verfügen, fügen Sie eine weitere App-Einstellung mit dem Namen WEBSITE_DNS_ALT_SERVER hinzu, und legen Sie ihren Wert ebenfalls auf die IP-Adresse Ihres DNS fest.

  6. Versuchen Sie nach erfolgreicher Bereitstellung der Integration virtueller Netzwerke durch Azure erneut, den Workflow auszuführen.

    Die HTTP-Aktion wird nun erfolgreich ausgeführt.

Nächste Schritte