Anslut 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 artikeln visar hur du kommer åt en Azure-värdbaserad eller lokal MQ-server från ett arbetsflöde i Azure Logic Apps med hjälp av MQ-anslutningstjänsten. 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

Anslut eller teknisk referens

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

Logikapp Miljö Anslut ionsversion
Förbrukning Azure Logic Apps och Integration Service Environment (ISE) för flera klientorganisationer Hanterad anslutningsapp, som visas i designern under företagsetiketten. 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 den inbyggda anslutningsappen, 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 Bearbeta
Endast server
(enkelriktad)
– Förbrukning: Endast hanterad

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

Logikappen skickar inte ett 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 MQ-servern för validering. MQ-servern validerar det inkommande klientcertifikatet för autenticitet även med hjälp av ett offentligt nyckelcertifikat.

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
    Hanterad 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 kontrollerar du att du börjar med ett tomt arbetsflöde.

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

    • MQ-hanterad anslutningsapp

      MQ-server Behov
      Azure-värdbaserad MQ-server MQ-servern måste skicka ett privat nyckelcertifikat som utfärdas av en betrodd certifikatutfärdare till logikappklienten för validering.
      Lokal MQ-server med lokal datagateway Om du vill skicka ett icke-offentligt betrott privat nyckelcertifikat, till exempel ett självsignerat eller privat CA-certifikat, måste du lägga till certifikatet i ca-arkivet (Trusted Root Certification Authorities) på den lokala datorn med installationen av den lokala datagatewayen. För den här uppgiften kan du använda Windows Certificate Manager (certmgr.exe).
    • Inbyggd MQ-anslutning

      Standardlogikappar använder Azure App Service som värdplattform och för att hantera certifikat. För standardlogikappar i valfri WS*-plan kan du lägga till offentliga, privata, anpassade eller självsignerade certifikat i certifikatarkivet för den lokala datorn. Men om du måste lägga till certifikat i det betrodda rotcertifikatutfärdararkivet på den virtuella datorvärden där standardlogikappen körs, kräver App Service att logikappen körs i en isolerad App Service-miljön v3 (ASE) med endast Windows och en ASE-baserad App Service-plan. Mer information finns i Certifikat och App Service-miljön.

      Rekommendation: Uppgradera till MQ server 9.0 eller senare. På MQ-servern måste du också konfigurera serveranslutningskanalen med en chiffersvit som matchar chifferspecifikationen som används av klientanslutningen, till exempel ANY_TLS12_OR_HIGHER. Mer information finns i nästa objekt om chifferkrav.

  • 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 matcha chiffersviterna som stöds, väljs och används av operativsystemet där MQ-servern körs. I slutändan måste chifferspecifikationen som används av klientanslutningen matcha chiffersviterna som har konfigurerats på serveranslutningskanalen på MQ-servern.

    Mer information finns i Anslut ion och autentiseringsproblem.

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

Följande steg gäller endast för standardarbetsflöden för logikappar, som kan 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-portalen, 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-portalen.

  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-portalen, men med lämpligt 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-portalen.

  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.

    • Logikapp för förbrukning: I verktygsfältet för arbetsflödesdesignern väljer du Kör utlösarkörning>.

    • Standardlogikapp: Välj Översikt på resursmenyn för arbetsflödet. I verktygsfältet Översikt väljer du Kör utlösarkörning>.

    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-portalen. 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:

    Screenshot showing existing example thumbprints and descriptions.

Lägga till ett certifikat för offentlig nyckel

Följ dessa steg om du vill lägga till ett certifikat för offentlig nyckel till det betrodda rotcertifikatutfärdararkivet på den virtuella datorvärden där standardlogikappen körs:

  1. Öppna din standardlogikappresurs i Azure-portalen. Välj TLS/SSL-inställningar (klassisk) under Inställningar på logikappens resursmeny.

  2. På sidan TLS/SSL-inställningar (klassisk) väljer du fliken Certifikat för offentlig nyckel (.cer) och väljer sedan Ladda upp certifikat för offentlig nyckel.

  3. I fönstret Lägg till offentligt nyckelcertifikat (.cer) som öppnas anger du ett namn för att beskriva certifikatet. Leta upp och välj certifikatfilen för den offentliga nyckeln (.cer). När du är klar väljer du Ladda upp.

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

    Screenshot showing the Azure portal and Standard logic resource with the following items selected: 'TLS/SSL settings (classic)', 'Public Key Certificates (.cer)', and 'Upload Public Key Certificate'.

  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 dessa steg om du vill lägga till ett certifikat för privat nyckel till den betrodda rotcertifikatutfärdararkivet på den virtuella datorvärd där standardlogikappen körs:

  1. Öppna logikappresursen i Azure-portalen. Välj TLS/SSL-inställningar (klassisk) under Inställningar på logikappens resursmeny.

  2. På sidan TLS/SSL-inställningar (klassisk) väljer du fliken Privata nyckelcertifikat (.pfx) och sedan Ladda upp certifikat.

  3. I fönstret Lägg till certifikat för privat nyckel (.pfx) som öppnas letar du upp och väljer certifikatfilen för den privata nyckeln (.pfx) och anger sedan certifikatlösenordet. När du är klar väljer du Ladda upp.

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

    Screenshot showing the Azure portal and Standard logic resource with the following items selected: 'TLS/SSL settings (classic)', 'Private Key Certificates (.pfx)', and 'Upload Certificate'.

  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_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).

    Screenshot showing Standard logic app workflow designer, MQ built-in connection box with 'Use TLS' option selected and the 'Client Cert Thumbprint' property with private key certificate thumbprint entered.

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:

Screenshot showing the MQ

problem med Anslut ion 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 matchar 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 matchar chifferspecifikationen i händelsemeddelandet.

Nästa steg