Skip to content

Commit 10da10e

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into migrate-business-case-and-assessment
2 parents dcdbca5 + b080323 commit 10da10e

357 files changed

Lines changed: 3095 additions & 1825 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

articles/active-directory-b2c/partner-onfido.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ REST API settings:
113113
#### Upload your files
114114

115115
1. Store the UI folder files in your blob container.
116-
2. [Use Azure Storage Explorer to manage Azure Managed Disks](/azure/virtual-machines/disks-use-storage-explorer-managed-disks) and access permissions.
116+
2. [Use Azure Storage Explorer to manage Azure managed disks](/azure/virtual-machines/disks-use-storage-explorer-managed-disks) and access permissions.
117117

118118
### Configure Azure AD B2C
119119

Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
---
2+
title: Manage minimum TLS versions for Azure App Service, Azure Functions, and Logic Apps (Standard)
3+
description: Learn how to check, audit, and update the minimum TLS version for Azure App Service, Azure Functions, and Logic Apps (Standard) to enforce TLS 1.2 or later.
4+
author: msangapu-msft
5+
ms.author: msangapu
6+
ms.topic: conceptual
7+
ms.date: 03/30/2026
8+
ms.service: azure-app-service
9+
---
10+
11+
# Manage minimum TLS versions for Azure App Service, Azure Functions, and Logic Apps (Standard)
12+
13+
## Overview
14+
15+
Transport Layer Security (TLS) 1.0 and 1.1 are legacy security protocols with known vulnerabilities. Microsoft recommends configuring your apps to require TLS 1.2 or later for all inbound connections.
16+
17+
You can enforce a minimum TLS version for the following App Service platform resources:
18+
19+
- **Azure App Service** (Web Apps on Windows and Linux)
20+
- **Azure Functions**
21+
- **Azure Logic Apps (Standard)**
22+
- **App Service Environments (ASE)**
23+
24+
New apps are created with a default minimum TLS version of 1.2. If your app is already configured for TLS 1.2 or later, your app meets current security best practices.
25+
26+
## Check your minimum TLS version
27+
28+
Your app has two independent TLS version settings:
29+
30+
- **Minimum Inbound TLS Version**: applies to client traffic to your app (for example, `yourapp.azurewebsites.net`).
31+
- **SCM Minimum Inbound TLS Version**: applies to the SCM (Kudu) site used for deployments, log streaming, and advanced tooling (for example, `yourapp.scm.azurewebsites.net`).
32+
33+
Both settings should be set to TLS 1.2 or later to fully secure your app.
34+
35+
### [Portal](#tab/portal)
36+
37+
1. In the [Azure portal](https://portal.azure.com), go to your App Service, Functions, or Logic Apps (Standard) app.
38+
1. On the left menu, select **Settings** > **Configuration**.
39+
1. Select the **General settings** tab.
40+
1. Check the values for **Minimum Inbound TLS Version** and **SCM Minimum Inbound TLS Version**.
41+
42+
### [Azure CLI](#tab/cli)
43+
44+
For **App Service**:
45+
46+
```azurecli
47+
az webapp show --name <app-name> --resource-group <resource-group> \
48+
--query "siteConfig.{siteTls:minTlsVersion, scmTls:scmMinTlsVersion}" \
49+
--output table
50+
```
51+
52+
For **Azure Functions**:
53+
54+
```azurecli
55+
az functionapp show --name <app-name> --resource-group <resource-group> \
56+
--query "siteConfig.{siteTls:minTlsVersion, scmTls:scmMinTlsVersion}" \
57+
--output table
58+
```
59+
60+
For **Logic Apps (Standard)**:
61+
62+
```azurecli
63+
az logicapp show --name <app-name> --resource-group <resource-group> \
64+
--query "siteConfig.{siteTls:minTlsVersion, scmTls:scmMinTlsVersion}" \
65+
--output table
66+
```
67+
68+
### [PowerShell](#tab/powershell)
69+
70+
The following command works for App Service, Azure Functions, and Logic Apps (Standard):
71+
72+
```azurepowershell
73+
$app = Get-AzWebApp -Name <app-name> -ResourceGroupName <resource-group>
74+
$app.SiteConfig.MinTlsVersion
75+
```
76+
77+
> [!NOTE]
78+
> `Get-AzWebApp` may return an empty value for `ScmMinTlsVersion` on some resource types. To reliably check both site and SCM minimum TLS versions, use the Azure CLI.
79+
80+
---
81+
82+
> [!NOTE]
83+
> Deployment slots have their own independent TLS settings. Check each slot separately.
84+
85+
## Check for TLS 1.0 and 1.1 traffic
86+
87+
Before updating your minimum TLS version, check whether your app currently receives traffic over TLS 1.0 or 1.1. This helps you identify clients that would be affected by a change.
88+
89+
1. In the [Azure portal](https://portal.azure.com), go to your App Service, Functions, or Logic Apps (Standard) app.
90+
1. Select **Diagnose and Solve Problems** from the left menu.
91+
1. Search for **Minimum TLS Version Checker**.
92+
93+
> [!TIP]
94+
> The detector list may take a moment to load. If the search returns no results, wait a few seconds and try again.
95+
96+
The detector shows:
97+
98+
- Your app's current minimum TLS version setting.
99+
- A summary of requests by TLS version over the last 24 hours.
100+
- Clients that made requests using TLS 1.0 and TLS 1.1.
101+
102+
If you see TLS 1.0 or 1.1 traffic, identify those clients before updating your minimum TLS version. See [Common scenarios that use TLS 1.0 or 1.1](#common-scenarios-that-use-tls-10-or-11) for guidance.
103+
104+
> [!NOTE]
105+
> This detector shows a snapshot from the last 24 hours. Check during peak traffic times for a more complete picture.
106+
107+
## Update your minimum TLS version
108+
109+
After you confirm that your clients support TLS 1.2 or later, update both the site and SCM minimum TLS version settings.
110+
111+
### [Portal](#tab/portal)
112+
113+
1. In the [Azure portal](https://portal.azure.com), go to your App Service, Functions, or Logic Apps (Standard) app.
114+
1. On the left menu, select **Settings** > **Configuration**.
115+
1. Select the **General settings** tab.
116+
1. Set **Minimum Inbound TLS Version** to **1.2**.
117+
1. Set **SCM Minimum Inbound TLS Version** to **1.2**.
118+
1. Select **Apply**.
119+
120+
### [Azure CLI](#tab/cli)
121+
122+
**Update the site minimum TLS version:**
123+
124+
For **App Service**:
125+
126+
```azurecli
127+
az webapp config set --name <app-name> --resource-group <resource-group> \
128+
--min-tls-version 1.2
129+
```
130+
131+
For **Azure Functions**:
132+
133+
```azurecli
134+
az functionapp config set --name <app-name> --resource-group <resource-group> \
135+
--min-tls-version 1.2
136+
```
137+
138+
For **Logic Apps (Standard)**:
139+
140+
The `az logicapp` CLI doesn't support `config set`. Use `az resource update` to update the site minimum TLS version:
141+
142+
```azurecli
143+
az resource update \
144+
--ids "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Web/sites/<app-name>/config/web" \
145+
--set properties.minTlsVersion=1.2
146+
```
147+
148+
**Update the SCM site minimum TLS version:**
149+
150+
The following command works for all resource types (App Service, Azure Functions, and Logic Apps Standard):
151+
152+
```azurecli
153+
az resource update \
154+
--ids "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Web/sites/<app-name>/config/web" \
155+
--set properties.scmMinTlsVersion=1.2
156+
```
157+
158+
> [!NOTE]
159+
> The `az webapp config set` and `az functionapp config set` commands don't support a `--scm-min-tls-version` parameter. Use `az resource update` to update the SCM minimum TLS version.
160+
161+
### [PowerShell](#tab/powershell)
162+
163+
The following command works for App Service, Azure Functions, and Logic Apps (Standard):
164+
165+
```azurepowershell
166+
Set-AzWebApp -Name <app-name> -ResourceGroupName <resource-group> -MinTlsVersion 1.2
167+
```
168+
169+
> [!NOTE]
170+
> `Set-AzWebApp` does not support updating the SCM minimum TLS version. Use the Azure CLI `az resource update` command to update the SCM minimum TLS version.
171+
172+
---
173+
174+
> [!NOTE]
175+
> Deployment slots have their own independent TLS settings. Update each slot separately.
176+
177+
## Find apps using older TLS versions at scale
178+
179+
Azure Resource Graph and list APIs (such as `az webapp list` and `Get-AzWebApp`) don't return `siteConfig` properties. To audit minimum TLS versions across your subscription, use Azure Policy.
180+
181+
### Audit with Azure Policy
182+
183+
Azure Policy evaluates your resources server-side and reports which apps don't meet the required TLS version, without making any changes.
184+
185+
1. In the [Azure portal](https://portal.azure.com), search for and select **Policy**.
186+
1. Select **Definitions** from the left menu.
187+
1. Search for and assign these **audit** policies:
188+
- *App Service apps should use the latest TLS version*
189+
- *App Service app slots should use the latest TLS version*
190+
- *Function apps should use the latest TLS version*
191+
- *Function app slots should use the latest TLS version*
192+
1. Set the **Scope** to your subscription or management group.
193+
1. Select **Review + create**, then **Create**.
194+
1. After the policy evaluates (up to 30 minutes for a new assignment), go to **Policy** > **Compliance** to view non-compliant resources.
195+
196+
> [!WARNING]
197+
> Azure Policy also offers remediation policies that start with **"Configure"** (for example, *Configure App Service apps to use the latest TLS version*). These policies use a **DeployIfNotExists** effect and **will actively update your TLS settings**. Only assign remediation policies after you've confirmed that your clients support TLS 1.2 or later.
198+
199+
> [!NOTE]
200+
> The built-in policies audit the main site minimum TLS version (`minTlsVersion`). There is currently no built-in policy for the SCM site minimum TLS version (`scmMinTlsVersion`). Check SCM settings individually using the CLI or PowerShell commands in the [Check your minimum TLS version](#check-your-minimum-tls-version) section.
201+
202+
For the full list of App Service policy definitions, see [Azure Policy built-in definitions for Azure App Service](policy-reference.md).
203+
204+
## Common scenarios that use TLS 1.0 or 1.1
205+
206+
The following are common reasons your app might receive inbound requests using TLS 1.0 or 1.1. If any of these scenarios apply to you, work with the client owner to ensure they support TLS 1.2 or later before you update the minimum TLS version.
207+
208+
| Scenario | What to check | More info |
209+
|----------|--------------|-----------|
210+
| .NET Framework clients calling your app | Versions before 4.7 may default to TLS 1.0 unless explicitly configured | [TLS best practices with .NET Framework](/dotnet/framework/network-programming/tls) |
211+
| Older Java clients calling your app | Older Java versions may not negotiate TLS 1.2 by default | [Solving the TLS 1.0 Problem](/security/engineering/solving-tls1-problem) |
212+
| Older mobile devices calling your app | Older Android and iOS versions may not use TLS 1.2 by default | Test with your target devices |
213+
| IoT or embedded devices calling your API | Device firmware may only support TLS 1.0 or 1.1 | Check with the device manufacturer |
214+
| Third-party services sending webhooks to your app | The caller's stack may use a legacy TLS version | Contact the third party to confirm TLS 1.2 support |
215+
| CI/CD agents deploying to your SCM site | Self-hosted build agents on outdated operating systems | Update the agent machine's OS and tooling |
216+
| Scripts calling your app (PowerShell, curl) | Older scripting runtimes may default to TLS 1.0 | [Solving the TLS 1.0 Problem](/security/engineering/solving-tls1-problem) |
217+
218+
**General guidance for clients connecting to your app:**
219+
220+
- Update client operating systems, libraries, and frameworks to their latest versions.
221+
- Avoid hardcoding TLS protocol versions in client code. Defer to operating system defaults when possible.
222+
- Use [Fiddler](https://www.telerik.com/fiddler) on the client machine to verify which TLS version it negotiates with your app.
223+
224+
## Frequently asked questions
225+
226+
### What happens when I set a higher minimum TLS version?
227+
228+
The App Service platform rejects all inbound connections that use a TLS version below the configured minimum. Clients that attempt to connect with an unsupported TLS version receive a connection error.
229+
230+
### Do I need to update each deployment slot?
231+
232+
Yes. Each deployment slot has its own independent `minTlsVersion` and `scmMinTlsVersion` settings. Update each slot individually.
233+
234+
### Does this affect outbound connections from my app?
235+
236+
No. This change applies to **inbound** connections to your app only. Outbound connections from your app to other services are governed by the target server's TLS requirements and your app's client configuration.
237+
238+
### Does this affect custom domains, or also *.azurewebsites.net?
239+
240+
Both. The minimum TLS version setting applies to all inbound traffic to your app, regardless of the hostname used.
241+
242+
### Does this apply to Azure Functions and Logic Apps?
243+
244+
Yes. Azure Functions and Logic Apps (Standard) run on the App Service platform and support the same TLS version settings. Logic Apps Consumption (multitenant) runs on a separate platform and is not covered in this article.
245+
246+
## Related content
247+
248+
- [What is TLS/SSL in Azure App Service?](overview-tls.md)
249+
- [Configure an App Service app](configure-common.md)
250+
- [Azure Policy built-in definitions for Azure App Service](policy-reference.md)
251+
- [Solving the TLS 1.0 Problem, 2nd Edition](/security/engineering/solving-tls1-problem)
252+
- [Transport Layer Security best practices with .NET Framework](/dotnet/framework/network-programming/tls)
253+
- [Retirement: Update on retirement of TLS 1.0 and TLS 1.1 versions for Azure Services](https://azure.microsoft.com/updates/azure-support-tls-will-end-by-31-october-2024-2/)
254+

articles/app-service/toc.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,9 @@ items:
337337
- name: Overview of TLS/SSL in App Service
338338
href: overview-tls.md
339339
displayName: TLS, SSL
340+
- name: Minimum TLS version
341+
href: tls-minimum-version.md
342+
displayName: TLS, TLS 1.0, TLS 1.1, minimum TLS
340343
- name: Secure a custom domain with HTTPS
341344
href: configure-ssl-bindings.md
342345
displayName: SSL

articles/application-gateway/json-web-token-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.date: 11/18/2025
1111

1212
# JSON Web Token (JWT) validation in Azure Application Gateway (preview)
1313

14-
[Azure Application Gateway](/azure/application-gateway/) validates JSON Web Tokens (JWTs) issued by [Microsoft Entra ID](https://docs.azure.cn/en-us/entra/fundamentals/what-is-entra) (formerly Azure Active Directory) in incoming HTTPS requests. This capability provides first-hop authentication enforcement for web APIs or any protected resource without requiring custom code in your backend applications.
14+
[Azure Application Gateway](/azure/application-gateway/) validates JSON Web Tokens (JWTs) issued by [Microsoft Entra ID](/entra/fundamentals/what-is-entra) (formerly Azure Active Directory) in incoming HTTPS requests. This capability provides first-hop authentication enforcement for web APIs or any protected resource without requiring custom code in your backend applications.
1515

1616
This capability verifies the integrity and authenticity of tokens in incoming requests. It then determines whether to allow or deny access before forwarding traffic to backend services. Upon successful validation, the gateway injects the `x-msft-entra-identity` header into the request and forwards it to the backend. Downstream applications can then securely consume verified identity information.
1717

articles/application-gateway/private-link.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ You may also choose to block inbound public (Internet) access to Application Gat
3333

3434
All features supported by Application Gateway are supported when accessed through a private endpoint, including support for AGIC.
3535

36+
> [!NOTE]
37+
> If your client application connects to App Gateway via a private IP, requires an idle timeout greater > than 4 minutes, and the client application does not send TCP keep-alive packets, contact > [email protected] to request initiation of keep‑alive from Application Gateway.
38+
3639
## Private Link components
3740

3841
Four components are required to implement Private Link with Application Gateway:

articles/artifact-signing/quickstart.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,11 +273,11 @@ To create an identity validation request for an Organization or a DBA:
273273

274274
| Requirements | Details |
275275
| :------------------- | :------------------- |
276-
| Onboarding | Artifact Signing at this time can onboard only legal business entities that have verifiable tax history of three or more years. For a quicker onboarding process, ensure that public records for the legal business entity that you're validated are up to date. |
276+
| Onboarding | For a quicker onboarding process, ensure that public records for the legal business entity that you're validated are up to date. |
277277
| Accuracy | Ensure that you provide the correct information for public identity validation. If you need to make any changes after it's created, you must complete a new identity validation request. This change affects the associated certificates that are being used for signing. |
278278
| Failed email verification | If email verification fails, you must initiate a new identity validation request. |
279279
| Identity validation status | You're notified through email when there's an update to the identity validation status. You can also check the status in the Azure portal at any time. |
280-
| Processing time | Processing your identity validation request takes from 1 to 7 business days (possibly longer if we need to request more documentation from you). |
280+
| Processing time | Processing your identity validation request takes from 1 to 15 business days (possibly longer if we need to request more documentation from you). |
281281
| More documentation | If we need more documentation to process the identity validation request, you're notified through email. You can upload the documents in the Azure portal. For documentation upload, there are three attempts. The documentation request email contains information about file size requirements. Ensure that any documents you provide are the most current. <br> - All documents submitted must be issued within the previous 12 months and where the expiration date is a future date that is at least two months away. <br> - If it isn't possible to provide additional documentation, update your account information to match any legal documents already provided or your official Company registration details. <br> - When providing official business document, such as business registration form, business charter, or articles of incorporation that list the company name and address as it is provided at the time of Identity Validation request creation. <br> - Ensure the domain registration or domain invoice from registration or renewal that lists the entity and contact name and all the domains that are included/mentioned in the request.|
282282

283283
# [Identity Validation - Individual Developer](#tab/indiedevvalidation)

articles/automation/disable-local-authentication.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ author: RochakSingh-blr
1515
# Disable local authentication in Automation
1616

1717
> [!IMPORTANT]
18-
> - Update Management patching will not work when local authentication is disabled.
19-
> - When you disable local authentication, it impacts starting a runbook using a webhook, source control auto sync, Automation Desired State Configuration, and agent-based Hybrid Runbook Workers. For more information, see the [available alternatives](#compatibility).
18+
> When you disable local authentication, it impacts starting a runbook using a webhook, source control auto sync, and Automation Desired State Configuration. For more information, see the [available alternatives](#compatibility).
2019
2120
Azure Automation provides Microsoft Entra authentication support for all Automation service public endpoints. This critical security enhancement removes certificate dependencies and gives organizations control to disable local authentication methods. This feature provides you with seamless integration when centralized control and management of identities and resource credentials through Microsoft Entra ID is required.
2221

@@ -59,7 +58,6 @@ The following table describes the behaviors or features that are prevented from
5958
|Starting a runbook using a webhook. | Start a runbook job using Azure Resource Manager template, which uses Microsoft Entra authentication. |
6059
|Using Automation Desired State Configuration.| Use [Azure Policy Guest configuration](../governance/machine-configuration/overview.md).  |
6160
|Using agent-based Hybrid Runbook Workers.| Use [extension-based Hybrid Runbook Workers](./extension-based-hybrid-runbook-worker-install.md).|
62-
|Using Automation Update Management |Use [Azure Update Manager](../update-manager/overview.md)|
6361
6462
6563
## Next steps

articles/azure-app-configuration/concept-snapshot-references.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ If a snapshot reference is added that points to the aforementioned snapshot, the
124124
| Java | Work in progress |
125125
| JavaScript | 2.3.0+ |
126126
| Python | 2.4.0+ |
127-
| Go | Work in progress |
127+
| Go | 1.6.0+ |
128128
| Kubernetes | 2.6.0+ |
129129

130130
## Next steps

0 commit comments

Comments
 (0)