Delen via


Verbinding maken met een IBM MQ-server vanuit een werkstroom in Azure Logic Apps

Van toepassing op: Azure Logic Apps (Verbruik + Standard)

Deze handleiding laat zien hoe u toegang krijgt tot een door Azure gehoste of on-premises MQ-server vanuit een werkstroom in Azure Logic Apps met behulp van de MQ-connector. Vervolgens kunt u geautomatiseerde werkstromen maken die berichten ontvangen en verzenden die zijn opgeslagen op uw MQ-server. Uw werkstroom kan bijvoorbeeld bladeren naar één bericht in een wachtrij en vervolgens andere acties uitvoeren.

De MQ-connector biedt een wrapper rond een Microsoft MQ-client, die alle berichtenmogelijkheden bevat voor communicatie met een externe MQ-server via een TCP/IP-netwerk. Deze connector definieert de verbindingen, bewerkingen en parameters om de MQ-client aan te roepen.

Ondersteunde IBM WebSphere MQ-versies

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

Technische naslaginformatie over connectoren

De MQ-connector heeft verschillende versies, op basis van het type logische app en de hostomgeving.

Logische apps Omgeving Verbindingsversie
Verbruik Multitenant Azure Logic Apps Beheerde connector, die wordt weergegeven in de galerie met connectors onder Runtime >Shared. Deze connector biedt alleen acties, geen triggers. In on-premises MQ-serverscenario's ondersteunt de beheerde connector alleen serververificatie met TLS-versleuteling (SSL).

Raadpleeg de volgende documentatie voor meer informatie:

- Naslaginformatie over beheerde MQ-connectors
- Beheerde connectors in Azure Logic Apps
Standaard Azure Logic Apps en App Service Environment v3 (ASE v3 met alleen Windows-abonnementen) Beheerde connector, die wordt weergegeven in de connectorgalerie onder Runtime>Shared en ingebouwde connector, die wordt weergegeven in de connectorgalerie onder Runtime>In-app en is gebaseerd op serviceproviders. De ingebouwde versie verschilt op de volgende manieren:

- De ingebouwde versie bevat acties en triggers.

- De ingebouwde connector kan rechtstreeks verbinding maken met een MQ-server en toegang krijgen tot virtuele Azure-netwerken met behulp van een verbindingsreeks zonder een on-premises gegevensgateway.

- De ingebouwde versie ondersteunt zowel serververificatie als serverclientverificatie met TLS-versleuteling (SSL) voor gegevens die worden overgedragen, berichtcodering voor zowel de verzend- als ontvangstbewerkingen en de integratie van virtuele Azure-netwerken.

Raadpleeg de volgende documentatie voor meer informatie:

- Naslaginformatie over beheerde MQ-connectors
- Naslaginformatie over de ingebouwde MQ-connector
- Ingebouwde connectors in Azure Logic Apps

Verificatie met TLS-versleuteling (SSL)

Op basis van of u de beheerde MQ-connector (Verbruiks- of Standaardwerkstromen) of de ingebouwde MQ-connector (alleen standaardwerkstromen) gebruikt, ondersteunt de MQ-connector een of beide van de volgende verificatierichtingen:

Verificatie Ondersteund type logische app en MQ-connector Proces
Alleen server
(eenrichting)
- Verbruik: alleen beheerd

- Standaard: Beheerd of ingebouwd
Voor serververificatie verzendt uw MQ-server een certificaat met een persoonlijke sleutel, openbaar vertrouwd of niet openbaar, naar de client van uw logische app voor validatie. De MQ-connector valideert het binnenkomende servercertificaat voor echtheid voor openbare-sleutelcertificaten, ook wel ondertekencertificaten genoemd, met behulp van standaard .NET SSL-stroomvalidatie.

De werkstroom van de logische app verzendt geen clientcertificaat.
Serverclient
(in twee richtingen)
- Verbruik: niet ondersteund

- Standaard: alleen ingebouwd
Zie de vorige rij voor serververificatie.

Voor clientverificatie verzendt de logische app-client een certificaat met een persoonlijke sleutel naar uw MQ-server voor validatie. De MQ-server valideert het binnenkomende clientcertificaat voor echtheid ook met behulp van een certificaat met een openbare sleutel.

Belangrijk

In productieomgevingen beveiligt u altijd gevoelige informatie en geheimen, zoals referenties, certificaten, vingerafdrukken, toegangssleutels en verbindingsreeks s. Zorg ervoor dat u dergelijke informatie veilig opslaat met behulp van Microsoft Entra ID en Azure Key Vault. Vermijd hardcoding van deze informatie, delen met andere gebruikers of opslaan in tekst zonder opmaak, waar anderen toegang hebben. Draai uw geheimen zo snel mogelijk als u denkt dat deze gegevens mogelijk worden aangetast. Zie Over Azure Key Vault voor meer informatie.

Notities over certificaten voor persoonlijke sleutels en openbare sleutels

  • Het certificaat waarvoor validatie is vereist, is altijd een certificaat met een persoonlijke sleutel. Het certificaat dat wordt gebruikt om de validatie uit te voeren, is altijd een openbaar sleutelcertificaat.

  • Een openbaar vertrouwd persoonlijk sleutelcertificaat wordt uitgegeven door een erkende certificeringsinstantie. Een certificaat met een niet-openbaar vertrouwde persoonlijke sleutel bevat zelfondertekende, persoonlijke CA en vergelijkbare certificaten.

  • Als u een certificaat voor een persoonlijke sleutel wilt valideren dat is verzonden vanaf uw MQ-server, gebruikt de MQ-connector openbare-sleutelcertificaten die meestal aanwezig zijn op de hosthost van de virtuele machine in het archief vertrouwde basiscertificeringsinstanties (CA) van de host.

    Als de host echter niet beschikt over alle vereiste certificaten voor openbare sleutels of als uw MQ-server een niet-openbaar vertrouwd certificaat voor persoonlijke sleutels verzendt, moet u extra stappen uitvoeren. Zie Vereisten voor meer informatie.

  • De MQ-server gebruikt openbare-sleutelcertificaten die aanwezig zijn in het certificaatarchief van uw MQ-server om het certificaatcertificaat van een client te valideren dat is verzonden vanuit uw standaard logische app. Als u een certificaat voor een persoonlijke sleutel wilt toevoegen voor uw logische app die u als clientcertificaat wilt gebruiken, raadpleegt u Een certificaat voor een persoonlijke sleutel toevoegen.

Beperkingen

  • Verificatie met TLS-versleuteling (SSL)

    MQ-connector Ondersteunde verificatierichting
    Beheerd Alleen server (in één richting)
    Ingebouwd - Server-client (in twee richtingen)
    - Alleen server (één richting)
  • Validatie van servercertificaat

    De ingebouwde MQ-connector valideert de vervaldatum van het servercertificaat en de certificaatketen niet.

  • Conversies van tekenset

    • De beheerde MQ-connector maakt geen conversies van tekenset en maakt geen gebruik van het veld Opmaak van het bericht. De connector kopieert alleen de gegevens die in het berichtveld worden weergegeven en verzendt het bericht mee.

    • De ingebouwde MQ-connector kan tekensetconversies maken, maar alleen wanneer de gegevensindeling een tekenreeks is. Als u een andere tekenset-id (codepagina) opgeeft, probeert de connector de gegevens te converteren naar de nieuwe codepagina.

  • De MQ-connector biedt geen ondersteuning voor gesegmenteerde berichten.

Raadpleeg de naslaginformatie voor beheerde MQ-connectors of de ingebouwde MQ-connectorverwijzing voor meer informatie.

Vereisten

  • Een Azure-account en -abonnement. Als u nog geen abonnement op Azure hebt, registreer u dan nu voor een gratis Azure-account.

  • Als u verbinding wilt maken met een on-premises MQ-server, moet u de on-premises gegevensgateway installeren op een server in uw netwerk. De MQ-connector werkt alleen als op de server met de on-premises gegevensgateway .NET Framework 4.6 is geïnstalleerd.

    Nadat u de gateway hebt geïnstalleerd, moet u ook een gegevensgatewayresource maken in Azure. De MQ-connector gebruikt deze resource voor toegang tot uw MQ-server. Zie De gegevensgatewayverbinding instellen voor meer informatie.

    Notitie

    U hebt de gateway niet nodig in de volgende scenario's:

    • Uw MQ-server is openbaar beschikbaar of beschikbaar in Azure.
    • U gaat de ingebouwde MQ-connector gebruiken, niet de beheerde connector.
  • De resource en werkstroom van de logische app waar u toegang wilt krijgen tot uw MQ-server.

    • Als u de door MQ beheerde connector wilt gebruiken met de on-premises gegevensgateway, moet uw logische app-resource dezelfde locatie gebruiken als uw gatewayresource in Azure.

    • Als u de beheerde MQ-connector wilt gebruiken, die geen triggers biedt, moet u ervoor zorgen dat uw werkstroom begint met een trigger of dat u eerst een trigger aan uw werkstroom toevoegt. U kunt bijvoorbeeld de trigger Terugkeerpatroon gebruiken.

    • Als u een trigger van de ingebouwde MQ-connector wilt gebruiken, moet u beginnen met een lege werkstroom.

  • Certificaatvereisten voor verificatie met TLS-versleuteling (SSL)

  • Vereisten voor coderingsspecificatie

    Voor de MQ-server moet u de coderingsspecificatie definiëren voor verbindingen die gebruikmaken van TLS-versleuteling (SSL). Deze coderingsspecificatie moet overeenkomen met de coderingssuites die worden ondersteund, gekozen en gebruikt door het besturingssysteem waarop de MQ-server wordt uitgevoerd. Uiteindelijk moet de coderingsspecificatie die door de clientverbinding wordt gebruikt, overeenkomen met de coderingssuites die zijn ingesteld op het serververbindingskanaal op de MQ-server.

    Zie Verbindings- en verificatieproblemen voor meer informatie.

Een MQ-trigger toevoegen (alleen standaard logische app)

De volgende stappen zijn alleen van toepassing op Standard Logic-appwerkstromen, die gebruik maken van triggers die worden geleverd door de ingebouwde MQ-connector. De beheerde MQ-connector bevat geen triggers.

In deze stappen wordt Azure Portal gebruikt, maar met de juiste Azure Logic Apps-extensie kunt u ook Visual Studio Code gebruiken om een standaardwerkstroom voor logische apps te maken.

  1. Open in Azure Portal uw lege werkstroom voor logische apps in de ontwerpfunctie.

  2. Volg deze algemene stappen om de ingebouwde MQ-trigger toe te voegen. Zie ingebouwde MQ-connectortriggers voor meer informatie.

  3. Geef de vereiste informatie op om uw verbinding te verifiëren. Selecteer Maken als u klaar bent.

  4. Wanneer het informatievak voor de trigger wordt weergegeven, geeft u de vereiste informatie voor de trigger op.

  5. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Een MQ-actie toevoegen

Een werkstroom voor logische apps verbruik kan alleen de beheerde MQ-connector gebruiken. Een standaardwerkstroom voor logische apps kan echter gebruikmaken van de door MQ beheerde connector en de ingebouwde MQ-connector. Elke versie heeft meerdere acties. Zo hebben zowel beheerde als ingebouwde connectorversies hun eigen acties om door een bericht te bladeren.

  • Acties voor beheerde connectors: deze acties worden uitgevoerd in een werkstroom voor de logische app Verbruik of Standard.

  • Ingebouwde connectoracties: deze acties worden alleen uitgevoerd in een standaardwerkstroom voor logische apps.

In de volgende stappen wordt Azure Portal gebruikt, maar met de juiste Azure Logic Apps-extensie kunt u ook de volgende hulpprogramma's gebruiken om werkstromen voor logische apps te bouwen:

  1. Open uw werkstroom voor logische apps in Azure Portal in de ontwerpfunctie.

  2. Volg deze algemene stappen om de gewenste MQ-actie toe te voegen. Zie MQ-connectoracties voor meer informatie.

  3. Geef de vereiste informatie op om uw verbinding te verifiëren. Selecteer Maken als u klaar bent.

  4. Wanneer het actie-informatievak wordt weergegeven, geeft u de vereiste informatie op voor uw actie.

  5. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Uw werkstroom testen

Als u wilt controleren of uw werkstroom de verwachte resultaten retourneert, voert u de werkstroom uit en bekijkt u de uitvoer van de uitvoeringsgeschiedenis van uw werkstroom.

  1. Voer uw werkstroom uit.

    • Werkstroom Verbruik: selecteer Uitvoeren> uitvoeren op de werkbalk van de werkstroomontwerper.

    • Standaardwerkstroom: Selecteer in het werkstroommenu onder Instellingen de optie Uitvoeringsgeschiedenis. Selecteer Uitvoeren uitvoeren> op de werkbalk.

    Nadat de uitvoering is voltooid, toont de ontwerpfunctie de uitvoeringsgeschiedenis van de werkstroom, samen met de status voor elke stap.

  2. Als u de invoer en uitvoer wilt controleren voor elke stap die is uitgevoerd (niet overgeslagen), vouwt u de stap uit of selecteert u deze.

    • Als u meer invoerdetails wilt bekijken, selecteert u Onbewerkte invoer weergeven.

    • Als u meer uitvoerdetails wilt bekijken, selecteert u Onbewerkte uitvoer weergeven. Als u IncludeInfo instelt op true, wordt er meer uitvoer opgenomen.

Certificaten voor verificatie weergeven en toevoegen met TLS-versleuteling (SSL)

De volgende informatie is alleen van toepassing op standaardwerkstromen voor logische apps voor de ingebouwde MQ-connector met behulp van serververificatie of serverclientverificatie met TLS-versleuteling (SSL).

Vingerafdrukken voor bestaande certificaten van openbare sleutels weergeven en bevestigen

Als u wilt controleren of de vingerafdrukken voor de vereiste certificaten voor openbare sleutels aanwezig zijn op de host van de virtuele machine van uw standaard logische app in het vertrouwde basis-CA-archief, volgt u deze stappen om het PowerShell-script uit te voeren vanuit het cert resourcemenu van uw standaard logische app.

  1. Open uw resource voor de logische standaard-app in Azure Portal. Selecteer In het resourcemenu van de logische app, onder Ontwikkelhulpprogramma's, Geavanceerde hulpprogramma's> Go.

  2. Selecteer PowerShell in het menu van de Kudu-console voor foutopsporing.

  3. Nadat het PowerShell-venster wordt weergegeven, voert u het volgende script uit vanaf de PowerShell-opdrachtprompt:

    dir cert:\localmachine\root

    In het PowerShell-venster worden de bestaande vingerafdrukken en beschrijvingen weergegeven, bijvoorbeeld:

    Schermopname van voorbeeldvingers en beschrijvingen.

Een certificaat voor een openbare sleutel toevoegen

Volg deze stappen om een openbaar sleutelcertificaat toe te voegen aan het vertrouwde basis-CA-archief op de host van de virtuele machine waarop uw standaard logische app wordt uitgevoerd.

  1. Open uw resource voor de logische standaard-app in Azure Portal. Selecteer Certificaten in het resourcemenu van de logische app onder Instellingen.

  2. Selecteer het tabblad Certificaten voor openbare sleutels (.cer) en selecteer vervolgens Certificaat toevoegen.

  3. Zoek en selecteer in het deelvenster Certificaat voor openbare sleutel toevoegen dat wordt geopend het certificaatbestand van de openbare sleutel (.cer) dat u wilt toevoegen. Voer een beschrijvende naam in om het certificaat te beschrijven. Wanneer u klaar bent, selecteert u Toevoegen.

  4. Nadat u het certificaat hebt toegevoegd, kopieert u vanuit de kolom Vingerafdruk de vingerafdrukwaarde van het certificaat.

    Schermopname van de logische standaard-app met geselecteerde items: Certificaten, Certificaten, Certificaten van openbare sleutel en Certificaat toevoegen.

  5. Selecteer Configuratie in het resourcemenu van de logische app.

  6. Selecteer Op het tabblad Toepassingsinstellingen de optie Nieuwe toepassingsinstelling. Voeg een nieuwe toepassingsinstelling toe met de naam WEBSITE_LOAD_ROOT_CERTIFICATES en voer de vingerafdrukwaarde van het certificaat in die u eerder hebt gekopieerd. Als u meerdere certificaatvingerafdrukken hebt, moet u elke waarde scheiden met een komma (,).

    Zie Host- en app-instellingen bewerken voor Standaard logische apps in Azure Logic Apps met één tenant voor meer informatie.

    Notitie

    Als u een vingerafdruk opgeeft voor een privé-CA-certificaat, voert de ingebouwde MQ-connector geen certificaatvalidatie uit, zoals het controleren van de vervaldatum of bron van het certificaat. Als de standaard .NET SSL-validatie mislukt, vergelijkt de connector alleen een vingerafdrukwaarde die wordt doorgegeven aan de waarde in de WEBSITE_LOAD_ROOT_CERTIFICATES-instelling .

  7. Als het toegevoegde certificaat niet wordt weergegeven in de lijst met certificaten voor openbare sleutels, selecteert u Vernieuwen op de werkbalk.

Een certificaat voor een persoonlijke sleutel toevoegen

Volg deze stappen om een certificaat met een persoonlijke sleutel toe te voegen aan het vertrouwde basis-CA-archief op de host van de virtuele machine waarop uw logische standaard-app wordt uitgevoerd.

  1. Open uw logische app-resource in Azure Portal. Selecteer Certificaten in het resourcemenu van de logische app onder Instellingen.

  2. Selecteer het tabblad Bring Your Own Certificates (.pfx) en selecteer vervolgens Certificaat toevoegen.

    Schermopname van de logische standaard-app met geselecteerde opties: Certificaten, Bring Your Own Certificates en Add certificate.

  3. Selecteer in het deelvenster Persoonlijke sleutelcertificaat toevoegen dat wordt geopend, onder Bron, een van de volgende opties:

    • Certificaat uploaden (.pfx)

      1. Geef de volgende waarden op:

        Parameter Description
        PFX-certificaatbestand Zoek en selecteer het bestand met uw persoonlijke sleutelcertificaat (.pfx).
        Certificaatwachtwoord Voer het wachtwoord in dat u hebt gemaakt bij het exporteren van het PFX-bestand.
        Beschrijvende naam van certificaat Voer de certificaatnaam in die moet worden weergegeven in de resource van uw logische app.
      2. Wanneer u klaar bent, selecteert u Toevoegen valideren>.

    • Importeren uit Key Vault.

      1. Selecteer Sleutelkluiscertificaat selecteren en geef de volgende waarden op:

        Parameter Description
        Abonnement Selecteer het Azure-abonnement dat is gekoppeld aan uw sleutelkluis.
        Sleutelkluis Selecteer de sleutelkluis met het bestand met uw persoonlijke sleutelcertificaat (.pfx).
        Certificaat Selecteer een PKSCS12 certificaat in de sleutelkluis. Alle PKCS12-certificaten in de kluis worden weergegeven met hun vingerafdrukken, maar niet alle worden mogelijk ondersteund in Azure Logic Apps.
      2. Wanneer u klaar bent, selecteert u> Valideren>toevoegen selecteren.

  4. Nadat u het certificaat hebt toegevoegd, kopieert u vanuit de kolom Vingerafdruk de vingerafdrukwaarde van het certificaat.

  5. Selecteer Configuratie in het resourcemenu van de logische app onder Instellingen.

  6. Selecteer Op het tabblad Toepassingsinstellingen de optie Nieuwe toepassingsinstelling. Voeg een nieuwe toepassingsinstelling toe met de naam WEBSITE_LOAD_CERTIFICATES en voer de vingerafdrukwaarde van het certificaat in die u eerder hebt gekopieerd.

    Zie Host- en app-instellingen bewerken voor Standaard logische apps in Azure Logic Apps met één tenant voor meer informatie.

  7. Als het toegevoegde certificaat niet wordt weergegeven in de lijst met certificaten voor persoonlijke sleutels, selecteert u Vernieuwen op de werkbalk.

  8. Wanneer u een verbinding maakt met behulp van de ingebouwde MQ-connector, selecteert u TLS gebruiken in het verbindingsinformatievak.

  9. Voer in de eigenschap Vingerafdruk van clientcertificaat de eerder gekopieerde vingerafdrukwaarde in voor het certificaat van de persoonlijke sleutel, waarmee verificatie via de serverclient (in twee richtingen) mogelijk is. Als u geen vingerafdrukwaarde invoert, gebruikt de connector alleen serververificatie (eenrichtingsverificatie).

    Schermopname van de standaardwerkstroom, het ingebouwde verbindingsvak MQ, de geselecteerde TLS-eigenschap gebruiken en de eigenschap Vingerafdruk van clientcertificaat met vingerafdrukwaarde.

Problemen oplossen

Fouten met bladeren of ontvangen acties

Als u een blader- of ontvangstactie uitvoert in een lege wachtrij, mislukt de actie met de volgende headeruitvoer:

Schermopname van de MQ-fout met de naam Geen bericht.

Problemen met verbinding en verificatie

Wanneer uw werkstroom gebruikmaakt van de door MQ beheerde connector om verbinding te maken met uw on-premises MQ-server, krijgt u mogelijk de volgende fout:

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

  • De MQ-server moet een certificaat opgeven dat is uitgegeven door een vertrouwde certificeringsinstantie.

  • Voor de MQ-server moet u de coderingsspecificatie definiëren die moet worden gebruikt met TLS-verbindingen. Voor beveiligingsdoeleinden en om de beste beveiligingssuites op te nemen, verzendt het Windows-besturingssysteem echter een set ondersteunde coderingsspecificaties.

    Het besturingssysteem waarop de MQ-server wordt uitgevoerd, kiest de suites die moeten worden gebruikt. Als u de configuratie wilt vergelijken, moet u de configuratie van de MQ-server zo wijzigen dat de coderingsspecificatie overeenkomt met de optie die is gekozen in de TLS-onderhandeling.

    Wanneer u verbinding probeert te maken, registreert de MQ-server een gebeurtenisbericht dat de verbindingspoging is mislukt omdat de MQ-server de onjuiste coderingsspecificatie heeft gekozen. Het gebeurtenisbericht bevat de coderingsspecificatie die de MQ-server in de lijst heeft gekozen. Werk in de configuratie van het serververbindingskanaal de coderingsspecificatie bij zodat deze overeenkomt met de coderingsspecificatie in het gebeurtenisbericht.