Dela via


Ansluta till en IBM MQ-server från ett arbetsflöde i Azure Logic Apps

Gäller för: Azure Logic Apps (Förbrukning + Standard)

Den här guiden visar hur du får åtkomst till en Azure-värdbaserad eller lokal MQ-server från ett arbetsflöde i Azure Logic Apps med hjälp av MQ-anslutningsappen. Du kan sedan skapa automatiserade arbetsflöden som tar emot och skickar meddelanden som lagras på MQ-servern. Arbetsflödet kan till exempel bläddra efter ett enda meddelande i en kö och sedan köra andra åtgärder.

MQ-anslutningsappen innehåller en omslutning runt en Microsoft MQ-klient, som innehåller alla meddelandefunktioner för att kommunicera med en fjärransluten MQ-server i ett TCP/IP-nätverk. Den här anslutningsappen definierar anslutningar, åtgärder och parametrar för att anropa MQ-klienten.

IBM WebSphere MQ-versioner som stöds

  • MQ 7.5
  • MQ 8.0
  • MQ 9.0, 9.1, 9.2 och 9.3

Teknisk referens för anslutningsprogram

MQ-anslutningsappen har olika versioner, baserat på logikapptyp och värdmiljö.

Logikapp Environment Anslutningsversion
Förbrukning Azure Logic Apps med flera klientorganisationer Hanterad anslutningsapp, som visas i anslutningsgalleriet under Runtime >Shared. Den här anslutningsappen innehåller endast åtgärder, inte utlösare. I lokala MQ-serverscenarier stöder den hanterade anslutningsappen endast serverautentisering med TLS-kryptering (SSL).

Mer information finns i följande dokumentation:

- Referens för MQ-hanterad anslutningsapp
- Hanterade anslutningsappar i Azure Logic Apps
Standard Azure Logic Apps för en klientorganisation och App Service-miljön v3 (endast ASE v3 med Windows-planer) Hanterad anslutningsapp, som visas i anslutningsgalleriet under Runtime>Shared och inbyggd anslutningsapp, som visas i anslutningsgalleriet under Runtime>In-app och är tjänstleverantörsbaserad. Den inbyggda versionen skiljer sig åt på följande sätt:

– Den inbyggda versionen innehåller åtgärder och utlösare.

– Den inbyggda anslutningsappen kan ansluta direkt till en MQ-server och få åtkomst till virtuella Azure-nätverk med hjälp av en anslutningssträng utan en lokal datagateway.

– Den inbyggda versionen stöder både serverautentisering och serverklientautentisering med TLS-kryptering (SSL) för data under överföring, meddelandekodning för både sändnings- och mottagningsåtgärder och integrering av virtuella Azure-nätverk.

Mer information finns i följande dokumentation:

- Referens för MQ-hanterad anslutningsapp
- Referens för MQ-inbyggd anslutningsapp
- Inbyggda anslutningsappar i Azure Logic Apps

Autentisering med TLS-kryptering (SSL)

Baserat på om du använder MQ-hanterad anslutningsapp (Förbrukning eller Standard-arbetsflöden) eller den inbyggda MQ-anslutningsappen (endast standardarbetsflöden) stöder MQ-anslutningsappen en eller båda av följande autentiseringsriktningar:

Autentisering Logikappstyp och MQ-anslutningsprogram som stöds Process
Endast server
(enkelriktad)
– Förbrukning: Endast hanterad

– Standard: Hanterad eller inbyggd
För serverautentisering skickar din MQ-server ett privat nyckelcertifikat, antingen offentligt betrott eller icke-offentligt betrott, till din logikappklient för validering. MQ-anslutningsappen validerar det inkommande servercertifikatet för autenticitet mot offentliga nyckelcertifikat, även kallade signercertifikat, med hjälp av standardverifiering av .NET SSL-dataström.

Logikappens arbetsflöde skickar inte något klientcertifikat.
Serverklient
(dubbelriktad)
– Förbrukning: Stöds inte

- Standard: Endast inbyggd
Information om serverautentisering finns i föregående rad.

För klientautentisering skickar logikappklienten ett privat nyckelcertifikat till din MQ-server för validering. MQ-servern validerar även det inkommande klientcertifikatet för äkthet med hjälp av ett offentligt nyckelcertifikat.

Viktigt!

I produktionsmiljöer skyddar du alltid känslig information och hemligheter, till exempel autentiseringsuppgifter, certifikat, tumavtryck, åtkomstnycklar och anslutningssträng. Se till att du lagrar sådan information på ett säkert sätt med hjälp av Microsoft Entra-ID och Azure Key Vault. Undvik att hårdkoda den här informationen, dela med andra användare eller spara i oformaterad text var som helst som andra kan komma åt. Rotera dina hemligheter så snart som möjligt om du tror att den här informationen kan vara komprometterad. Mer information finns i Om Azure Key Vault.

Anteckningar om certifikat för privat nyckel och offentlig nyckel

  • Certifikatet som kräver validering är alltid ett privat nyckelcertifikat. Certifikatet som används för att utföra valideringen är alltid ett offentligt nyckelcertifikat.

  • Ett offentligt betrott privat nyckelcertifikat utfärdas av en erkänd certifikatutfärdare. Ett icke-offentligt betrott privat nyckelcertifikat innehåller självsignerade, privata CERTIFIKATutfärdare och liknande certifikat.

  • För att verifiera ett privat nyckelcertifikat som skickas från MQ-servern använder MQ-anslutningsappen offentliga nyckelcertifikat som vanligtvis finns på logikappens virtuella datorvärd i värdens ca-arkiv för betrodda rotcertifikatutfärdare.

    Men om värden inte har alla nödvändiga offentliga nyckelcertifikat, eller om MQ-servern skickar ett icke-offentligt betrott privat nyckelcertifikat, måste du vidta extra åtgärder. Mer information finns i Förutsättningar.

  • För att verifiera en klients privata nyckelcertifikat som skickas från standardlogikappen använder MQ-servern offentliga nyckelcertifikat som finns i MQ-serverns certifikatarkiv. Information om hur du lägger till ett privat nyckelcertifikat för logikappen som ska användas som klientcertifikat finns i Lägga till ett privat nyckelcertifikat.

Begränsningar

  • Autentisering med TLS-kryptering (SSL)

    MQ-anslutningsapp Autentiseringsriktning som stöds
    Hanterade Endast server (enkelriktad)
    Inbyggd – Serverklient (dubbelriktad)
    – Endast server (enkelriktad)
  • Verifiering av servercertifikat

    Den inbyggda MQ-anslutningsappen validerar inte servercertifikatets förfallodatum eller certifikatkedja.

  • Konverteringar av teckenuppsättningar

    • Den MQ-hanterade anslutningsappen gör inga teckenuppsättningskonverteringar eller använder meddelandets formatfält . Anslutningsappen kopierar endast de data som visas i meddelandefältet och skickar meddelandet vidare.

    • Den inbyggda MQ-anslutningsappen kan göra konverteringar av teckenuppsättningar, men bara när dataformatet är en sträng. Om du anger ett annat teckenuppsättnings-ID (kodsida) försöker anslutningsappen konvertera data till den nya kodsidan.

  • MQ-anslutningsappen stöder inte segmenterade meddelanden.

Mer information finns i referensen för MQ-hanterad anslutningsapp eller referensen för den inbyggda MQ-anslutningsappen.

Förutsättningar

  • Ett Azure-konto och prenumeration. Om du heller inte har någon Azure-prenumeration kan du registrera ett kostnadsfritt Azure-konto.

  • Om du vill ansluta till en lokal MQ-server måste du installera den lokala datagatewayen på en server i nätverket. För att MQ-anslutningsappen ska fungera måste servern med den lokala datagatewayen också ha .NET Framework 4.6 installerat.

    När du har installerat gatewayen måste du också skapa en datagatewayresurs i Azure. MQ-anslutningsappen använder den här resursen för att komma åt MQ-servern. Mer information finns i Konfigurera anslutningen till datagatewayen.

    Kommentar

    Du behöver inte gatewayen i följande scenarier:

    • MQ-servern är offentligt tillgänglig eller tillgänglig i Azure.
    • Du ska använda den inbyggda MQ-anslutningsappen, inte den hanterade anslutningsappen.
  • Logikappens resurs och arbetsflöde där du vill komma åt MQ-servern.

    • Om du vill använda den MQ-hanterade anslutningsappen med den lokala datagatewayen måste logikappresursen använda samma plats som din gatewayresurs i Azure.

    • Om du vill använda den MQ-hanterade anslutningsappen, som inte tillhandahåller några utlösare, kontrollerar du att arbetsflödet börjar med en utlösare eller att du först lägger till en utlösare i arbetsflödet. Du kan till exempel använda upprepningsutlösaren.

    • Om du vill använda en utlösare från den inbyggda MQ-anslutningsappen ska du se till att du börjar med ett tomt arbetsflöde.

  • Certifikatkrav för autentisering med TLS-kryptering (SSL)

  • Krav för chifferspecifikation

    MQ-servern kräver att du definierar chifferspecifikationen för anslutningar som använder TLS-kryptering (SSL). Den här chifferspecifikationen måste överensstämma med chiffersviterna som stöds, väljs och används av operativsystemet där MQ-servern körs. I slutänden måste chifferspecifikationen som används av klientanslutningen överensstämma med chiffersviterna som har konfigurerats i serveranslutningskanalen på MQ-servern.

    Mer information finns i Anslutnings- och autentiseringsproblem.

Lägg till en MQ-utlösare (endast standardlogikapp)

Följande steg gäller endast för arbetsflöden i standardlogikappar, där det går att använda utlösare som tillhandahålls av den inbyggda MQ-anslutningsappen. Den MQ-hanterade anslutningsappen innehåller inga utlösare.

De här stegen använder Azure Portal, men med rätt Azure Logic Apps-tillägg kan du också använda Visual Studio Code för att skapa ett arbetsflöde för standardlogikappen.

  1. Öppna arbetsflödet för den tomma logikappen i designern i Azure Portal.

  2. Följ dessa allmänna steg för att lägga till den inbyggda MQ-utlösare som du vill använda. Mer information finns i MQ-inbyggda anslutningsutlösare.

  3. Ange nödvändig information för att autentisera anslutningen. Välj Skapa när du är klar.

  4. När informationsrutan för utlösaren visas anger du nödvändig information för utlösaren.

  5. Spara arbetsflödet när du är klar. I verktygsfältet för designern väljer du Spara.

Lägga till en MQ-åtgärd

Ett arbetsflöde för förbrukningslogikappen kan bara använda MQ-hanterad anslutningsapp. Ett standardarbetsflöde för logikappar kan dock använda den MQ-hanterade anslutningsappen och den inbyggda MQ-anslutningsappen. Varje version har flera åtgärder. Till exempel har både hanterade och inbyggda anslutningsversioner sina egna åtgärder för att bläddra i ett meddelande.

  • Åtgärder för hanterade anslutningsappar: Dessa åtgärder körs i ett arbetsflöde för förbrukning eller standardlogikapp.

  • Inbyggda anslutningsåtgärder: Dessa åtgärder körs endast i ett standardarbetsflöde för logikappar.

Följande steg använder Azure Portal, men med rätt Azure Logic Apps-tillägg kan du också använda följande verktyg för att skapa arbetsflöden för logikappar:

  1. Öppna arbetsflödet för logikappen i designern i Azure Portal.

  2. Följ de här allmänna stegen för att lägga till den MQ-åtgärd som du vill använda. Mer information finns i MQ-anslutningsåtgärder.

  3. Ange nödvändig information för att autentisera anslutningen. Välj Skapa när du är klar.

  4. När åtgärdsinformationsrutan visas anger du nödvändig information för din åtgärd.

  5. Spara arbetsflödet när du är klar. I verktygsfältet för designern väljer du Spara.

Testa arbetsflödet

Kontrollera att arbetsflödet returnerar de resultat du förväntar dig genom att köra arbetsflödet och sedan granska utdata från arbetsflödets körningshistorik.

  1. Kör arbetsflödet.

    • Arbetsflöde för förbrukning: Välj Kör>kör i verktygsfältet för arbetsflödesdesignern.

    • Standardarbetsflöde: Välj Kör historik under Inställningararbetsflödesmenyn. Välj Kör>kör i verktygsfältet.

    När körningen är klar visar designern arbetsflödets körningshistorik tillsammans med statusen för varje steg.

  2. Om du vill granska indata och utdata för varje steg som kördes (inte hoppades över) expanderar eller väljer du steget.

    • Om du vill granska mer information om indata väljer du Visa råa indata.

    • Om du vill granska mer utdatainformation väljer du Visa råa utdata. Om du anger IncludeInfo till true inkluderas fler utdata.

Visa och lägg till certifikat för autentisering med TLS-kryptering (SSL)

Följande information gäller endast för standardlogikapparbetsflöden för den inbyggda MQ-anslutningsappen med antingen server- eller serverklientautentisering med TLS-kryptering (SSL).

Visa och bekräfta tumavtryck för befintliga offentliga nyckelcertifikat

Följ dessa steg för att köra PowerShell-skriptet cert från standardlogikappens resursmeny för att kontrollera att tumavtrycken för de nödvändiga offentliga nyckelcertifikaten finns på standardlogikappens virtuella datorvärd i Trusted Root CA Store.

  1. Öppna din standardlogikappresurs i Azure Portal. På resursmenyn för logikappen går du till Utvecklingsverktyg och väljer Avancerade verktyg>Gå.

  2. Välj PowerShell på kudu-menyn för felsökningskonsolen.

  3. När PowerShell-fönstret visas kör du följande skript från PowerShell-kommandotolken:

    dir cert:\localmachine\root

    PowerShell-fönstret visar en lista över befintliga tumavtryck och beskrivningar, till exempel:

    Skärmbild som visar exempel på tumavtryck och beskrivningar.

Lägga till ett certifikat för offentlig nyckel

Följ de här stegen för att lägga till ett certifikat för offentlig nyckel i det betrodda rotcertifikatutfärdararkivet på den virtuella datorvärden där standardlogikappen körs.

  1. Öppna din standardlogikappresurs i Azure Portal. På resursmenyn för logikappen går du till Inställningar och väljer Certifikat.

  2. Välj fliken Offentliga nyckelcertifikat (.cer) och välj sedan Lägg till certifikat.

  3. I fönstret Lägg till offentligt nyckelcertifikat som öppnas letar du upp och väljer certifikatfilen för offentlig nyckel (.cer) som ska läggas till. Ange ett eget namn för att beskriva certifikatet. När du är klar väljer du Lägg till.

  4. När du har lagt till certifikatet kopierar du certifikatets tumavtrycksvärde från kolumnen Tumavtryck .

    Skärmbild som visar standardlogikappen med valda objekt: Certifikat, offentliga nyckelcertifikat och Lägg till certifikat.

  5. På resursmenyn för logikappen väljer du Konfiguration.

  6. På fliken Programinställningar väljer du Ny programinställning. Lägg till en ny programinställning med namnet WEBSITE_LOAD_ROOT_CERTIFICATES och ange certifikatets tumavtrycksvärde som du kopierade tidigare. Om du har flera tumavtrycksvärden för certifikatet måste du avgränsa varje värde med kommatecken (,).

    Mer information finns i Redigera värd- och appinställningar för standardlogikappar i Azure Logic Apps med en klientorganisation.

    Kommentar

    Om du anger ett tumavtryck för ett privat CA-certifikat kör den inbyggda MQ-anslutningsappen inte någon certifikatverifiering, till exempel kontroll av certifikatets förfallodatum eller källa. Om standardverifieringen av .NET SSL misslyckas jämför anslutningsappen endast alla tumavtrycksvärden som skickas in mot värdet i inställningen WEBSITE_LOAD_ROOT_CERTIFICATES .

  7. Om det tillagda certifikatet inte visas i listan med offentliga nyckelcertifikat väljer du Uppdatera i verktygsfältet.

Lägga till ett certifikat för privat nyckel

Följ de här stegen för att lägga till ett certifikat för privat nyckel i det betrodda rotcertifikatutfärdararkivet på den virtuella datorvärden där standardlogikappen körs.

  1. Öppna logikappresursen i Azure Portal. På resursmenyn för logikappen går du till Inställningar och väljer Certifikat.

  2. Välj fliken Bring your own certificates (.pfx) och välj sedan Lägg till certifikat.

    Skärmbild som visar standardlogikappen med valda alternativ: Certifikat, Ta med egna certifikat och Lägg till certifikat.

  3. I fönstret Lägg till certifikat för privat nyckel som öppnas under Källa väljer du något av följande alternativ:

    • Ladda upp certifikat (.pfx)

      1. Ange följande värden:

        Parameter Description
        PFX-certifikatfil Leta upp och välj filen med ditt privata nyckelcertifikat (.pfx).
        Certifikatlösenord Ange lösenordet som du skapade när du exporterade PFX-filen.
        Eget namn på certifikat Ange certifikatnamnet som ska visas i logikappresursen.
      2. När du är klar väljer du Verifiera>lägg till.

    • Importera från Key Vault.

      1. Välj Välj nyckelvalvscertifikat och ange följande värden:

        Parameter Description
        Abonnemang Välj den Azure-prenumeration som är associerad med ditt nyckelvalv.
        Nyckelvalv Välj det nyckelvalv som har filen med ditt privata nyckelcertifikat (.pfx).
        Certifikat Välj ett PKSCS12 certifikat i nyckelvalvet. Alla PKCS12-certifikat i valvet visas med tumavtryck, men alla kanske inte stöds i Azure Logic Apps.
      2. När du är klar väljer du Välj>Verifiera>lägg till.

  4. När du har lagt till certifikatet kopierar du certifikatets tumavtrycksvärde från kolumnen Tumavtryck .

  5. På resursmenyn för logikappen går du till Inställningar och väljer Konfiguration.

  6. På fliken Programinställningar väljer du Ny programinställning. Lägg till en ny programinställning med namnet WEBSITE_LOAD_CERTIFICATES och ange certifikatets tumavtrycksvärde som du kopierade tidigare.

    Mer information finns i Redigera värd- och appinställningar för standardlogikappar i Azure Logic Apps med en klientorganisation.

  7. Om det tillagda certifikatet inte visas i listan med privata nyckelcertifikat väljer du Uppdatera i verktygsfältet.

  8. När du skapar en anslutning med den inbyggda MQ-anslutningsappen väljer du Använd TLS i rutan Anslutningsinformation.

  9. I egenskapen Client Cert Thumbprint anger du det tidigare kopierade tumavtrycksvärdet för certifikatet för den privata nyckeln, vilket möjliggör serverklientautentisering (dubbelriktad). Om du inte anger ett tumavtrycksvärde använder anslutningsappen endast serverautentisering (enkelriktad).

    Skärmbild som visar standardarbetsflödet, den inbyggda MQ-anslutningsrutan, Använd TLS-egenskapen vald och egenskapen Client Cert Thumbprint med tumavtrycksvärdet.

Felsöka problem

Fel med att bläddra eller ta emot åtgärder

Om du kör en bläddra eller ta emot en åtgärd i en tom kö misslyckas åtgärden med följande rubrikutdata:

Skärmbild som visar MQ-fel med namnet Inget meddelande.

Problem med anslutning och autentisering

När arbetsflödet använder den MQ-hanterade anslutningsappen för att ansluta till din lokala MQ-server kan du få följande fel:

"MQ: Could not Connect the Queue Manager '<queue-manager-name>': The Server was expecting an SSL connection."

  • MQ-servern måste tillhandahålla ett certifikat som utfärdas av en betrodd certifikatutfärdare.

  • MQ-servern kräver att du definierar chifferspecifikationen som ska användas med TLS-anslutningar. Men för säkerhetsändamål och för att inkludera de bästa säkerhetspaketen skickar Windows-operativsystemet en uppsättning chifferspecifikationer som stöds.

    Operativsystemet där MQ-servern körs väljer vilka sviter som ska användas. För att konfigurationen ska matcha måste du ändra konfigurationen av MQ-servern så att chifferspecifikationen överensstämmer med det alternativ som valts i TLS-förhandlingen.

    När du försöker ansluta loggar MQ-servern ett händelsemeddelande om att anslutningsförsöket misslyckades, eftersom MQ-servern valde den felaktiga chifferspecifikationen. Händelsemeddelandet innehåller chifferspecifikationen som MQ-servern valde i listan. I konfigurationen av serveranslutningskanalen uppdaterar du chifferspecifikationen så att den överensstämmer med chifferspecifikationen i händelsemeddelandet.