Integrera Azure Logic Apps på ett säkert sätt med lokala API:er med hjälp av Microsoft Entra-programproxy
Azure Logic Apps är en tjänst som gör det enkelt att skapa hanterade arbetsflöden i en kodfri miljö som kan integreras med olika externa tjänster och system. Arbetsflöden hjälper till att automatisera en mängd olika affärsprocesser, till exempel dataintegrering, databearbetning och händelsedrivna scenarier. Logic Apps integreras med andra offentliga och molnbaserade tjänster. Du kan också använda Logic Apps med lokala program och tjänster. Integrering av privata nätverk exponerar inte tjänsten för allmänheten med portvidarebefordring eller en traditionell omvänd proxy.
Den här artikeln beskriver de steg som krävs för att använda Microsoft Entra-programproxylösningen för att ge säker åtkomst till en logikapp, samtidigt som det interna programmet skyddas från oönskade aktörer. Processen och slutresultatet liknar åtkomst till lokala API:er med Microsoft Entra-programproxy, med särskild uppmärksamhet på att använda API:et från en Logic App.
Översikt
Följande diagram visar ett traditionellt sätt att publicera lokala API:er för åtkomst från Azure Logic Apps. Den här metoden kräver att inkommande TCP-portar 80 och/eller 443 öppnas till API:t.
Följande diagram visar hur du kan använda Microsoft Entra-programproxy för att på ett säkert sätt publicera API:er för användning med Logic Apps (eller andra Azure Cloud-tjänster) utan att öppna några inkommande portar:
Microsoft Entra-programproxyn och tillhörande anslutningsapp underlättar säker auktorisering och integrering av dina lokala tjänster utan mer konfiguration av nätverkssäkerhetsinfrastrukturen.
Förutsättningar
Om du vill följa den här handledningen behöver du:
- Administratörsåtkomst till en Azure-katalog med ett konto som kan skapa och registrera appar
- Rollen Logic App-bidragsgivare (eller högre) i en aktiv klientorganisation
- Den privata Azure-nätverksanslutningen har distribuerats och en applikation har konfigurerats enligt beskrivningen i Lägg till en lokal app – programproxy i Microsoft Entra ID
Anteckning
Det rekommenderas att du beviljar en användarbehörighet och testar inloggningen, men det krävs inte för den här guiden.
Konfigurera programåtkomst
När ett nytt företagsprogram skapas skapas även en matchande appregistrering. Appregistreringen tillåter konfiguration av säker programmatisk åtkomst med hjälp av certifikat, hemligheter eller federerade autentiseringsuppgifter. För integrering med en logikapp konfigurerar du en klienthemlighetsnyckel och konfigurerar API-behörigheterna.
Logga in på administrationscentret för Microsoft Entra som minst programadministratör.
Bläddra till Identitet>Applikationer>Appregistreringar.
I fönstret Appregistreringar väljer du fliken Alla program .
Navigera till programmet med ett matchande namn till ditt distribuerade programproxyprogram. Om du till exempel har distribuerat exempelapp 1 som ett företagsprogram väljer du registreringsobjektet Exempelapp 1 .
Kommentar
Om det inte går att hitta ett associerat program kanske det inte har skapats automatiskt eller tagits bort. Du kan skapa en registrering med knappen Ny registrering .
På informationssidan Exempelapp 1 registrerar du fälten Program-ID (klient- och katalog-ID ).
Välj menyalternativet API-behörigheter i navigeringsfönstret.
Välj knappen Lägg till en behörighet.
Välj fliken API:er som min organisation använder .
Sök efter din app efter namn (till exempel Exempelapp 1) och välj objektet.
Kontrollera att Delegerade behörigheter är markerat och markera sedan kryssrutan för user_impersonation.
Välj Lägg till behörigheter.
Kontrollera att den konfigurerade behörigheten visas.
Välj menyalternativet Certifikat och hemligheter i navigeringsfönstret.
Välj fliken Klienthemligheter.
Välj knappen Ny klienthemlighet.
Från popup-fönstret Lägg till en klienthemlighet.
Ange en Beskrivning och önskad förfallotid.
Markera Lägga till.
Kontrollera att den nya klienthemligheten visas.
Välj knappen Kopiera för värdet för den nyligen skapade hemligheten. Spara hemligheten på ett säkert sätt för senare användning. Det här värdet visas bara en gång.
Konfigurera logikappen
Öppna vyn Designer i logikappen.
Välj en önskad utlösare (om du uppmanas att göra det).
Lägg till ett nytt steg och välj HTTP-åtgärden .
Metod: Välj önskad HTTP-metod som ska skickas till det interna API:et.
URI: Fyll i med det offentliga fullständigt kvalificerade domännamnet (FQDN) för ditt program som är registrerat i Microsoft Entra-ID, tillsammans med den andra URI:n som krävs för API-åtkomst (till exempel sampleapp1.msappproxy.net/api/1/status).
Anteckning
Specifika värden för API:et beror på ditt interna program.
Rubriker: Ange önskade rubriker som ska skickas till det interna API:et.
Frågor: Ange önskade frågor som ska skickas till det interna API:et.
Brödtext: Ange önskat brödtextinnehåll som ska skickas till det interna API:et.
Cookie: Ange önskade cookies som ska skickas till det interna API:et.
Välj Lägg till ny parameter och kontrollera Autentisering sedan.
Välj Microsoft Entra ID OAuth från autentiseringstypen.
Fyll i följande information för autentiseringen.
Utfärdare: Ange https://login.windows.net.
Klientorganisation: Ange katalog-ID (klientorganisation) som noterades i Konfigurera programåtkomst.
Målgrupp: Ange det offentliga fullständiga domännamnet för ditt program som är registrerat i Microsoft Entra-ID (till exempel sampleapp1.msappproxy.net).
Klient-ID: Ange det program-ID (klient)-ID som anges i Konfigurera programåtkomst.
Typ av autentiseringsuppgifter: Hemlighet.
Hemlighet: Ange det hemliga värde som anges i Konfigurera programåtkomst.
Spara logikappen och testa med utlösaren.
Varningar
API:er som kräver autentisering/auktorisering kräver särskild hantering när du använder den här metoden. Eftersom Microsoft Entra ID OAuth används för åtkomst innehåller de skickade begärandena redan ett auktoriseringsfält som det interna API:et inte kan använda (såvida inte enkel inloggning har konfigurerats). Som en lösning erbjuder vissa program autentisering eller auktorisering som använder andra metoder än ett auktoriseringshuvud . GitLab tillåter till exempel en rubrik med namnet PRIVATE-TOKEN, och Atlassian Jira tillåter att du begär en cookie som kan användas i senare begäranden.
Http-åtgärden för logikappen visar tydliga textvärden. Lagra dock den hemliga nyckeln för appregistrering i Azure Key Vault för säker hämtning och användning.