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
Azure API Management supports multiple versions of Transport Layer Security (TLS) protocol to secure API traffic for:
18
-
* Client side
19
-
* Backend side
18
+
* Client side (client to API Management gateway)
19
+
* Backend side (API Management gateway to backend)
20
20
21
21
API Management also supports multiple cipher suites used by the API gateway.
22
22
23
-
By default, API Management enables TLS 1.2 for client and backend connectivity and several supported cipher suites. This guide shows you how to manage protocols and ciphers configuration for an Azure API Management instance.
23
+
Depending on the service tier, API Management supports TLS 1.2 or TLS 1.3 by default for client and backend connectivity and several supported cipher suites. This guide shows you how to manage protocols and ciphers configuration for an Azure API Management instance.
24
24
25
25
:::image type="content" source="media/api-management-howto-manage-protocols-ciphers/api-management-protocols-ciphers.png" alt-text="Screenshot of managing protocols and ciphers in the Azure portal.":::
26
26
@@ -35,19 +35,67 @@ By default, API Management enables TLS 1.2 for client and backend connectivity a
1. In the left navigation of your API Management instance, under **Security**, select **Protocols + ciphers**.
41
41
1. Enable or disable desired protocols or ciphers.
42
42
1. Select **Save**.
43
43
44
-
Changes can take 1 hour or longer to apply. An instance in the Developer service tier has downtime during the process. Instances in the Basic and higher tiers don't have downtime during the process.
44
+
Changes can take some time to apply. An instance in the Developer service tier has downtime during the process. Instances in the Basic and higher tiers don't have downtime during the process.
45
45
46
46
> [!NOTE]
47
47
> Some protocols or cipher suites (such as backend-side TLS 1.2) can't be enabled or disabled from the Azure portal. Instead, you'll need to apply the REST API call. Use the `properties.customProperties` structure in the [Create/Update API Management Service](/rest/api/apimanagement/current-ga/api-management-service/create-or-update) REST API.
48
48
49
+
## TLS 1.3 support
50
+
51
+
52
+
<!-- Questions:
53
+
54
+
1. In v1/Consumption tiers, is TLS 1.2 also enabled by default, or is it only TLS 1.3?
55
+
2. Is TLS 1.3 supported in v2 tiers for client-side and backend-side connections?
56
+
3. What ciphers are supported in TLS 1.3?
57
+
4. Can TLS 1.3 be enabled/disabled via REST API
58
+
5. On backend side, is TLS 1.2 also enabled by default? -->
59
+
60
+
TLS 1.3 support is available in the API Management **Consumption**, **Developer**, **Basic**, **Standard**, and **Premium** service tiers. TLS 1.3 is enabled by default for client-side connections in most instances created in these service tiers. Enabling backend-side TLS 1.3 is optional.
61
+
62
+
TLS 1.3 is a major revision of the TLS protocol that provides improved security and performance. It includes features such as reduced handshake latency and improved security against certain types of attacks.
63
+
64
+
### Optionally enable TLS 1.3 when clients require certificate renegotiation
65
+
66
+
TLS-compliant clients that require certificate renegotiation are not compatible with TLS 1.3. If your API Management service is detected to have received TLS connections that require certificate renegotiation, enabling client-side TLS 1.3 in your instance is *optional*.
67
+
68
+
You can review the recent connections that required certificate renegotiation in the **Protocols + ciphers** page and decide whether to enable TLS 1.3 for client-side connections:
69
+
70
+
1. On the **Protocols + ciphers** page, in the **Client protocol** section, next to **TLS 1.3**, select **View and manage configuration**.
71
+
1. Review the list of **Recent client certificate renegotiations**. The list shows API operations where clients recently used client certificate renegotiation.
72
+
1. If you choose to enable TLS 1.3 for client-side connections, select **Enable**.
73
+
1. Select **Close**.
74
+
75
+
> [!WARNING]
76
+
> * If your APIs are accessed by TLS-compliant clients that rely on certificate renegotiation, enabling TLS 1.3 for client-side connections will cause those clients to fail to connect.
77
+
> * We recommend carefully monitoring the **Recent client certificate renegotiations** list before enabling TLS 1.3 for client-side connections.
78
+
> * After enabling TLS 1.3, review gateway request metrics or TLS-related exceptions in Application Insights. If necessary, you can disable TLS 1.3 for client-side connections and downgrade to TLS 1.2
79
+
80
+
### Optionally disable TLS 1.3
81
+
82
+
If you need to disable TLS 1.3 for client-side connections, you can do so from the **Protocols + ciphers** page:
83
+
84
+
1. On the **Protocols + ciphers** page, in the **Client protocol** section, next to **TLS 1.3**, select **View and manage configuration**.
85
+
1. Select **Disable**.
86
+
1. Select **Close**.
87
+
88
+
### Backend-side TLS 1.3
89
+
90
+
Enabling backend-side TLS 1.3 is optional. If you enable it, API Management will use TLS 1.3 for connections to your backend services that support it.
91
+
92
+
You can enable backend-side TLS 1.3 from the **Protocols + ciphers** page:
93
+
94
+
1. On the **Protocols + ciphers** page, in the **Backend protocol** section, enable the **TLS 1.3** setting.
95
+
1. Select **Save**.
96
+
49
97
## Related content
50
98
51
99
* For recommendations on securing your API Management instance, see [Azure security baseline for API Management](/security/benchmark/azure/baselines/api-management-security-baseline).
52
-
* Learn about security considerations in the API Management [landing zone accelerator](/azure/cloud-adoption-framework/scenarios/app-platform/api-management/security).
100
+
* Learn about security considerations in the API Management [Architecture best practices for API Management](azure/well-architected/service-guides/azure-api-management#).
53
101
* Learn more about [TLS](/dotnet/framework/network-programming/tls).
0 commit comments