Skip to content

Commit d3c3ff2

Browse files
committed
Merge branch 'multi-tenant-accounts' of https://github.com/EdB-MSFT/azure-docs-pr into multi-tenant-accounts
2 parents eeeb118 + 6d7b00e commit d3c3ff2

408 files changed

Lines changed: 8680 additions & 3054 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.

.openpublishing.redirection.json

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5375,51 +5375,6 @@
53755375
"redirect_url": "/azure/role-based-access-control/resource-provider-operations",
53765376
"redirect_document_id": false
53775377
},
5378-
{
5379-
"source_path_from_root": "/articles/scheduler/get-started-portal.md",
5380-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5381-
"redirect_document_id": false
5382-
},
5383-
{
5384-
"source_path_from_root": "/articles/scheduler/scheduler-advanced-complexity.md",
5385-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5386-
"redirect_document_id": false
5387-
},
5388-
{
5389-
"source_path_from_root": "/articles/scheduler/scheduler-concepts-terms.md",
5390-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5391-
"redirect_document_id": false
5392-
},
5393-
{
5394-
"source_path_from_root": "/articles/scheduler/scheduler-high-availability-reliability.md",
5395-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5396-
"redirect_document_id": false
5397-
},
5398-
{
5399-
"source_path_from_root": "/articles/scheduler/scheduler-intro.md",
5400-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5401-
"redirect_document_id": false
5402-
},
5403-
{
5404-
"source_path_from_root": "/articles/scheduler/scheduler-limits-defaults-errors.md",
5405-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5406-
"redirect_document_id": false
5407-
},
5408-
{
5409-
"source_path_from_root": "/articles/scheduler/scheduler-outbound-authentication.md",
5410-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5411-
"redirect_document_id": false
5412-
},
5413-
{
5414-
"source_path_from_root": "/articles/scheduler/scheduler-plans-billing.md",
5415-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5416-
"redirect_document_id": false
5417-
},
5418-
{
5419-
"source_path_from_root": "/articles/scheduler/scheduler-powershell-reference.md",
5420-
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
5421-
"redirect_document_id": false
5422-
},
54235378
{
54245379
"source_path_from_root": "/articles/sdks/index.yml",
54255380
"redirect_url": "https://azure.microsoft.com/downloads/",
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
---
2+
title: Industry-wide certificate changes impacting Azure App Service
3+
description: Describes industry-wide TLS certificate changes that affect Azure App Service Managed Certificates and App Service Certificates, including scope, timelines, and required actions.
4+
author: msangapu-msft
5+
ms.author: msangapu
6+
ms.date: 02/03/2026
7+
ms.topic: conceptual
8+
ms.service: azure-app-service
9+
---
10+
11+
# Industry-wide certificate changes impacting Azure App Service
12+
13+
Industry-wide requirements defined by browser programs and the CA/Browser Forum (CA/B Forum) are changing how public TLS certificates are issued and validated. To remain compliant with these requirements, Azure App Service applies the changes to App Service Managed Certificates (ASMC) and App Service Certificates (ASC).
14+
15+
Most customers using certificates within Azure App Service do not need to take action. However, certain scenarios may require customer action to avoid service disruption or may change how certificates are managed over time. This article explains what is changing, when action is required, and what operational impacts to expect.
16+
17+
18+
## Scope
19+
20+
This article applies to:
21+
- App Service Managed Certificates (ASMC)
22+
- App Service Certificates (ASC)
23+
24+
## When action is required
25+
Action is required **only** in the following scenarios to avoid service disruption:
26+
27+
- **Certificate pinning**
28+
Apps that pin certificates or certificate chains must review and remove pinning before the certificate chain migration.
29+
30+
- **Mutual TLS (mTLS)**
31+
Apps that rely on these certificates for client authentication must transition to an alternative authentication mechanism.
32+
33+
If neither of these scenarios applies, no immediate action is required.
34+
35+
## Operational changes to be aware of
36+
37+
Some scenarios do not require immediate action, but may require changes to how you manage certificates over time:
38+
39+
- **Exporting App Service Certificates**
40+
If you export certificates for use outside Azure App Service, you may need to re-export and update them more frequently due to the shortened validity period.
41+
42+
- **Domain ownership validation (ASC only)**
43+
Domain ownership validation may be required more frequently for certificate issuance, renewals, or rekeys.
44+
45+
46+
## Quick reference: What’s changing
47+
48+
| Change area | Affected certificate type | Customer impact |
49+
|------------|--------------------------|-----------------|
50+
| Certificate validity period | ASC only | Shorter validity with overlapping issuance |
51+
| Domain validation reuse | ASC only | More frequent domain validation required |
52+
| Certificate chain | ASMC and ASC | Certificate pinning must be removed |
53+
| Client authentication EKU | ASMC and ASC | mTLS using these certs no longer supported |
54+
55+
## Certificate validity period (ASC only)
56+
57+
### What’s changing
58+
Starting March 2026, App Service Certificates are issued with a shorter validity period of **198 days** to remain compliant with industry requirements defined by the CA/Browser Forum, including the schedule introduced in
59+
[CA/Browser Forum Ballot SC‑081v3](https://cabforum.org/2025/04/11/ballot-sc081v3-introduce-schedule-of-reducing-validity-and-data-reuse-periods/).
60+
61+
### Impact on App Service Managed Certificates (ASMC)
62+
No change. ASMCs already comply with the new industry requirements.
63+
64+
### Impact on App Service Certificates (ASC)
65+
To maintain one year of certificate coverage, Azure App Service automatically issues overlapping certificates at no additional cost.
66+
67+
- If App Service Certificates are used only with Azure App Service, no action is required. The platform automatically syncs and updates certificates.
68+
- If certificates are exported and used outside Azure App Service, the certificates may need to be re-exported more frequently due to the shorter validity period.
69+
70+
71+
## Domain validation reuse (ASC only)
72+
73+
### What’s changing
74+
Starting March 2026, domain ownership validation for App Service Certificates can be reused for up to **198 days** to remain compliant with industry requirements defined by the CA/Browser Forum.
75+
76+
### Impact on App Service Managed Certificates (ASMC)
77+
No change. Domain ownership validation for ASMC is automated and requires no customer action.
78+
79+
### Impact on App Service Certificates (ASC)
80+
- Domain validation completed before March 2026 cannot be reused. Certificate issuance starting March 2026 requires domain ownership validation.
81+
- During March 2026, domain ownership validation might be required again for each renewal and rekey.
82+
- After March 2026, domain ownership must be revalidated only if the domain was not validated within the past 198 days.
83+
- App Service Certificates do not automatically revalidate domains.
84+
85+
If validation is required, certificate orders remain in a pending issuance state until validation is completed.
86+
87+
> [!IMPORTANT]
88+
> Failure to complete domain validation can result in certificate issuance or renewal failure, potentially leading to certificate expiration and service disruption.
89+
90+
## Client authentication EKU (ASMC and ASC)
91+
92+
App Service Managed Certificates and App Service Certificates will stop supporting the client authentication extended key usage (EKU) as part of industry-driven changes to public TLS certificates.
93+
94+
For background on this change across Azure services, see [Changes to the Managed TLS feature](/azure/security/fundamentals/managed-tls-changes).
95+
96+
> [!NOTE]
97+
> Apps that rely on these certificates for mutual TLS (mTLS) must transition to an alternative authentication mechanism before the migration dates.
98+
99+
100+
## Certificate chain changes (ASMC and ASC)
101+
102+
Both App Service Managed Certificates and App Service Certificates will migrate to a new certificate chain as part of industry-driven updates to TLS certificates, which includes changes to certificate authorities and intermediates.
103+
104+
Apps that pin certificates or certificate chains must review and remove pinning before the migration dates to avoid service disruption.
105+
106+
For background on the managed TLS certificate authority changes across Azure services, see [Changes to the Managed TLS feature](/azure/security/fundamentals/managed-tls-changes).
107+
108+
> [!NOTE]
109+
> Certificate pinning is not recommended for App Service Managed Certificates (ASMC), because certificate issuance and rotation are controlled by the service.
110+
> For App Service Certificates (ASC), pinning may also break due to certificate chain changes and should be reviewed carefully before the migration.
111+
112+
## Timeline of key dates
113+
114+
| Date | Change | ASMC | ASC |
115+
|-----|--------|------|-----|
116+
| Feb–Mar 2026 | New certificate chain | Migrates to new chain ||
117+
| Starting March 2026 | Validity period + validation reuse || Shortened validity and validation reuse |
118+
| Mar–Apr 2026 (TBD) | New certificate chain + Client auth EKU || Migrates to new chain; EKU removed |
119+
| Mar–Apr 2026 (TBD) | Client auth EKU | EKU removed ||
120+
121+
122+
## Frequently asked questions
123+
124+
### Will I lose certificate coverage due to the shorter validity period?
125+
No. For App Service Certificates, Azure App Service automatically issues overlapping certificates to maintain continuous coverage for the full term you purchased.
126+
127+
### Are these changes specific to DigiCert or GoDaddy?
128+
No. These are industry-wide changes driven by browser programs and the CA/Browser Forum, and they apply to public TLS certificates issued by all certificate authorities.
129+
130+
### Do these changes affect certificates from other certificate authorities?
131+
Yes. These are industry-wide changes that apply to public TLS certificates regardless of the issuing certificate authority. For certificates not managed by Azure App Service, contact your certificate authority for guidance.
132+
133+
### Do I need to take action now?
134+
If you do not pin certificates and do not use these certificates for mutual TLS (mTLS), no immediate action is required.
135+
136+
### Why does my App Service Managed Certificate show an expiration date in April 2026 even though it was renewed recently?
137+
App Service Managed Certificates are issued with an approximately six-month validity period, which already complies with current industry requirements.
138+
139+
The April 2026 expiration date is not related to certificate validity changes. It reflects a certificate chain transition that is occurring across the industry to maintain browser trust.
140+
141+
Certificates issued from the existing certificate chain can only be issued until April 2026. To address this, Azure App Service is migrating App Service Managed Certificates to a new certificate chain and reissuing certificates from that chain.
142+
143+
For customers using App Service Managed Certificates as intended, this process is fully automated and no service disruption is expected. As a best practice, App Service Managed Certificates should not be pinned, because both the certificate and its issuing chain are managed and rotated by the platform.
144+
145+
146+
## Related documentation
147+
148+
- App Service Managed Certificates
149+
- App Service Certificates
150+
- Configure TLS/SSL bindings in Azure App Service

articles/app-service/networking-features.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ The following outbound use cases suggest how to use App Service networking featu
7272

7373
Azure App Service scale units support many customers in each deployment. The Free and Shared SKU plans host customer workloads on multitenant workers. The Basic and higher plans host customer workloads that are dedicated to only one App Service plan. If you have a Standard App Service plan, all the apps in that plan run on the same worker. If you scale out the worker, all the apps in that App Service plan are replicated on a new worker for each instance in your App Service plan.
7474

75+
> [!NOTE]
76+
> Port 445 (SMB) is blocked by default in the Azure App Service sandbox and cannot be used to access on-premises or public resources.
77+
7578
#### Outbound addresses
7679

7780
The worker virtual machines are broken down in large part by the App Service plans. The Free, Shared, Basic, Standard, and Premium plans all use the same worker virtual machine type. The PremiumV2 plan uses another virtual machine type. PremiumV3 uses yet another virtual machine type. And PremiumV4 uses yet another virtual machine type.

articles/app-service/toc.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,9 @@ items:
352352
- name: Configure TLS mutual authentication
353353
href: app-service-web-configure-tls-mutual-auth.md
354354
displayName: TLS
355+
- name: Industry-wide certificate changes
356+
href: industry-wide-certificate-changes.md
357+
displayName: 2026 certificate changes
355358
- name: Database and service connection
356359
items:
357360
- name: Connectivity scenarios overview

articles/application-gateway/configuration-infrastructure.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,12 @@ You can use the built-in roles, such as [Network contributor](../role-based-acce
8282
## Permissions
8383
Depending on whether you're creating new resources or using existing ones, add the appropriate permissions from the following list:
8484

85-
|Resource | Resource status | Required Azure permissions |
86-
|---|---|---|
87-
| Subnet | Create new| `Microsoft.Network/virtualNetworks/subnets/write' <br> 'Microsoft.Network/virtualNetworks/subnets/join/action` |
88-
| Subnet | Use existing| `Microsoft.Network/virtualNetworks/subnets/read` <br> `Microsoft.Network/virtualNetworks/subnets/join/action` |
89-
| IP addresses| Create new| `Microsoft.Network/publicIPAddresses/write` <br> `Microsoft.Network/publicIPAddresses/join/action` |
90-
| IP addresses | Use existing| `Microsoft.Network/publicIPAddresses/read` <br> `Microsoft.Network/publicIPAddresses/join/action` |
85+
| Resource | Resource status | Required Azure permissions |
86+
| --- | --- | --- |
87+
| Subnet | Create new | `Microsoft.Network/virtualNetworks/subnets/write' <br> 'Microsoft.Network/virtualNetworks/subnets/join/action` |
88+
| Subnet | Use existing | `Microsoft.Network/virtualNetworks/subnets/read` <br> `Microsoft.Network/virtualNetworks/subnets/join/action` |
89+
| IP addresses | Create new | `Microsoft.Network/publicIPAddresses/write` <br> `Microsoft.Network/publicIPAddresses/join/action` |
90+
| IP addresses | Use existing | `Microsoft.Network/publicIPAddresses/read` <br> `Microsoft.Network/publicIPAddresses/join/action` |
9191
| ApplicationGatewayWebApplicationFirewallPolicies | Create new / Update existing | `Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/write` <br> `Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/read` <br> `Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/join/action` |
9292

9393
For more information, see [Azure permissions for Networking](../role-based-access-control/permissions/networking.md) and [Virtual network permissions](../virtual-network/virtual-network-manage-subnet.md#permissions).
@@ -148,43 +148,43 @@ To use an NSG with your application gateway, you need to create or retain some e
148148

149149
**Client traffic**: Allow incoming traffic from the expected clients (as source IP or IP range), and for the destination as your application gateway's entire subnet IP prefix and inbound access ports. For example, if you have listeners configured for ports 80 and 443, you must allow these ports. You can also set this rule to `Any`.
150150

151-
| Source | Source ports | Destination | Destination ports | Protocol | Access |
152-
|---|---|---|---|---|---|
153-
|`<as per need>`|Any|`<Subnet IP Prefix>`|`<listener ports>`|TCP|Allow|
151+
| Source | Source ports | Destination | Destination ports | Protocol | Access |
152+
| --- | --- | --- | --- | --- | --- |
153+
| `<as per need>` | Any | `<Subnet IP Prefix>` | `<listener ports>` | TCP | Allow |
154154

155155
After you configure *active public and private listeners* (with rules) *with the same port number*, your application gateway changes the **Destination** of all inbound flows to the frontend IPs of your gateway. This change occurs even for listeners that aren't sharing any port. You must include your gateway's frontend public and private IP addresses in the **Destination** of the inbound rule when you use the same port configuration.
156156

157-
| Source | Source ports | Destination | Destination ports | Protocol | Access |
158-
|---|---|---|---|---|---|
159-
|`<as per need>`|Any|`<Public and Private frontend IPs>`|`<listener ports>`|TCP|Allow|
157+
| Source | Source ports | Destination | Destination ports | Protocol | Access |
158+
| --- | --- | --- | --- | --- | --- |
159+
| `<as per need>` | Any | `<Public and Private frontend IPs>` | `<listener ports>` | TCP | Allow |
160160

161161
**Infrastructure ports**: Allow incoming requests from the source as the **GatewayManager** service tag and **Any** destination. The destination port range differs based on SKU and is required for communicating the status of the backend health. These ports are protected/locked down by Azure certificates. External entities can't initiate changes on those endpoints without appropriate certificates in place.
162162

163163
- **V2**: Ports 65200-65535
164164
- **V1**: Ports 65503-65534
165165

166-
| Source | Source ports | Destination | Destination ports | Protocol | Access |
167-
|---|---|---|---|---|---|
168-
|GatewayManager|Any|Any|`<as per SKU given above>`|TCP|Allow|
166+
| Source | Source ports | Destination | Destination ports | Protocol | Access |
167+
| --- | --- | --- | --- | --- | --- |
168+
| GatewayManager | Any | Any | `<as per SKU given above>` | TCP | Allow |
169169

170170
> [!TIP]
171171
> The communication with Gateway Manager service is regional by default.
172172
173173
**Azure Load Balancer probes**: Allow incoming traffic from the source as the **AzureLoadBalancer** service tag. This rule is created by default for [NSGs](../virtual-network/network-security-groups-overview.md). You must not override it with a manual **Deny** rule to ensure smooth operations of your application gateway.
174174

175-
| Source | Source ports | Destination | Destination ports | Protocol | Access |
176-
|---|---|---|---|---|---|
177-
|AzureLoadBalancer|Any|Any|Any|Any|Allow|
175+
| Source | Source ports | Destination | Destination ports | Protocol | Access |
176+
| --- | --- | --- | --- | --- | --- |
177+
| AzureLoadBalancer | Any | Any | Any | Any | Allow |
178178

179179
You can block all other incoming traffic by using a **Deny All** rule.
180180

181181
#### Outbound rules
182182

183183
**Outbound to the internet**: Allow outbound traffic to the internet for all destinations. This rule is created by default for [NSGs](../virtual-network/network-security-groups-overview.md). You must not override it with a manual **Deny** rule to ensure smooth operations of your application gateway. Outbound NSG rules that deny any outbound connectivity must not be created.
184184

185-
| Source | Source ports | Destination | Destination ports | Protocol | Access |
186-
|---|---|---|---|---|---|
187-
|Any|Any|Internet|Any|Any|Allow|
185+
| Source | Source ports | Destination | Destination ports | Protocol | Access |
186+
| --- | --- | --- | --- | --- | --- |
187+
| Any | Any | Internet | Any | Any | Allow |
188188

189189
> [!NOTE]
190190
> Application Gateways that don't have [Network Isolation](application-gateway-private-deployment.md#route-table-control) enabled don't allow traffic to be sent between peered VNets when **Allow traffic to remote virtual network** is disabled.

0 commit comments

Comments
 (0)