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 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

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-anslutningen validerar det inkommande servercertifikatet för äkthet mot offentlig nyckelcertifikat, även kända som "undertecknar"-certifikat, genom att använda standardvalidering 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 din MQ-server för validering. MQ-servern validerar även det inkommande klientcertifikatet för äkthet 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
    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 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 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.

    • 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 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 befintliga exempel på tumavtryck och beskrivningar.

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 Portal. På logikappens resursmeny går du till Inställningar och väljer TLS/SSL-inställningar (klassisk).

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

  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 .

    Skärmbild som visar logikresursen Azure Portal och Standard med följande objekt valda: TLS-/SSL-inställningar (klassisk), Offentliga nyckelcertifikat (.cer) och

  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 Portal. På logikappens resursmeny går du till Inställningar och väljer TLS/SSL-inställningar (klassisk).

  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 .

    Skärmbild som visar logikresursen Azure Portal och Standard med följande objekt valda:

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

    Skärmbild som visar standardarbetsflödesdesignern för logikappen, den inbyggda MQ-anslutningsrutan med alternativet

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-felet

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.

Nästa steg