Skip to content

Commit ad5ecae

Browse files
authored
Merge pull request #95563 from ecfan/certs
Update password reqs for client certificate authentication
2 parents 7ecc54a + ae3f325 commit ad5ecae

File tree

2 files changed

+23
-15
lines changed

2 files changed

+23
-15
lines changed

articles/logic-apps/logic-apps-custom-api-authentication.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -294,9 +294,7 @@ For example:
294294

295295
#### Certificate authentication
296296

297-
To validate the incoming requests from your logic app to your web app or API app,
298-
you can use client certificates. To set up your code, learn
299-
[how to configure TLS mutual authentication](../app-service/app-service-web-configure-tls-mutual-auth.md).
297+
To validate the incoming requests from your logic app to your web app or API app, you can use client certificates. To set up your code, learn [how to configure TLS mutual authentication](../app-service/app-service-web-configure-tls-mutual-auth.md).
300298

301299
In the **Authorization** section, include these properties:
302300

@@ -308,12 +306,12 @@ In the **Authorization** section, include these properties:
308306
}
309307
```
310308

311-
| Property | Required | Description |
312-
| -------- | -------- | ----------- |
313-
| type | Yes | The authentication type. For SSL client certificates, the value must be `ClientCertificate`. |
314-
| password | Yes | The password for accessing the client certificate (PFX file) |
315-
| pfx | Yes | The base64-encoded contents of the client certificate (PFX file) |
316-
||||
309+
| Property | Required | Description |
310+
| -------- | -------- | ----------- |
311+
| `type` | Yes | The authentication type. For SSL client certificates, the value must be `ClientCertificate`. |
312+
| `password` | No | The password for accessing the client certificate (PFX file) |
313+
| `pfx` | Yes | The base64-encoded contents of the client certificate (PFX file) |
314+
||||
317315

318316
<a name="basic"></a>
319317

articles/logic-apps/logic-apps-securing-a-logic-app.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Here are the ways that you can secure access to this trigger type:
3131

3232
* [Generate shared access signatures](#sas)
3333
* [Restrict inbound IP addresses](#restrict-inbound-ip-addresses)
34-
* [Add Azure Active Directory, OAuth, or other security](#add-authentication)
34+
* [Add Azure Active Directory OAuth or other security](#add-authentication)
3535

3636
<a name="sas"></a>
3737

@@ -161,9 +161,9 @@ If you [automate deployment for logic apps by using Resource Manager templates](
161161

162162
<a name="add-authentication"></a>
163163

164-
### Add Azure Active Directory, OAuth, or other security
164+
### Add Azure Active Directory OAuth or other security
165165

166-
To add more authorization protocols to your logic app, consider using the [Azure API Management](../api-management/api-management-key-concepts.md) service. This service helps you expose your logic app as an API and offers rich monitoring, security, policy, and documentation for any endpoint. API Management can expose a public or private endpoint for your logic app. You can then use Azure Active Directory, OAuth, certificate, or other security standards for authorizing access to that endpoint. When API Management receives a request, the service sends the request to your logic app, also making any necessary transformations or restrictions along the way. To let only API Management trigger your logic app, you can use your logic app's inbound IP range settings.
166+
To add more authorization protocols to your logic app, consider using the [Azure API Management](../api-management/api-management-key-concepts.md) service. This service helps you expose your logic app as an API and offers rich monitoring, security, policy, and documentation for any endpoint. API Management can expose a public or private endpoint for your logic app. To authorize access to this endpoint, you can use [Azure Active Directory OAuth](#azure-active-directory-oauth-authentication), [client certificate](#client-certificate-authentication), or other security standards for authorizing access to that endpoint. When API Management receives a request, the service sends the request to your logic app, also making any necessary transformations or restrictions along the way. To let only API Management trigger your logic app, you can use your logic app's inbound IP range settings.
167167

168168
<a name="secure-operations"></a>
169169

@@ -359,7 +359,7 @@ Here are some [considerations to review](#obfuscation-considerations) when you u
359359

360360
If you deploy across different environments, consider parameterizing the values in your workflow definition that vary based on those environments. That way, you can avoid hard-coded data by using an [Azure Resource Manager template](../azure-resource-manager/template-deployment-overview.md) to deploy your logic app, protect sensitive data by defining secured parameters, and pass that data as separate inputs through the [template's parameters](../azure-resource-manager/template-parameters.md) by using a [parameter file](../azure-resource-manager/resource-manager-parameter-files.md).
361361

362-
For example, if you authenticate HTTP actions with [Azure Active Directory](#azure-active-directory-oauth-authentication), you can define and secure the parameters that accept the client ID and client secret that are used for authentication. To define these parameters in your logic app, use the `parameters` section in your logic app's workflow definition and Resource Manager template for deployment. To hide parameter values that you don't want shown when editing your logic app or viewing run history, define the parameters by using the `securestring` or `secureobject` type and use encoding as necessary. Parameters that have this type aren't returned with the resource definition and aren't accessible when viewing the resource after deployment. To access these parameter values during runtime, use the `@parameters('<parameter-name>')` expression inside your workflow definition. This expression is evaluated only at runtime and is described by the [Workflow Definition Language](../logic-apps/logic-apps-workflow-definition-language.md).
362+
For example, if you authenticate HTTP actions with [Azure Active Directory OAuth](#azure-active-directory-oauth-authentication), you can define and secure the parameters that accept the client ID and client secret that are used for authentication. To define these parameters in your logic app, use the `parameters` section in your logic app's workflow definition and Resource Manager template for deployment. To hide parameter values that you don't want shown when editing your logic app or viewing run history, define the parameters by using the `securestring` or `secureobject` type and use encoding as necessary. Parameters that have this type aren't returned with the resource definition and aren't accessible when viewing the resource after deployment. To access these parameter values during runtime, use the `@parameters('<parameter-name>')` expression inside your workflow definition. This expression is evaluated only at runtime and is described by the [Workflow Definition Language](../logic-apps/logic-apps-workflow-definition-language.md).
363363

364364
> [!NOTE]
365365
> If you use a parameter in a request header or body, that parameter might be visible when you view your logic app's
@@ -574,7 +574,17 @@ Here are some ways that you can secure endpoints that receive calls or requests
574574

575575
* Add authentication to outbound requests.
576576

577-
When you work with an HTTP-based trigger or action that makes outbound calls, such as HTTP, HTTP + Swagger, or Webhook, you can add authentication to the request that's sent by your logic app. For example, you can use basic authentication, client certificate authentication, [Active Directory OAuth](../active-directory/develop/about-microsoft-identity-platform.md) authentication, or a managed identity. For more information, see [Add authentication to outbound calls](#add-authentication-outbound) later in this topic.
577+
When you work with an HTTP-based trigger or action that makes outbound calls, such as HTTP, HTTP + Swagger, or Webhook, you can add authentication to the request that's sent by your logic app. For example, you can use these authentication types:
578+
579+
* [Basic authentication](#basic-authentication)
580+
581+
* [Client certificate authentication](#client-certificate-authentication)
582+
583+
* [Active Directory OAuth authentication](#azure-active-directory-oauth-authentication)
584+
585+
* [Managed identity authentication](#managed-identity-authentication)
586+
587+
For more information, see [Add authentication to outbound calls](#add-authentication-outbound) later in this topic.
578588

579589
* Restrict access from logic app IP addresses.
580590

@@ -654,7 +664,7 @@ If the [Client Certificate](../active-directory/authentication/active-directory-
654664
|---------------------|-----------------|----------|-------|-------------|
655665
| **Authentication** | `type` | Yes | **Client Certificate** <br>or <br>`ClientCertificate` | The authentication type to use for Secure Sockets Layer (SSL) client certificates. While self-signed certificates are supported, self-signed certificates for SSL aren't supported. |
656666
| **Pfx** | `pfx` | Yes | <*encoded-pfx-file-content*> | The base64-encoded content from a Personal Information Exchange (PFX) file |
657-
| **Password** | `password`| Yes | <*password-for-pfx-file*> | The password for accessing the PFX file |
667+
| **Password** | `password`| See description | <*password-for-pfx-file*> | The password for accessing the PFX file. <p><p>**Note**: This property value is required when you work in the Logic App Designer and is *not* required when you work in code view. |
658668
|||||
659669

660670
When you use [secured parameters](#secure-action-parameters) to handle and protect sensitive information, for example, in an [Azure Resource Manager template for automating deployment](../logic-apps/logic-apps-azure-resource-manager-templates-overview.md), you can use expressions to access these parameter values at runtime. This example HTTP action definition specifies the authentication `type` as `ClientCertificate` and uses the [parameters() function](../logic-apps/workflow-definition-language-functions-reference.md#parameters) to get the parameter values:

0 commit comments

Comments
 (0)