You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article shows how to access an Azure-hosted or on-premises MQ server from a workflow in Azure Logic Apps using the MQ connector. You can then create automated workflows that receive and send messages stored in your MQ server. For example, your workflow can browse for a single message in a queue and then run other actions.
16
+
This guide shows how to access an Azure-hosted or on-premises MQ server from a workflow in Azure Logic Apps using the MQ connector. You can then create automated workflows that receive and send messages stored in your MQ server. For example, your workflow can browse for a single message in a queue and then run other actions.
17
17
18
18
The MQ connector provides a wrapper around a Microsoft MQ client, which includes all the messaging capabilities to communicate with a remote MQ server across a TCP/IP network. This connector defines the connections, operations, and parameters to call the MQ client.
19
19
@@ -30,17 +30,19 @@ The MQ connector has different versions, based on [logic app type and host envir
30
30
| Logic app | Environment | Connection version |
31
31
|-----------|-------------|--------------------|
32
32
|**Consumption**| Multitenant Azure Logic Apps | Managed connector, which appears in the connector gallery under the **Runtime** > **Shared**. This connector provides only actions, not triggers. In on-premises MQ server scenarios, the managed connector supports server only authentication with TLS (SSL) encryption. <br><br>For more information, review the following documentation: <br><br>- [MQ managed connector reference](/connectors/mq) <br>- [Managed connectors in Azure Logic Apps](managed.md)|
33
-
| **Standard** | Single-tenant Azure Logic Apps and App Service Environment v3 (ASE v3 with Windows plans only) | Managed connector, which appears in the connector gallery under **Runtime** > **Shared**, and built-in connector, which appears in the connector gallery under **Runtime** > **In-App** and is [service provider-based](../logic-apps/custom-connector-overview.md#service-provider-interface-implementation). The built-in version differs in the following ways: <br><br>- The built-in version includes actions *and* triggers. <br><br>- The built-in connector can directly connect to an MQ server and access Azure virtual networks by using a connection string without an on-premises data gateway. <br><br>- The built-in version supports both server authentication and server-client authentication with TLS (SSL) encryption for data in transit, message encoding for both the send and receive operations, and Azure virtual network integration. <br><br>For more information, review the following documentation: <br><br>- [MQ managed connector reference](/connectors/mq) <br>- [MQ built-in connector reference](/azure/logic-apps/connectors/built-in/reference/mq/) <br>- [Built-in connectors in Azure Logic Apps](built-in.md) |
33
+
| **Standard** | Single-tenant Azure Logic Apps and App Service Environment v3 (ASE v3 with Windows plans only) | Managed connector, which appears in the connector gallery under **Runtime** > **Shared**, and built-in connector, which appears in the connector gallery under **Runtime** > **In-app** and is [service provider-based](../logic-apps/custom-connector-overview.md#service-provider-interface-implementation). The built-in version differs in the following ways: <br><br>- The built-in version includes actions *and* triggers. <br><br>- The built-in connector can directly connect to an MQ server and access Azure virtual networks by using a connection string without an on-premises data gateway. <br><br>- The built-in version supports both server authentication and server-client authentication with TLS (SSL) encryption for data in transit, message encoding for both the send and receive operations, and Azure virtual network integration. <br><br>For more information, review the following documentation: <br><br>- [MQ managed connector reference](/connectors/mq) <br>- [MQ built-in connector reference](/azure/logic-apps/connectors/built-in/reference/mq/) <br>- [Built-in connectors in Azure Logic Apps](built-in.md) |
34
34
35
35
## Authentication with TLS (SSL) encryption
36
36
37
37
Based on whether you use the MQ managed connector (Consumption or Standard workflows) or the MQ built-in connector (Standard workflows only), the MQ connector supports one or both of the following authentication directions:
38
38
39
39
| Authentication | Supported logic app type and MQ connector | Process |
| Server only <br>(one-way) | - Consumption: Managed only <br><br>- Standard: Managed or built-in | For server authentication, your MQ server sends a private key certificate, either publicly trusted or non-publicly trusted, to your logic app client for validation. The MQ connector validates the incoming server certificate for authenticity against public key certificates, known also as a "signer" certificates, by using standard .NET SSL stream validation. <br><br>The logic app doesn't send a client certificate. |
41
+
| Server only <br>(one-way) | - Consumption: Managed only <br><br>- Standard: Managed or built-in | For server authentication, your MQ server sends a private key certificate, either publicly trusted or non-publicly trusted, to your logic app client for validation. The MQ connector validates the incoming server certificate for authenticity against public key certificates, also known as *signer certificates*, by using standard .NET SSL stream validation. <br><br>The logic app workflow doesn't send a client certificate. |
42
42
| Server-client <br>(two-way) | - Consumption: Not supported <br><br>- Standard: Built-in only | For server authentication, see the previous row. <br><br>For client authentication, the logic app client sends a private key certificate to your MQ server for validation. The MQ server validates the incoming client certificate for authenticity also by using a public key certificate. |
### Notes about private key and public key certificates
45
47
46
48
- The certificate that requires validation is always a private key certificate. The certificate used to perform the validation is always a public key certificate.
@@ -224,9 +226,9 @@ To check that your workflow returns the results that you expect, run your workfl
224
226
225
227
1. Run your workflow.
226
228
227
-
* Consumption logic app: On the workflow designer toolbar, select **Run Trigger** > **Run**.
229
+
* Consumption workflow: On the workflow designer toolbar, select **Run** > **Run**.
228
230
229
-
* Standard logic app: On workflow resource menu, select**Overview**. On the **Overview** pane toolbar, select **Run Trigger** > **Run**.
231
+
* Standard workflow: On the workflow menu, under**Settings**, select **Run history**. On the toolbar, select **Run** > **Run**.
230
232
231
233
After the run finishes, the designer shows the workflow's run history along with the status for each step.
232
234
@@ -258,23 +260,23 @@ To check that the thumbprints for the required public key certificates exist on
258
260
259
261
The PowerShell window lists the existing thumbprints and descriptions, for example:
260
262
261
-

263
+

262
264
263
265
<aname="add-public-key-certificate"></a>
264
266
265
267
## Add a public key certificate
266
268
267
-
To add a public key certificate to the Trusted Root CA Store on that virtual machine host where your Standard logic app runs, follow these steps:
269
+
Follow these steps to add a public key certificate to the Trusted Root CA Store on the virtual machine host where your Standard logic app runs.
268
270
269
-
1. In the [Azure portal](https://portal.azure.com), open your Standard logic app resource. On the logic app resource menu, under **Settings**, select **TLS/SSL settings (classic)**.
271
+
1. In the [Azure portal](https://portal.azure.com), open your Standard logic app resource. On the logic app resource menu, under **Settings**, select **Certificates**.
270
272
271
-
1.On the **TLS/SSL settings (classic)** page, select the **Public Key Certificates (.cer)** tab, and then select **Upload Public Key Certificate**.
273
+
1.Select the **Public key certificates (.cer)** tab, and then select **Add certificate**.
272
274
273
-
1. On the **Add Public Key Certificate (.cer)** pane that opens, enter a name to describe the certificate. Find and select the public key certificate file (.cer). When you're done, select **Upload**.
275
+
1. On the **Add public key certificate** pane that opens, find and select the public key certificate file (.cer) to add. Enter a friendly name to describe the certificate. When you're done, select **Add**.
274
276
275
277
1. After you add the certificate, from the **Thumbprint** column, copy the certificate's thumbprint value.
276
278
277
-

279
+

278
280
279
281
1. On the logic app resource menu, select **Configuration**.
280
282
@@ -294,19 +296,43 @@ To add a public key certificate to the Trusted Root CA Store on that virtual mac
294
296
295
297
## Add a private key certificate
296
298
297
-
To add a private key certificate to the Trusted Root CA Store on virtual machine host where your Standard logic app runs, follow these steps:
299
+
Follow these steps to add a private key certificate to the Trusted Root CA Store on virtual machine host where your Standard logic app runs.
298
300
299
-
1. In the [Azure portal](https://portal.azure.com), open your logic app resource. On the logic app resource menu, under **Settings**, select **TLS/SSL settings (classic)**.
301
+
1. In the [Azure portal](https://portal.azure.com), open your logic app resource. On the logic app resource menu, under **Settings**, select **Certificates**.
300
302
301
-
1.On the **TLS/SSL settings (classic)** page, select the **Private Key Certificates (.pfx)** tab, and then select **Upload Certificate**.
303
+
1.Select the **Bring your own certificates (.pfx)** tab, and then select **Add certificate**.
302
304
303
-
1. On the **Add Private Key Certificate (.pfx)** pane that opens, find and select the private key certificate file (.pfx), and then enter the certificate password. When you're done, select **Upload**.
305
+

304
306
305
-
1.After you add the certificate, from the **Thumbprint** column, copy the certificate's thumbprint value.
307
+
1.On the **Add private key certificate** pane that opens, under **Source**, select one of the following options:
306
308
307
-

309
+
-**Upload certificate (.pfx)**
308
310
309
-
1. On the logic app resource menu, select **Configuration**.
311
+
1. Provide the following values:
312
+
313
+
| Parameter | Description |
314
+
|-----------|-------------|
315
+
|**PFX certificate file**| Find and select your private key certificate (.pfx) file. |
316
+
|**Certificate password**| Enter the password that you created when you exported the PFX file. |
317
+
|**Certificate friendly name**| Enter the certificate name to show in your logic app resource. |
318
+
319
+
1. When you're done, select **Validate** > **Add**.
320
+
321
+
-**Import from Key Vault**.
322
+
323
+
1. Select **Select key vault certificate**, and provide the following values:
324
+
325
+
| Parameter | Description |
326
+
|-----------|-------------|
327
+
|**Subscription**| Select the Azure subscription associated with your key vault. |
328
+
|**Key vault**| Select the key vault that has your private key certificate (.pfx) file. |
329
+
|**Certificate**| Select a PKSCS12 certificate in the key vault. All PKCS12 certificates in the vault are listed with their thumbprints, but not all might be supported in Azure Logic Apps. |
330
+
331
+
1. When you're done, select **Select** > **Validate** > **Add**.
332
+
333
+
1. After you add the certificate, from the **Thumbprint** column, copy the certificate's thumbprint value.
334
+
335
+
1. On the logic app resource menu, under **Settings**, select **Configuration**.
310
336
311
337
1. On the **Application settings** tab, select **New application setting**. Add a new application setting named **WEBSITE_LOAD_CERTIFICATES**, and enter the certificate's thumbprint value that you previously copied.
312
338
@@ -318,15 +344,15 @@ To add a private key certificate to the Trusted Root CA Store on virtual machine
318
344
319
345
1. In the **Client Cert Thumbprint** property, enter the previously copied thumbprint value for the private key certificate, which enables server-client (two-way) authentication. If you don't enter a thumbprint value, the connector uses server-only (one-way) authentication.
320
346
321
-

347
+

322
348
323
349
## Troubleshoot problems
324
350
325
351
### Failures with browse or receive actions
326
352
327
353
If you run a browse or receive action on an empty queue, the action fails with the following header outputs:
328
354
329
-

355
+

330
356
331
357
<aname="connection-problems"></a>
332
358
@@ -344,7 +370,7 @@ When your workflow uses the MQ managed connector to connect to your on-premises
344
370
345
371
When you try to connect, the MQ server logs an event message that the connection attempt failed because the MQ server chose the incorrect cipher specification. The event message contains the cipher specification that the MQ server chose from the list. In the server-connection channel configuration, update the cipher specification to match the cipher specification in the event message.
346
372
347
-
## Next steps
373
+
## Related content
348
374
349
375
*[Managed connectors in Azure Logic Apps](/connectors/connector-reference/connector-reference-logicapps-connectors)
350
376
*[Built-in connectors in Azure Logic Apps](built-in.md)
0 commit comments