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

Connector technische referentie

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

Logic-app Omgeving Verbindingsversie
Verbruik Multitenant Azure Logic Apps Beheerde connector, die wordt weergegeven in de connectorengalerij onder het filter Gedeeld. 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:

- Referentie voor beheerde MQ-connectoren
- Beheerde connectors in Azure Logic Apps
Standaard Azure Logic Apps voor één enkele tenant en App Service Environment v3 (ASE v3 met alleen Windows-abonnementen) Beheerde connector, die in de connectorengalerie onder het filter Gedeeld verschijnt, en ingebouwde connector, die in de connectorengalerie onder het filter Ingebouwd verschijnt 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:

- Referentie voor beheerde MQ-connectoren
- Referentie voor 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 Ondersteunde Logic App-type en MQ-connector Proces
Alleen server
(eenrichtingverkeer)
- 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

Beveilig gevoelige en persoonlijke gegevens altijd en beveilig deze, zoals referenties, geheimen, toegangssleutels, verbindingsreeksen, certificaten, vingerafdrukken en vergelijkbare informatie met het hoogst beschikbare of ondersteunde beveiligingsniveau.

Zorg ervoor dat u dergelijke informatie veilig opslaat met behulp van Microsoft Entra ID en Azure Key Vault. Codeer deze informatie niet, deel deze met andere gebruikers of sla ze op in tekst zonder opmaak waar anderen toegang toe hebben. Stel een plan op om geheimen te roteren of ongeldig te maken in het geval dat ze worden aangetast. Zie de volgende bronnen 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 privésleutel wilt valideren dat is verzonden vanaf uw MQ-server, gebruikt de MQ-connector openbare-sleutelcertificaten die meestal aanwezig zijn op de host van de virtuele machine in de opslagplaats voor 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 dat uw logische app als clientcertificaat gebruikt, zie Een certificaat voor een persoonlijke sleutel toevoegen.

Beperkingen

  • Verificatie met TLS-versleuteling (SSL)

    MQ-connector Ondersteunde verificatierichting
    Beheerd Alleen server (eenrichtingsverkeer)
    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 tekensetconversies en gebruikt ook niet het Format-veld 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 voor meer informatie de MQ-referentiehandleiding voor beheerde connectors of de MQ-referentiehandleiding voor ingebouwde connectors.

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 ook op de server met de on-premises gegevensgateway de .NET Framework 4.6 is geïnstalleerd.

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

    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 Logic App waar u toegang tot uw MQ-server wilt krijgen.

    • Als u de door MQ beheerde connector wilt gebruiken met de on-premises gegevensgateway, moet uw Logic 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 Herhalingstrigger 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 cijferspecificatie

    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. In de Azure Portal opent u uw lege werkstroom voor logische apps in de ontwerper.

  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 klaar bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Een MQ-actie toevoegen

Een verbruikslogica app-werkstroom kan alleen de MQ-beheerconnector 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 logische app-werkstroom voor Verbruik of Standaard.

  • 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. Voor meer informatie, zie MQ-connectoracties.

  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 klaar 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 Verbruiken: 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 standaard logische app-werkstromen voor de ingebouwde MQ-connector, met gebruik van serververificatie of server-clientverificatie en 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-scriptcert resourcemenu van uw standaard logische app.

  1. Open uw resource voor de standaard-logische app in de Azure portal. Selecteer op 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 toont voorbeeld vingerafdrukken en beschrijvingen.

Een certificaat voor een openbare sleutel toevoegen

Volg deze stappen om een openbaar sleutelcertificaat toe te voegen aan de vertrouwde basis-CA-opslag op de host van de virtuele machine waarop uw standaard logica-app draait.

  1. Open uw resource voor de standaard-logische app in de 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 vriendelijke naam in voor het certificaat. 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 toont een standaard logische app met geselecteerde items: Certificaten, Openbare sleutelcertificaten 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 persoonlijke sleutel toe te voegen aan de Vertrouwde basis-CA-opslag op de host van de virtuele machine waarop uw standaard logica-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 standaard logische app met geselecteerde opties: Certificaten, Eigen certificaten gebruiken en Certificaat toevoegen.

  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:

        Kenmerk Beschrijving
        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 en geef de volgende waarden op:

        Kenmerk Beschrijving
        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 PKCS12-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 Selecteren>Valideren>Toevoegen.

  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 Vingerafdruk van het clientcertificaat-eigenschap de eerder gekopieerde vingerafdrukwaarde in voor het certificaat van de privésleutel, waarmee server-client (tweeweg) authenticatie 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 bij het bladeren of ontvangen van 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.