Skip to content

Commit c1ac466

Browse files
committed
fix build error; align client and backend cert content
1 parent 33a07a9 commit c1ac466

File tree

3 files changed

+33
-20
lines changed

3 files changed

+33
-20
lines changed

articles/api-management/api-management-howto-mutual-certificates-for-clients.md

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,22 @@ author: dlepow
88

99
ms.service: api-management
1010
ms.topic: article
11-
ms.date: 06/01/2021
11+
ms.date: 01/12/2023
1212
ms.author: danlep
13+
ms.custom: engagement-fy23
1314
---
1415

1516
# How to secure APIs using client certificate authentication in API Management
1617

17-
API Management provides the capability to secure access to APIs (i.e., client to API Management) using client certificates. You can validate certificates presented by the connecting client and check certificate properties against desired values using policy expressions.
18+
API Management provides the capability to secure access to APIs (i.e., client to API Management) using client certificates and mutual TLS authentication. You can validate certificates presented by the connecting client and check certificate properties against desired values using policy expressions.
1819

19-
For information about securing access to the back-end service of an API using client certificates (i.e., API Management to backend), see [How to secure back-end services using client certificate authentication](./api-management-howto-mutual-certificates.md).
20+
For information about securing access to the backend service of an API using client certificates (i.e., API Management to backend), see [How to secure back-end services using client certificate authentication](./api-management-howto-mutual-certificates.md).
2021

2122
For a conceptual overview of API authorization, see [Authentication and authorization in API Management](authentication-authorization-overview.md#gateway-data-plane).
2223

2324
## Certificate options
2425

25-
If you choose to use API Management to manage client certificates, you have the following options:
26+
For certificate validation, API Management can check one or more specified client certificate attributes, or check against certificates managed in your API Management instance. If you choose to use API Management to manage client certificates, you have the following options:
2627

2728
* Reference a certificate managed in [Azure Key Vault](../key-vault/general/overview.md)
2829
* Add a certificate file directly in API Management
@@ -35,21 +36,26 @@ Using key vault certificates is recommended because it helps improve API Managem
3536

3637
## Prerequisites
3738

38-
* If you have not created an API Management service instance yet, see [Create an API Management service instance][Create an API Management service instance].
39-
* You need access to the certificate and the password for management in an Azure key vault or upload to the API Management service. The certificate must be in **PFX** format. Self-signed certificates are allowed.
39+
* If you have not created an API Management service instance yet, see [Create an API Management service instance](get-started-create-service-instance.md).
40+
* You need access to the certificate and the password for management in an Azure key vault or upload to the API Management service. The certificate must be in **PFX** format. Self-signed certificates are allowed.
41+
42+
If you use a self-signed certificate, also [install a CA root certificate](api-management-howto-ca-certificates.md) in your API Management instance.
43+
44+
> [!NOTE]
45+
> CA root certificates for certificate validation are not supported in the Consumption tier.
4046
4147
[!INCLUDE [api-management-client-certificate-key-vault](../../includes/api-management-client-certificate-key-vault.md)]
4248

49+
## Enable API Management instance to receive and verify client certificates
4350

44-
## Enable API Management instance to negotiate client certificates
51+
### Developer, Basic, Standard, or Premium tier
4552

46-
> [!IMPORTANT]
47-
> To receive and verify client certificates over HTTP/2 in the Developer, Basic, Standard, or Premium tiers you must enable the **Negotiate client certificate** setting on the **Custom domain** blade as shown below.
53+
To receive and verify client certificates over HTTP/2 in the Developer, Basic, Standard, or Premium tie,s you must enable the **Negotiate client certificate** setting on the **Custom domain** blade as shown below.
4854

4955
![Negotiate client certificate](./media/api-management-howto-mutual-certificates-for-clients/negotiate-client-certificate.png)
5056

51-
> [!IMPORTANT]
52-
> To receive and verify client certificates in the Consumption tier, you must enable the **Request client certificate** setting on the **Custom domains** blade as shown below.
57+
### Consumption tier
58+
To receive and verify client certificates in the Consumption tier, you must enable the **Request client certificate** setting on the **Custom domains** blade as shown below.
5359

5460
![Request client certificate](./media/api-management-howto-mutual-certificates-for-clients/request-client-certificate.png)
5561

@@ -128,5 +134,6 @@ The following example shows how to check the thumbprint of a client certificate
128134
129135
## Next steps
130136

131-
- [How to secure back-end services using client certificate authentication](./api-management-howto-mutual-certificates.md)
132-
- [How to upload certificates](./api-management-howto-mutual-certificates.md)
137+
- [How to secure backend services using client certificate authentication](./api-management-howto-mutual-certificates.md)
138+
- [How to add a custom CA certificate in Azure API Management](./api-management-howto-ca-certificates.md)
139+
- Learn about [policies in API Management](api-management-howto-policies.md)

articles/api-management/api-management-howto-mutual-certificates.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.custom: devx-track-azurepowershell, engagement-fy23
1515

1616
# Secure backend services using client certificate authentication in Azure API Management
1717

18-
API Management allows you to secure access to the backend service of an API using client certificates. This guide shows how to manage certificates in an Azure API Management service instance using the Azure portal. It also explains how to configure an API to use a certificate to access a backend service.
18+
API Management allows you to secure access to the backend service of an API using client certificates and mutual TLS authentication. This guide shows how to manage certificates in an Azure API Management service instance using the Azure portal. It also explains how to configure an API to use a certificate to access a backend service.
1919

2020
You can also manage API Management certificates using the [API Management REST API](/rest/api/apimanagement/current-ga/certificate).
2121

@@ -36,16 +36,21 @@ Using key vault certificates is recommended because it helps improve API Managem
3636

3737
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
3838

39-
* If you have not created an API Management service instance yet, see [Create an API Management service instance][Create an API Management service instance].
39+
* If you have not created an API Management service instance yet, see [Create an API Management service instance](get-started-create-service-instance.md).
4040
* You should have your backend service configured for client certificate authentication. To configure certificate authentication in the Azure App Service, refer to [this article][to configure certificate authentication in Azure WebSites refer to this article].
41-
* You need access to the certificate and the password for management in an Azure key vault or upload to the API Management service. The certificate must be in **PFX** format. Self-signed certificates are allowed.
41+
* You need access to the certificate and the password for management in an Azure key vault or upload to the API Management service. The certificate must be in **PFX** format. Self-signed certificates are allowed.
42+
43+
If you use a self-signed certificate:
44+
* [Install a CA root certificate](api-management-howto-ca-certificates.md) in your API Management instance.
45+
46+
> [!NOTE]
47+
> CA root certificates for certificate validation are not supported in the Consumption tier.
48+
* [Disable certificate chain validation](#disable-certificate-chain-validation-for-self-signed-certificates)
4249

4350
[!INCLUDE [api-management-client-certificate-key-vault](../../includes/api-management-client-certificate-key-vault.md)]
4451

4552
After the certificate is uploaded, it shows in the **Certificates** window. If you have many certificates, make a note of the thumbprint of the desired certificate in order to configure an API to use a client certificate for [gateway authentication](#configure-an-api-to-use-client-certificate-for-gateway-authentication).
4653

47-
> [!NOTE]
48-
> To turn off certificate chain validation when using, for example, a self-signed certificate, follow the steps described in [Self-signed certificates](#self-signed-certificates), later in this article.
4954

5055
## Configure an API to use client certificate for gateway authentication
5156

@@ -64,7 +69,7 @@ After the certificate is uploaded, it shows in the **Certificates** window. If y
6469
> [!TIP]
6570
> When a certificate is specified for gateway authentication for the backend service of an API, it becomes part of the policy for that API, and can be viewed in the policy editor.
6671
67-
## Self-signed certificates
72+
## Disable certificate chain validation for self-signed certificates
6873

6974
If you are using self-signed certificates, you will need to disable certificate chain validation for API Management to communicate with the backend system. Otherwise it will return a 500 error code. To configure this, you can use the [`New-AzApiManagementBackend`](/powershell/module/az.apimanagement/new-azapimanagementbackend) (for new backend) or [`Set-AzApiManagementBackend`](/powershell/module/az.apimanagement/set-azapimanagementbackend) (for existing backend) PowerShell cmdlets and set the `-SkipCertificateChainValidation` parameter to `True`.
7075

@@ -87,6 +92,7 @@ To delete a certificate, select it and then select **Delete** from the context m
8792
## Next steps
8893

8994
* [How to secure APIs using client certificate authentication in API Management](api-management-howto-mutual-certificates-for-clients.md)
95+
* [How to add a custom CA certificate in Azure API Management](./api-management-howto-ca-certificates.md)
9096
* Learn about [policies in API Management](api-management-howto-policies.md)
9197

9298

includes/api-management-client-certificate-key-vault.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.author: danlep
1212

1313
To create or import a certificate to the key vault, see [Quickstart: Set and retrieve a certificate from Azure Key Vault using the Azure portal](../articles/key-vault/certificates/quick-create-portal.md).
1414

15-
* Enable a system-assigned or user-assigned [managed identity](../articles/api-management-howto-use-managed-service-identity.md) in the API Management instance.
15+
* Enable a system-assigned or user-assigned [managed identity](../articles/api-management/api-management-howto-use-managed-service-identity.md) in the API Management instance.
1616

1717
[!INCLUDE [api-management-key-vault-access](./api-management-key-vault-access.md)]
1818

0 commit comments

Comments
 (0)