Freigeben über


Sichere Integration von Azure Logic Apps in lokale APIs mithilfe des Microsoft Entra-Anwendungsproxys

Azure Logic Apps ist ein Dienst, der die einfache Erstellung verwalteter Workflows in einer Umgebung ohne Code ermöglicht, die in verschiedene externe Dienste und Systeme integriert werden kann. Workflows können dazu beitragen, eine Vielzahl von Geschäftsprozessen zu automatisieren, z. B. Datenintegration, Datenverarbeitung und ereignisgesteuerte Szenarien. Logic Apps integriert sich in andere öffentliche und cloudbasierte Dienste. Oder verwenden Sie Logic Apps mit lokalen Anwendungen und Diensten. Die Integration in das private Netzwerk macht den Dienst nicht durch Portweiterleitung oder einen herkömmlichen Reverse-Proxy für die Öffentlichkeit zugänglich.

In diesem Artikel werden die Schritte beschrieben, die erforderlich sind, um die Lösung mit dem Microsoft Entra-Anwendungsproxy für sicheren Zugriff auf eine Logik-App zu nutzen und gleichzeitig die interne Anwendung vor unerwünschten Akteuren zu schützen. Der Prozess und das Endergebnis ähneln dem Zugreifen auf lokale APIs mit dem Microsoft Entra-Anwendungsproxy mit besonderem Augenmerk auf die Verwendung der API innerhalb einer Logik-App.

Übersicht

Das folgende Diagramm zeigt eine herkömmliche Methode zum Veröffentlichen lokaler APIs für den Zugriff über Azure Logic Apps. Es ist erforderlich, die TCP-Ports 80 und/oder 443 für den API-Dienst zu öffnen, um diesen Ansatz umzusetzen.

Diagramm, das die direkte Verbindung zwischen Logik-App und API zeigt.

Das folgende Diagramm zeigt, wie Sie den Microsoft Entra-Anwendungsproxy verwenden können, um APIs für die Verwendung mit Logic Apps (oder anderen Azure Cloud-Diensten) sicher zu veröffentlichen, ohne eingehende Ports zu öffnen:

Diagramm der Verbindung zwischen Logik-App und API über den Azure-Anwendungsproxy.

Der Microsoft Entra-Anwendungsproxy und der zugehörige Connector erleichtern die sichere Autorisierung und Integration in Ihre lokalen Dienste ohne weitere Konfigurationen in Ihrer Netzwerksicherheitsinfrastruktur.

Voraussetzungen

Für dieses Tutorial benötigen Sie Folgendes:

  • Administratorzugriff auf ein Azure-Verzeichnis mit einem Konto, das Apps erstellen und registrieren kann
  • Die Rolle Mitwirkende für Logik-Apps (oder höher) in einem aktiven Mandanten
  • Bereitgestellter privater Azure-Netzwerkconnector und eine Konfiguration einer Anwendung, wie unter Hinzufügen einer lokalen App – Anwendungsproxy in Microsoft Entra ID beschrieben

Hinweis

Das Gewähren einer Benutzerberechtigung und das Testen der Anmeldung wird empfohlen, für dieses Handbuch jedoch nicht erforderlich.

Konfigurieren des Anwendungszugriffs

Wenn eine neue Unternehmensanwendung erstellt wird, wird auch eine entsprechende App-Registrierung erstellt. Die App-Registrierung ermöglicht die Konfiguration des sicheren programmgesteuerten Zugriffs mithilfe von Zertifikaten, Geheimnissen oder Verbundanmeldeinformationen. Für die Integration mit einer Logic App konfigurieren Sie einen geheimen Clientschlüssel und konfigurieren die API-Berechtigungen.

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsadministrator an.

  2. Navigieren Sie zu Entra ID>App-Registrierungen.

  3. Wählen Sie im Fenster App-Registrierungen die Registerkarte Alle Anwendungen aus.

  4. Navigieren Sie zu der Anwendung mit einem übereinstimmenden Namen Ihrer bereitgestellten App Proxy-Anwendung. Wenn Sie beispielsweise Beispielanwendung 1 als Unternehmensanwendung bereitgestellt haben, wählen Sie das Registrierungselement der Beispielanwendung 1 aus.

    Hinweis

    Eine zugeordnete Anwendung wird möglicherweise gelöscht oder nicht automatisch erstellt, wenn sie nicht gefunden werden kann. Eine Registrierung kann über die Schaltfläche Neue Registrierung erstellt werden.

  5. Notieren Sie sich von der Detailseite Beispielanwendung 1 die Felder Anwendungs-ID (Client) und Verzeichnis-ID (Mandant).

  6. Wählen Sie im Navigationsbereich das Menüelement API-Berechtigungen aus.

    Screenshot: Menüelement „API-Berechtigungen“ bei der Microsoft Entra-App-Registrierung

    1. Wählen Sie die Schaltfläche Berechtigung hinzufügen aus.

      1. Wählen Sie die Registerkarte Von meiner Organisation verwendete APIs aus.

      2. Suchen Sie nach Ihrem App-Namen (z. B. Beispielanwendung 1), und wählen Sie das Element aus.

      3. Stellen Sie sicher, dass Delegierte Berechtigungenausgewählt ist, und aktivieren Sie dann das Kontrollkästchen für user_impersonation.

      4. Wählen Sie Zugriffsrechte hinzufügen.

    2. Überprüfen Sie, ob die konfigurierte Berechtigung angezeigt wird.

      Screenshot: Details zu den API-Berechtigungen bei der Microsoft Entra-App-Registrierung

  7. Wählen Sie im Navigationsbereich das Menüelement Zertifikate und Geheimnisse aus.

    Screenshot: Menüelement „Zertifikate und Geheimnisse“ bei der Microsoft Entra-App-Registrierung

    1. Wählen Sie die Registerkarte Clientgeheimnisse aus.

    2. Klicken Sie auf Neuer geheimer Clientschlüssel.

    3. Über das Popupelement Geheimen Clientschlüssel hinzufügen.

      1. Geben Sie eine Beschreibung und das gewünschte Ablaufdatum ein.

      2. Wählen Sie Hinzufügen aus.

    4. Überprüfen Sie, ob der neue geheime Clientschlüssel angezeigt wird.

    5. Wählen Sie die Schaltfläche Kopieren für den Wert des neu erstellten Geheimnisses. Speichern Sie diesen Geheimniswert sicher für die spätere Verwendung. Dieser Wert wird nur einmal angezeigt.

Konfigurieren der Logik-App

  1. Öffnen Sie in der Logik-App die Ansicht Designer.

  2. Wählen Sie einen gewünschten Trigger aus (wenn Sie dazu aufgefordert werden).

  3. Fügen Sie einen neuen Schritt hinzu, und wählen Sie den HTTP-Vorgang aus.

    Screenshot des Bereichs „Optionen“ für den Azure Logic App-Trigger.

    1. Methode: Wählen Sie die gewünschte HTTP-Methode aus, die an die interne API gesendet werden soll.

    2. URI: Geben Sie den öffentlichen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) Ihrer Anwendung ein, die in Microsoft Entra ID registriert ist, sowie den anderen URI, der für den API-Zugriff erforderlich ist (z. B. sampleapp1.msappproxy.net/api/1/status).

      Hinweis

      Bestimmte Werte für DIE API hängen von Ihrer internen Anwendung ab.

    3. Header: Geben Sie alle gewünschten Header ein, die an die interne API gesendet werden sollen.

    4. Abfragen: Geben Sie alle gewünschten Abfragen ein, die an die interne API gesendet werden sollen.

    5. Textkörper: Geben Sie alle gewünschten Textinhalte ein, die an die interne API gesendet werden sollen.

    6. Cookie: Geben Sie alle gewünschten Cookies ein, die an die interne API gesendet werden sollen.

    7. Wählen Sie Neuen Parameter hinzufügen und markieren Sie dann Authentifizierung.

    8. Wählen Sie unter AuthentifizierungstypMicrosoft Entra ID OAuth aus.

    9. Geben Sie für die Authentifizierung die folgenden Details ein.

      1. Autorität: Geben Sie https://login.windows.net ein.

      2. Mandant: Geben Sie die Verzeichnis-ID (Mandant) ein, die unter Konfigurieren des Anwendungszugriffs notiert ist.

      3. Zielgruppe: Geben Sie den öffentlichen FQDN Ihrer in Microsoft Entra ID registrierten Anwendung ein (z. B. sampleapp1.msappproxy.net).

      4. Client-ID: Geben Sie die Anwendungs-ID (Client) ein, die unter Konfigurieren des Anwendungszugriffs notiert ist.

      5. Anmeldetyp: Passwort.

      6. Geheimnis: Geben Sie den Geheimniswert ein, der unter Konfigurieren des Anwendungszugriffs notiert ist.

  4. Speichern Sie die Logik-App und Testen Sie sie mit Ihrem Trigger.

Vorbehalte

APIs, die eine Authentifizierung/Autorisierung benötigen, erfordern bei Verwendung dieser Methode eine besondere Behandlung. Da für den Zugriff Microsoft Entra ID OAuth verwendet wird, enthalten die gesendeten Anfragen bereits ein Autorisierungsfeld, das nicht auch von der internen API verwendet werden kann (es sei denn, SSO ist konfiguriert). Als Problemumgehung bieten einige Anwendungen eine Authentifizierung oder Autorisierung, die andere Methoden als einen Autorisierungsheader verwendet. GitLab ermöglicht beispielsweise einen Header mit dem Titel PRIVATE-TOKEN, und Atlassian JIRA ermöglicht das Anfordern eines Cookies, das in späteren Anforderungen verwendet werden kann.

Die HTTP-Aktion „Logik-App“ zeigt Klartextwerte an. Speichern Sie jedoch den Registration Secret Key der App im Azure Key Vault, um sicheren Abruf und die Verwendung zu ermöglichen.

Siehe auch