Skip to content

Commit 92f454d

Browse files
committed
edits
1 parent 9b4fdb4 commit 92f454d

File tree

4 files changed

+49
-49
lines changed

4 files changed

+49
-49
lines changed

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

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Secure API Management backend using client certificate authentication
2+
title: Secure API Management Backend Using Client Certificate Authentication
33
titleSuffix: Azure API Management
4-
description: Learn how to manage client certificates and secure backend services using client certificate authentication in Azure API Management.
4+
description: Learn how to manage client certificates and secure backend services by using client certificate authentication in Azure API Management.
55
services: api-management
66
author: dlepow
77

@@ -10,70 +10,72 @@ ms.topic: how-to
1010
ms.date: 05/19/2025
1111
ms.author: danlep
1212
ms.custom: devx-track-azurepowershell, engagement-fy23
13+
14+
#customer intent: As an API developer, I want to sucure backend services by using client certificate authentication.
1315
---
1416

15-
# Secure backend services using client certificate authentication in Azure API Management
17+
# Secure backend services by using client certificate authentication in Azure API Management
1618

1719
[!INCLUDE [api-management-availability-all-tiers](../../includes/api-management-availability-all-tiers.md)]
1820

1921

20-
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.
22+
API Management allows you to secure access to the backend service of an API by using client certificates and mutual TLS authentication. This article shows how to manage certificates in API Management by using the Azure portal. It also explains how to configure an API to use a certificate to access a backend service.
2123

22-
You can also manage API Management certificates using the [API Management REST API](/rest/api/apimanagement/current-ga/certificate).
24+
You can also manage API Management certificates by using the [API Management REST API](/rest/api/apimanagement/current-ga/certificate).
2325

2426
## Certificate options
2527

26-
API Management provides two options to manage certificates used to secure access to backend services:
28+
API Management provides two options for managing certificates that are used to secure access to backend services:
2729

28-
* Reference a certificate managed in [Azure Key Vault](/azure/key-vault/general/overview)
29-
* Add a certificate file directly in API Management
30+
* Reference a certificate that's managed in [Azure Key Vault](/azure/key-vault/general/overview).
31+
* Add a certificate file directly in API Management.
3032

31-
Using key vault certificates is recommended because it helps improve API Management security:
33+
We recommend that you use key vault certificates because doing so improves API Management security:
3234

33-
* Certificates stored in key vaults can be reused across services
34-
* Granular [access policies](/azure/key-vault/general/security-features#privileged-access) can be applied to certificates stored in key vaults
35-
* Certificates updated in the key vault are automatically rotated in API Management. After update in the key vault, a certificate in API Management is updated within 4 hours. You can also manually refresh the certificate using the Azure portal or via the management REST API.
35+
* Certificates stored in key vaults can be reused across services.
36+
* Granular [access policies](/azure/key-vault/general/security-features#privileged-access) can be applied to certificates stored in key vaults.
37+
* Certificates updated in the key vault are automatically rotated in API Management. After an update in the key vault, a certificate in API Management is updated within four hours. You can also manually refresh the certificate by using the Azure portal or via the management REST API.
3638

3739
## Prerequisites
3840

3941
[!INCLUDE [updated-for-az](~/reusable-content/ce-skilling/azure/includes/updated-for-az.md)]
4042

41-
* If you have not created an API Management service instance yet, see [Create an API Management service instance](get-started-create-service-instance.md).
42-
* 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].
43-
* 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.
43+
* If you haven't created an API Management instance yet, see [Create an API Management service instance](get-started-create-service-instance.md).
44+
* Configure your backend service client certificate authentication. For information about configuring certificate authentication in Azure App Service, see [Configure TLS mutual authentication in App Service][to configure certificate authentication in Azure WebSites refer to this article].
45+
* Ensure that you have access to the certificate and the password for management in an Azure key vault, or a certificate to upload to the API Management service. The certificate must be in PFX format. Self-signed certificates are allowed.
4446

4547
If you use a self-signed certificate:
4648
* Install trusted root and intermediate [CA certificates](api-management-howto-ca-certificates.md) in your API Management instance.
4749

4850
> [!NOTE]
49-
> CA certificates for certificate validation are not supported in the Consumption tier.
50-
* [Disable certificate chain validation](#disable-certificate-chain-validation-for-self-signed-certificates)
51+
> CA certificates for certificate validation aren't supported in the Consumption tier.
52+
* [Disable certificate chain validation](#disable-certificate-chain-validation-for-self-signed-certificates).
5153

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

54-
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).
56+
After the certificate is uploaded, it shows in the **Certificates** window. If you have many certificates, note the thumbprint of the certificate that you just uploaded. You'll need it to configure an API to use the client certificate for [gateway authentication](#configure-an-api-to-use-client-certificate-for-gateway-authentication).
5557

5658

5759
## Configure an API to use client certificate for gateway authentication
5860

59-
1. In the [Azure portal](https://portal.azure.com), navigate to your API Management instance.
61+
1. In the [Azure portal](https://portal.azure.com), go to your API Management instance.
6062
1. Under **APIs**, select **APIs**.
6163
1. Select an API from the list.
6264
1. In the **Design** tab, select the editor icon in the **Backend** section.
63-
1. In **Gateway credentials**, select **Client cert** and select your certificate from the dropdown.
65+
1. In **Gateway credentials**, select **Client cert** and select your certificate from the dropdown list.
6466
1. Select **Save**.
6567

6668
:::image type="content" source="media/api-management-howto-mutual-certificates/apim-client-cert-enable-select.png" alt-text="Use client certificate for gateway authentication":::
6769

6870
> [!CAUTION]
69-
> This change is effective immediately, and calls to operations of that API will use the certificate to authenticate on the backend server.
71+
> This change is effective immediately. Calls to operations of the API will use the certificate to authenticate on the backend server.
7072
7173
> [!TIP]
72-
> 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.
74+
> 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.
7375
7476
## Disable certificate chain validation for self-signed certificates
7577

76-
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`.
78+
If you're using self-signed certificates, you need to disable certificate chain validation to enable API Management to communicate with the backend system. Otherwise you'll get a 500 error code. To disable this validation, you can use the [`New-AzApiManagementBackend`](/powershell/module/az.apimanagement/new-azapimanagementbackend) (for a new backend) or [`Set-AzApiManagementBackend`](/powershell/module/az.apimanagement/set-azapimanagementbackend) (for an existing backend) PowerShell cmdlets and set the `-SkipCertificateChainValidation` parameter to `True`:
7779

7880
```powershell
7981
$context = New-AzApiManagementContext -resourcegroup 'ContosoResourceGroup' -servicename 'ContosoAPIMService'
@@ -84,18 +86,18 @@ You can also disable certificate chain validation by using the [Backend](/rest/a
8486

8587
## Delete a client certificate
8688

87-
To delete a certificate, select it and then select **Delete** from the context menu (**...**).
89+
To delete a certificate, select it and then select **Delete** in the **...** menu.
8890

8991
:::image type="content" source="media/api-management-howto-mutual-certificates/apim-client-cert-delete-new.png" alt-text="Delete a certificate":::
9092

9193
> [!IMPORTANT]
92-
> If the certificate is referenced by any policies, then a warning screen is displayed. To delete the certificate, you must first remove the certificate from any policies that are configured to use it.
94+
> If the certificate is referenced by any policies, a warning screen appears. To delete the certificate, you must first remove it from any policies that are configured to use it.
9395
9496
## Related content
9597

9698
* [How to secure APIs using client certificate authentication in API Management](api-management-howto-mutual-certificates-for-clients.md)
9799
* [How to add a custom CA certificate in Azure API Management](./api-management-howto-ca-certificates.md)
98-
* Learn about [policies in API Management](api-management-howto-policies.md)
100+
* [Policies in API Management](api-management-howto-policies.md)
99101

100102

101103
[How to add operations to an API]: ./mock-api-responses.md

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

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ ms.author: danlep
1010

1111
[!INCLUDE [api-management-workspace-availability](api-management-workspace-availability.md)]
1212

13-
1. If you don't already have a key vault, create one. For steps to create a key vault, see [Quickstart: Create a key vault using the Azure portal](/azure/key-vault/general/quick-create-portal).
13+
1. If you don't already have a key vault, create one. For information about creating a key vault, see [Quickstart: Create a key vault using the Azure portal](/azure/key-vault/general/quick-create-portal).
1414

15-
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](/azure/key-vault/certificates/quick-create-portal).
15+
To create a certificate in the key vault or import a certificate to the key vault, see [Quickstart: Set and retrieve a certificate from Azure Key Vault using the Azure portal](/azure/key-vault/certificates/quick-create-portal).
1616

17-
1. 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.
17+
1. Enable a system-assigned or user-assigned [managed identity](../articles/api-management/api-management-howto-use-managed-service-identity.md) in API Management.
1818

1919
[!INCLUDE [api-management-key-vault-access](./api-management-key-vault-access.md)]
2020

@@ -25,40 +25,38 @@ ms.author: danlep
2525
See [Prerequisites for key vault integration](#prerequisites-for-key-vault-integration).
2626

2727
> [!IMPORTANT]
28-
> When adding a key vault certificate to your API Management instance, you must have permissions to list secrets from the key vault.
28+
> To add a key vault certificate to your API Management instance, you must have permissions to list secrets from the key vault.
2929
3030
> [!CAUTION]
31-
> When using a key vault certificate in API Management, be careful not to delete the certificate, key vault, or managed identity used to access the key vault.
31+
> When using a key vault certificate in API Management, be careful not to delete the certificate, key vault, or managed identity that's used to access the key vault.
3232
3333
To add a key vault certificate to API Management:
3434

35-
1. In the [Azure portal](https://portal.azure.com), navigate to your API Management instance.
35+
1. In the [Azure portal](https://portal.azure.com), go to your API Management instance.
3636
1. Under **Security**, select **Certificates**.
3737
1. Select **Certificates** > **+ Add**.
38-
1. In **Id**, enter a name of your choice.
38+
1. In **Id**, enter a name.
3939
1. In **Certificate**, select **Key vault**.
4040
1. Enter the identifier of a key vault certificate, or choose **Select** to select a certificate from a key vault.
4141
> [!IMPORTANT]
42-
> If you enter a key vault certificate identifier yourself, ensure that it doesn't have version information. Otherwise, the certificate won't rotate automatically in API Management after an update in the key vault.
43-
1. In **Client identity**, select a system-assigned or an existing user-assigned managed identity. Learn how to [add or modify managed identities in your API Management service](../articles/api-management/api-management-howto-use-managed-service-identity.md).
42+
> If you enter a key vault certificate identifier yourself, be sure that it doesn't have version information. Otherwise, the certificate won't rotate automatically in API Management after an update in the key vault.
43+
1. In **Client identity**, select a system-assigned identity or an existing user-assigned managed identity. For more information, see [Use managed identities in Azure API Management](../articles/api-management/api-management-howto-use-managed-service-identity.md).
4444
> [!NOTE]
45-
> The identity needs permissions to get and list certificate from the key vault. If you haven't already configured access to the key vault, API Management prompts you so it can automatically configure the identity with the necessary permissions.
45+
> The identity needs to have permissions to get and list certificates from the key vault. If you haven't already configured access to the key vault, API Management prompts you so that it can automatically configure the identity with the necessary permissions.
4646
1. Select **Add**.
4747

48-
49-
50-
:::image type="content" source="../articles/api-management/media/api-management-howto-mutual-certificates/apim-client-cert-kv.png" alt-text="Screenshot of adding a key vault certificate to API Management in the portal.":::
48+
:::image type="content" source="../articles/api-management/media/api-management-howto-mutual-certificates/apim-client-cert-kv.png" alt-text="Screenshot that shows how to add a key vault certificate to API Management in the portal." lightbox="../articles/api-management/media/api-management-howto-mutual-certificates/apim-client-cert-kv.png":::
5149

5250
1. Select **Save**.
5351

5452
## Upload a certificate
5553

5654
To upload a client certificate to API Management:
5755

58-
1. In the [Azure portal](https://portal.azure.com), navigate to your API Management instance.
56+
1. In the [Azure portal](https://portal.azure.com), go to your API Management instance.
5957
1. Under **Security**, select **Certificates**.
6058
1. Select **Certificates** > **+ Add**.
61-
1. In **Id**, enter a name of your choice.
59+
1. In **Id**, enter a name.
6260
1. In **Certificate**, select **Custom**.
6361
1. Browse to select the certificate .pfx file, and enter its password.
6462
1. Select **Add**.

includes/api-management-key-vault-access.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ ms.author: danlep
77
---
88

99
### Configure access to key vault
10-
1. In the portal, navigate to your key vault.
11-
1. In the left menu, select **Access configuration**, and note the **Permission model** that is configured.
10+
1. In the portal, go to your key vault.
11+
1. In the left menu, select **Access configuration**. Note the **Permission model** that's configured.
1212
1. Depending on the permission model, configure either a [key vault access policy](/azure/key-vault/general/assign-access-policy) or [Azure RBAC access](/azure/key-vault/general/rbac-guide) for an API Management managed identity.
1313

1414
**To add a key vault access policy:<br/>**
1515

1616
1. In the left menu, select **Access policies**.
1717
1. On the **Access policies** page, select **+ Create**.
18-
1. On the **Permissions** tab, under **Secret permissions**, select **Get** and **List**, then select **Next**.
18+
1. On the **Permissions** tab, under **Secret permissions**, select **Get** and **List**, and then select **Next**.
1919
1. On the **Principal** tab, **Select principal**, search for the resource name of your managed identity, and then select **Next**.
2020
If you're using a system-assigned identity, the principal is the name of your API Management instance.
2121
1. Select **Next** again. On the **Review + create** tab, select **Create**.

includes/api-management-key-vault-network.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ ms.author: danlep
99

1010
#### Requirements for Key Vault firewall
1111

12-
If [Key Vault firewall](/azure/key-vault/general/network-security) is enabled on your key vault, the following are additional requirements:
12+
If [Key Vault firewall](/azure/key-vault/general/network-security) is enabled on your key vault, you must meet these requirements:
1313

14-
* You must use the API Management instance's **system-assigned** managed identity to access the key vault.
14+
* You must use the API Management instance's system-assigned managed identity to access the key vault.
1515
* In Key Vault firewall, enable the **Allow Trusted Microsoft Services to bypass this firewall** option.
1616
* Ensure that your local client IP address is allowed to access the key vault temporarily while you select a certificate or secret to add to Azure API Management. For more information, see [Configure Azure Key Vault networking settings](/azure/key-vault/general/how-to-azure-key-vault-network-security).
1717

18-
After completing the configuration, you may block your client address in the key vault firewall.
18+
After completing the configuration, you can block your client address in the key vault firewall.
1919

2020
#### Virtual network requirements
2121

2222
If the API Management instance is deployed in a virtual network, also configure the following network settings:
2323

24-
* Enable a [service endpoint](/azure/key-vault/general/overview-vnet-service-endpoints) to Azure Key Vault on the API Management subnet.
24+
* Enable a [service endpoint](/azure/key-vault/general/overview-vnet-service-endpoints) to Key Vault on the API Management subnet.
2525
* Configure a network security group (NSG) rule to allow outbound traffic to the AzureKeyVault and AzureActiveDirectory [service tags](../articles/virtual-network/service-tags-overview.md).
2626

27-
For details, see [Network configuration when setting up Azure API Management in a VNet](../articles/api-management/virtual-network-reference.md).
27+
For details, see [Network configuration when setting up API Management in a virtual network](../articles/api-management/virtual-network-reference.md).

0 commit comments

Comments
 (0)