Připojení k serveru IBM MQ z pracovního postupu v Azure Logic Apps

Platí pro: Azure Logic Apps (Consumption + Standard)

Tento článek ukazuje, jak získat přístup k místnímu nebo hostovaného serveru Azure z pracovního postupu v Azure Logic Apps pomocí konektoru MQ. Pak můžete vytvořit automatizované pracovní postupy, které přijímají a odesílají zprávy uložené na serveru MQ. Pracovní postup může například vyhledat jednu zprávu ve frontě a pak spustit další akce.

Konektor MQ poskytuje obálku kolem klienta Microsoft MQ, který zahrnuje všechny možnosti zasílání zpráv pro komunikaci se vzdáleným serverem MQ přes síť TCP/IP. Tento konektor definuje připojení, operace a parametry pro volání klienta MQ.

Podporované verze IBM WebSphere MQ

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

Připojení otechnické referenční informace

Konektor MQ má různé verze založené na typu aplikace logiky a hostitelském prostředí.

Aplikace logiky Prostředí verze Připojení ion
Využití Azure Logic Apps a prostředí integrační služby (ISE) s více tenanty Spravovaný konektor, který se zobrazí v návrháři pod popiskem Enterprise Tento konektor poskytuje pouze akce, nikoli triggery. Ve scénářích místního serveru MQ podporuje spravovaný konektor pouze ověřování pomocí šifrování TLS (SSL).

Další informace najdete v následující dokumentaci:

- Referenční informace ke spravovanému konektoru MQ
- Spravované konektory v Azure Logic Apps
Standard Azure Logic Apps a App Service Environment v3 s jedním tenantem (pouze služba ASE v3 s plány Windows) Spravovaný konektor, který se zobrazí v galerii konektorů v části Sdílené modul runtime>a integrovaný konektor, který se zobrazí v galerii konektorů v části Modul runtime>v aplikaci a je založený na poskytovateli služeb. Integrovaná verze se liší následujícími způsoby:

– Integrovaná verze obsahuje akce a triggery.

– Integrovaný konektor se může přímo připojit k serveru MQ a přistupovat k virtuálním sítím Azure pomocí připojovací řetězec bez místní brány dat.

– Integrovaná verze podporuje ověřování serveru i ověřování serveru pomocí šifrování TLS (SSL) pro přenášená data, kódování zpráv pro operace odesílání i příjmu a integraci virtuální sítě Azure.

Další informace najdete v následující dokumentaci:

- Referenční informace ke spravovanému konektoru MQ
- Referenční informace k integrovanému konektoru MQ
- Integrované konektory v Azure Logic Apps

Ověřování pomocí šifrování TLS (SSL)

Na základě toho, jestli používáte spravovaný konektor MQ (pracovní postupy Consumption nebo Standard) nebo integrovaný konektor MQ (jenom pracovní postupy standardu), konektor MQ podporuje jeden nebo oba následující směry ověřování:

Authentication Podporovaný typ aplikace logiky a konektor MQ Zpracovat
Pouze server
(jednosměrná)
– Spotřeba: Spravováno pouze

- Standard: Spravované nebo integrované
Pro ověřování serveru odešle server MQ certifikát privátního klíče ( veřejně důvěryhodný nebo nepřístupný) klientovi aplikace logiky k ověření. Konektor MQ ověří pravost certifikátu příchozího serveru vůči certifikátům veřejného klíče, označovaným také jako "podepisující" certifikáty, pomocí standardního ověření streamu SSL .NET.

Aplikace logiky neodesílá klientský certifikát.
Serverový klient
(obousměrně)
– Spotřeba: Nepodporováno

- Standardní: integrovaná pouze
Informace o ověřování serveru najdete v předchozím řádku.

Pro ověření klienta klient aplikace logiky odešle certifikát privátního klíče k ověření serveru MQ. Server MQ ověří pravost příchozího klientského certifikátu také pomocí certifikátu veřejného klíče.

Poznámky k privátnímu klíči a certifikátům veřejného klíče

  • Certifikát, který vyžaduje ověření, je vždy certifikát privátního klíče. Certifikát použitý k ověření je vždy certifikát veřejného klíče.

  • Certifikát veřejného důvěryhodného privátního klíče vydává rozpoznaná certifikační autorita. Certifikát privátního klíče, který není veřejně důvěryhodný, zahrnuje certifikát podepsaný svým držitelem, privátní certifikační autoritu a podobné certifikáty.

  • Pokud chcete ověřit certifikát privátního klíče odesílaný ze serveru MQ, konektor MQ používá certifikáty veřejného klíče, které obvykle existují na hostiteli virtuálního počítače vaší aplikace logiky v úložišti důvěryhodných kořenových certifikačních autorit hostitele .

    Pokud ale hostitel nemá všechny požadované certifikáty veřejného klíče nebo pokud váš server MQ odešle certifikát privátního klíče, který není veřejně důvěryhodný, musíte provést další kroky. Další informace najdete v části Předpoklady.

  • K ověření certifikátu privátního klíče klienta odeslaného z vaší standardní aplikace logiky používá server MQ certifikáty veřejného klíče, které existují v úložišti certifikátů serveru MQ. Pokud chcete přidat certifikát privátního klíče pro aplikaci logiky, který se má použít jako klientský certifikát, přečtěte si téma Přidání certifikátu privátního klíče.

Omezení

  • Ověřování pomocí šifrování TLS (SSL)

    Konektor MQ Podporovaný směr ověřování
    Spravované Pouze server (jednosměrný)
    Integrovaný – Serverový klient (obousměrný)
    - Pouze server (jednosměrný)
  • Ověření certifikátu serveru

    Integrovaný konektor MQ neověřuje datum vypršení platnosti certifikátu serveru ani řetěz certifikátů.

  • Převody znakové sady

    • Spravovaný konektor MQ neprovádí převody znakové sady ani nepoužívá pole Formát zprávy. Konektor zkopíruje jenom všechna data, která se zobrazí v poli zprávy, a odešle zprávu spolu.

    • Integrovaný konektor MQ může provádět převody znakové sady, ale pouze v případě, že datový formát je řetězec. Pokud zadáte jiné ID znakové sady (znaková stránka), konektor se pokusí převést data na novou znakovou stránku.

  • Konektor MQ nepodporuje segmentované zprávy.

Další informace najdete v referenčních informacích ke spravovanému konektoru MQ nebo o integrovaném konektoru MQ.

Předpoklady

  • Účet a předplatné Azure. Pokud nemáte předplatné Azure, zaregistrujte si bezplatný účet Azure.

  • Pokud se chcete připojit k místnímu serveru MQ, musíte místní bránu dat nainstalovat na server v síti. Aby konektor MQ fungoval, musí mít server s místní bránou dat nainstalovanou také rozhraní .NET Framework 4.6.

    Po instalaci brány musíte také vytvořit prostředek brány dat v Azure. Konektor MQ používá tento prostředek pro přístup k vašemu serveru MQ. Další informace najdete v tématu Nastavení připojení brány dat.

    Poznámka:

    Bránu nepotřebujete v následujících scénářích:

    • Váš server MQ je veřejně dostupný nebo dostupný v Azure.
    • Použijete integrovaný konektor MQ, nikoli spravovaný konektor.
  • Prostředek aplikace logiky a pracovní postup, kde chcete získat přístup k serveru MQ.

    • Pokud chcete používat spravovaný konektor MQ s místní bránou dat, prostředek aplikace logiky musí používat stejné umístění jako prostředek brány v Azure.

    • Pokud chcete použít spravovaný konektor MQ, který neposkytuje žádné triggery, ujistěte se, že váš pracovní postup začíná triggerem nebo že do pracovního postupu nejprve přidáte aktivační událost. Můžete například použít trigger opakování.

    • Pokud chcete použít trigger z integrovaného konektoru MQ, ujistěte se, že začínáte s prázdným pracovním postupem.

  • Požadavky na certifikáty pro ověřování pomocí šifrování TLS (SSL)

    • Spravovaný konektor MQ

      Server MQ Požadavky
      Server MQ hostovaný v Azure Server MQ musí odeslat certifikát privátního klíče vydaný důvěryhodnou certifikační autoritou klientovi aplikace logiky k ověření.
      Místní server MQ s využitím místní brány dat Pokud chcete odeslat certifikát privátního klíče, který není veřejně důvěryhodný, například certifikát podepsaný svým držitelem nebo privátní certifikační autoritou, musíte certifikát přidat do úložiště důvěryhodných kořenových certifikačních autorit (CA) na místním počítači s instalací místní brány dat. Pro tuto úlohu můžete použít Správce certifikátů systému Windows (certmgr.exe).
    • Integrovaný konektor MQ

      Standardní aplikace logiky používají Aplikace Azure Service jako hostitelskou platformu a zpracovávají certifikáty. U standardních aplikací logiky v libovolném plánu WS* můžete do úložiště certifikátů místního počítače přidat veřejné, soukromé, vlastní nebo certifikáty podepsané svým držitelem. Pokud ale potřebujete přidat certifikáty do důvěryhodného kořenového úložiště ca na hostiteli virtuálního počítače, na kterém běží vaše standardní aplikace logiky, služba App Service vyžaduje, aby vaše aplikace logiky běžela v izolovaném prostředí App Service Environment v3 (ASE) s plánem služby App Service jen pro Windows a plánem služby App Service založeném na ASE. Další informace najdete v tématu Certifikáty a app Service Environment.

      • Ověřování serveru MQ

        Následující tabulka popisuje požadavky na certifikáty na základě vašeho scénáře:

        Certifikát serveru příchozí pošty MQ Požadavky
        Veřejně důvěryhodný certifikát privátního klíče vydaný důvěryhodnou certifikační autoritou Aplikace logiky obvykle nepotřebuje žádné další nastavení, protože hostitel virtuálního počítače vaší aplikace logiky obvykle obsahuje požadované certifikáty veřejného klíče k ověření certifikátu privátního klíče serveru MQ příchozího serveru. Pokud chcete zkontrolovat, jestli tyto certifikáty veřejného klíče existují, postupujte podle pokynů k zobrazení a potvrzení kryptografických otisků pro existující certifikáty veřejného klíče.

        Pokud hostitel virtuálního počítače nemá všechny požadované certifikáty veřejného klíče k ověření certifikátu privátního klíče serveru MQ a všech zřetězených certifikátů, proveďte následující kroky:

        1. Znovu vytvořte aplikaci logiky standardu pomocí Aplikace Azure Service Environment v3 (ASE) s plánem služby App Service založeným na Windows a službě ASE.

        2. Ručně přidejte požadované certifikáty veřejného klíče do úložiště důvěryhodné kořenové certifikační autority hostitele.
        Certifikát privátního klíče, který není veřejně důvěryhodný, například certifikát podepsaný svým držitelem nebo privátní certifikační autority Hostitel virtuálního počítače vaší aplikace logiky nebude mít požadované certifikáty veřejného klíče v úložišti důvěryhodných kořenových certifikačních autorit hostitele k ověření řetězu certifikátů serveru MQ. V tomto případě proveďte následující kroky:

        1. Znovu vytvořte aplikaci logiky standardu pomocí Aplikace Azure Service Environment v3 (ASE) s plánem služby App Service založeným na Windows a službě ASE.

        2. Ručně přidejte požadované certifikáty veřejného klíče do úložiště důvěryhodné kořenové certifikační autority hostitele.

        Další informace najdete v následující dokumentaci:
        - Vazby certifikátů a app Service Environment
        - Přidání a správa certifikátů TLS/SSL ve službě Aplikace Azure Service
      • Ověřování klienta aplikace logiky

        Můžete přidat certifikát privátního klíče, který se má odeslat jako klientský certifikát, a pak zadat hodnotu kryptografického otisku certifikátu v podrobnostech připojení pro integrovaný konektor MQ. Další informace najdete v tématu Přidání certifikátu privátního klíče.

      Doporučení: Upgrade na server MQ 9.0 nebo novější Na serveru MQ také nezapomeňte nastavit kanál připojení k serveru pomocí šifrovací sady, která odpovídá specifikaci šifry, kterou používá vaše připojení klienta, například ANY_TLS12_OR_HIGHER. Další informace najdete v další položce o požadavcích na šifru.

  • Požadavky na specifikaci šifry

    Server MQ vyžaduje, abyste definovali specifikaci šifry pro připojení, která používají šifrování TLS (SSL). Tato specifikace šifry musí odpovídat podporovaným, zvoleným a používaným operačním systémem, na kterém běží server MQ. V konečném důsledku musí specifikace šifry používané připojením klienta odpovídat šifrovacím sadám nastaveným v kanálu připojení k serveru na serveru MQ.

    Další informace najdete v tématu Připojení problémů s ověřováním.

Přidání triggeru MQ (jenom aplikace logiky úrovně Standard)

Následující kroky platí jenom pro pracovní postupy standardní aplikace logiky, které můžou používat triggery poskytované integrovaným konektorem MQ. Spravovaný konektor MQ neobsahuje žádné triggery.

Tyto kroky používají Azure Portal, ale s příslušným rozšířením Azure Logic Apps můžete také pomocí editoru Visual Studio Code vytvořit pracovní postup standardní aplikace logiky.

  1. Na webu Azure Portal otevřete v návrháři prázdný pracovní postup aplikace logiky.

  2. Podle těchto obecných kroků přidejte předdefinovaný trigger MQ, který chcete použít. Další informace najdete v tématu Triggery integrovaného konektoru MQ.

  3. Zadejte požadované informace pro ověření připojení. Až budete hotovi, vyberte Vytvořit.

  4. Jakmile se zobrazí informační pole aktivační události, zadejte požadované informace pro trigger.

  5. Až budete hotovi, uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.

Přidání akce MQ

Pracovní postup aplikace logiky Consumption může používat pouze spravovaný konektor MQ. Pracovní postup standardní aplikace logiky ale může používat spravovaný konektor MQ a integrovaný konektor MQ. Každá verze má více akcí. Například spravované i integrované verze konektoru mají vlastní akce pro procházení zprávy.

  • Akce spravovaného konektoru: Tyto akce se spouští v pracovním postupu aplikace logiky Consumption nebo Standard.

  • Předdefinované akce konektoru: Tyto akce se spouštějí jenom v pracovním postupu standardní aplikace logiky.

Následující kroky používají Azure Portal, ale s příslušným rozšířením Azure Logic Apps můžete k vytvoření pracovních postupů aplikace logiky použít také následující nástroje:

  1. Na webu Azure Portal otevřete pracovní postup aplikace logiky v návrháři.

  2. Podle těchto obecných kroků přidejte požadovanou akci MQ. Další informace najdete v tématu Akce konektoru MQ.

  3. Zadejte požadované informace pro ověření připojení. Až budete hotovi, vyberte Vytvořit.

  4. Jakmile se zobrazí pole s informacemi o akci, zadejte požadované informace pro vaši akci.

  5. Až budete hotovi, uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.

Otestování pracovního postupu

Pokud chcete zkontrolovat, že váš pracovní postup vrací očekávané výsledky, spusťte pracovní postup a zkontrolujte výstupy z historie spuštění pracovního postupu.

  1. Spusťte svůj pracovní postup.

    • Aplikace logiky Consumption: Na panelu nástrojů návrháře pracovního postupu vyberte Spustit spuštění triggeru>.

    • Standardní aplikace logiky: V nabídce prostředků pracovního postupu vyberte Přehled. Na panelu nástrojů podokna Přehled vyberte Spustit spuštění aktivační události>.

    Po dokončení spuštění návrhář zobrazí historii spuštění pracovního postupu spolu se stavem každého kroku.

  2. Pokud chcete zkontrolovat vstupy a výstupy pro každý krok, který se spustil (nepřeskočil), rozbalte nebo vyberte krok.

    • Pokud chcete zkontrolovat další podrobnosti o vstupu, vyberte Zobrazit nezpracované vstupy.

    • Pokud chcete zkontrolovat další podrobnosti o výstupu, vyberte Zobrazit nezpracované výstupy. Pokud nastavíte IncludeInfo na hodnotu true, bude zahrnut další výstup.

Zobrazení a přidání certifikátů pro ověřování pomocí šifrování TLS (SSL)

Následující informace platí jenom pro pracovní postupy standardní aplikace logiky integrovaného konektoru MQ pomocí ověřování pouze serveru nebo klienta s šifrováním TLS (SSL).

Zobrazení a potvrzení kryptografických otisků pro existující certifikáty veřejného klíče

Pokud chcete zkontrolovat, jestli na hostiteli virtuálního počítače standardní aplikace logiky v důvěryhodném kořenovém úložišti certifikační autority existují kryptografické otisky požadovaných certifikátů veřejného klíče, spusťte skript cert PowerShellu z nabídky prostředků vaší standardní aplikace logiky.

  1. Na webu Azure Portal otevřete prostředek aplikace logiky Standard. V nabídce prostředků aplikace logiky v části Vývojové nástroje vyberte Rozšířené nástroje>Přejít.

  2. V nabídce konzoly Ladění Kudu vyberte PowerShell.

  3. Po zobrazení okna PowerShellu spusťte z příkazového řádku PowerShellu následující skript:

    dir cert:\localmachine\root

    V okně PowerShellu jsou uvedeny existující kryptografické otisky a popisy, například:

    Screenshot showing existing example thumbprints and descriptions.

Přidání certifikátu veřejného klíče

Pokud chcete přidat certifikát veřejného klíče do úložiště důvěryhodných kořenových certifikačních autorit na daném hostiteli virtuálního počítače, na kterém běží vaše standardní aplikace logiky, postupujte takto:

  1. Na webu Azure Portal otevřete prostředek aplikace logiky Standard. V nabídce prostředků aplikace logiky v části Nastavení vyberte nastavení TLS/SSL (classic).

  2. Na stránce nastavení TLS/SSL (classic) vyberte kartu Certifikáty veřejných klíčů (.cer) a pak vyberte Nahrát certifikát veřejného klíče.

  3. V podokně Přidat certifikát veřejného klíče (.cer), které se otevře, zadejte název, který certifikát popisuje. Vyhledejte a vyberte soubor certifikátu veřejného klíče (.cer). Až budete hotovi, vyberte Nahrát.

  4. Po přidání certifikátu zkopírujte ve sloupci Kryptografický otisk hodnotu kryptografického otisku certifikátu.

    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. V nabídce prostředků aplikace logiky vyberte Konfigurace.

  6. Na kartě Nastavení aplikace vyberte Nové nastavení aplikace. Přidejte nové nastavení aplikace s názvem WEBSITE_LOAD_ROOT_CERTIFICATES a zadejte hodnotu kryptografického otisku certifikátu, kterou jste předtím zkopírovali. Pokud máte více hodnot kryptografického otisku certifikátu, nezapomeňte každou hodnotu oddělit čárkou (,).

    Další informace najdete v tématu Úprava nastavení hostitele a aplikace pro standardní aplikace logiky v Azure Logic Apps s jedním tenantem.

    Poznámka:

    Pokud zadáte kryptografický otisk pro certifikát privátní certifikační autority, integrovaný konektor MQ nespustí žádné ověření certifikátu, například kontrolu data vypršení platnosti certifikátu nebo zdroje certifikátu. Pokud standardní ověřování SSL rozhraní .NET selže, konektor porovná pouze libovolnou hodnotu kryptografického otisku předanou s hodnotou v nastavení WEBSITE_LOAD_ROOT_CERTIFICATES .

  7. Pokud se přidaný certifikát nezobrazí v seznamu certifikátů veřejného klíče, vyberte na panelu nástrojů možnost Aktualizovat.

Přidání certifikátu privátního klíče

Pokud chcete přidat certifikát privátního klíče do úložiště důvěryhodných kořenových certifikačních autorit na hostiteli virtuálního počítače, na kterém běží vaše standardní aplikace logiky, postupujte takto:

  1. Na webu Azure Portal otevřete prostředek aplikace logiky. V nabídce prostředků aplikace logiky v části Nastavení vyberte nastavení TLS/SSL (classic).

  2. Na stránce nastavení TLS/SSL (classic) vyberte kartu Certifikáty privátního klíče (.pfx) a pak vyberte Nahrát certifikát.

  3. V podokně Přidat certifikát privátního klíče (.pfx), které se otevře, vyhledejte a vyberte soubor certifikátu privátního klíče (.pfx) a zadejte heslo certifikátu. Až budete hotovi, vyberte Nahrát.

  4. Po přidání certifikátu zkopírujte ve sloupci Kryptografický otisk hodnotu kryptografického otisku certifikátu.

    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. V nabídce prostředků aplikace logiky vyberte Konfigurace.

  6. Na kartě Nastavení aplikace vyberte Nové nastavení aplikace. Přidejte nové nastavení aplikace s názvem WEBSITE_LOAD_CERTIFICATES a zadejte hodnotu kryptografického otisku certifikátu, kterou jste předtím zkopírovali.

    Další informace najdete v tématu Úprava nastavení hostitele a aplikace pro standardní aplikace logiky v Azure Logic Apps s jedním tenantem.

  7. Pokud se přidaný certifikát nezobrazí v seznamu certifikátů privátních klíčů, vyberte na panelu nástrojů možnost Aktualizovat.

  8. Při vytváření připojení pomocí integrovaného konektoru MQ vyberte v poli Informace o připojení možnost Použít protokol TLS.

  9. Do vlastnosti Kryptografický otisk klientského certifikátu zadejte dříve zkopírovanou hodnotu kryptografického otisku pro certifikát privátního klíče, který umožňuje dvoucestné ověřování klienta serveru. Pokud nezadáte hodnotu kryptografického otisku, konektor použije ověřování pouze serveru (jednosměrné).

    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.

Poradce při potížích

Selhání při procházení nebo příjmu akcí

Pokud spustíte akci procházení nebo přijetí pro prázdnou frontu, akce selže s následujícími výstupy záhlaví:

Screenshot showing the MQ

problémy s Připojení a ověřováním

Pokud váš pracovní postup používá spravovaný konektor MQ pro připojení k místnímu serveru MQ, může se zobrazit následující chyba:

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

  • Server MQ musí poskytnout certifikát vydaný důvěryhodnou certifikační autoritou.

  • Server MQ vyžaduje, abyste definovali specifikaci šifry pro použití s připojeními TLS. Pro účely zabezpečení a zahrnutí nejlepších sad zabezpečení však operační systém Windows odešle sadu podporovaných specifikací šifry.

    Operační systém, na kterém běží server MQ, zvolí sady, které se mají použít. Aby se konfigurace shodovaly, musíte změnit nastavení serveru MQ tak, aby specifikace šifry odpovídala možnosti zvolené v vyjednávání protokolu TLS.

    Při pokusu o připojení server MQ zaznamená zprávu o události, že pokus o připojení selhal, protože server MQ zvolil nesprávnou specifikaci šifry. Zpráva události obsahuje specifikaci šifry, kterou server MQ vybral ze seznamu. V konfiguraci kanálu připojení k serveru aktualizujte specifikaci šifry tak, aby odpovídala specifikaci šifry ve zprávě události.

Další kroky