Skip to content

Commit efd6900

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into azure-web-application-firewall-documentation
2 parents 8ecc1c5 + fa1aa62 commit efd6900

791 files changed

Lines changed: 806 additions & 119019 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/api-management/policy-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.custom: subject-policy-reference
1414

1515
This page is an index of [Azure Policy](../governance/policy/overview.md) built-in policy
1616
definitions for Azure API Management. For additional Azure Policy built-ins for other services, see
17-
[Azure Policy built-in definitions](../governance/policy/samples/built-in-policies.md). If you're looking for policies you can use to modify API behavior in API Management, see [API Management policy reference](api-management-policies.md).
17+
[Azure Policy built-in definitions](/azure/governance/policy/samples/built-in-policies). If you're looking for policies you can use to modify API behavior in API Management, see [API Management policy reference](api-management-policies.md).
1818

1919
The name of each built-in policy definition links to the policy definition in the Azure portal. Use
2020
the link in the **Version** column to view the source on the

articles/app-service/app-service-managed-certificate-changes-july-2025.md

Lines changed: 109 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,118 @@ For a detailed explanation of the underlying changes at DigiCert, refer to [chan
2929
3030
## Impacted scenarios
3131

32-
You can't create or renew ASMCs if:
33-
- Your app is not publicly accessible.
34-
- You use Azure Traffic Manager with nested or external endpoints.
35-
- You rely on `*.trafficmanager.net` domains.
32+
You can't create or renew ASMCs if your:
33+
- Site is not publicly accessible:
34+
- Public accessibility to your app is required. If your app is only accessible through private configurations, such as requiring a client certificate, disabling public network access, using private endpoints, or applying IP restrictions, you can't create or renew a managed certificate.
35+
- Other configurations that restrict public access, such as firewalls, authentication gateways, or custom access policies, may also affect eligibility for managed certificate issuance or renewal.
3636

37-
Existing certificates remain valid until expiration (up to 6 months), but will not renew automatically if your configuration is unsupported.
37+
- Site is an Azure Traffic Manager "nested" or "external" endpoint:
38+
- Only "Azure Endpoints" on Traffic Manager is supported for certificate creation and renewal.
39+
- "Nested endpoints" and "External endpoints" is not supported.
40+
- Site relies on _*.trafficmanager.net_ domains:
41+
- Certificates for _*.trafficmanager.net_ domains is not supported for creation or renewal.
42+
43+
Existing certificates remain valid until expiration (up to six months), but will not renew automatically if your configuration is unsupported.
44+
45+
## Identify impacted resources
46+
You can use [Azure Resource Graph (ARG)](https://portal.azure.com/?feature.customPortal=false#view/HubsExtension/ArgQueryBlade) queries to help identify resources that may be affected under each scenario. These queries are provided as a starting point and may not capture every configuration. Review your environment for any unique setups or custom configurations.
47+
48+
### Scenario 1: Site is not publicly accessible
49+
This ARG query retrieves a list of sites that either have the public network access property disabled or are configured to use client certificates. It then filters for sites that are using App Service Managed Certificates (ASMC) for their custom hostname SSL bindings. These certificates are the ones that could be affected by the upcoming changes. However, this query does not provide complete coverage, as there may be other configurations impacting public access to your app that are not included here. Ultimately, this query serves as a helpful guide for users, but a thorough review of your environment is recommended. You can copy this query, paste it into [ARG Explorer](https://portal.azure.com/?feature.customPortal=false#view/HubsExtension/ArgQueryBlade), and then click "Run query" to view the results for your environment.
50+
51+
```kql
52+
// ARG Query: Identify App Service sites that commonly restrict public access and use ASMC for custom hostname SSL bindings
53+
resources
54+
| where type == "microsoft.web/sites"
55+
// Extract relevant properties for public access and client certificate settings
56+
| extend
57+
publicNetworkAccess = tolower(tostring(properties.publicNetworkAccess)),
58+
clientCertEnabled = tolower(tostring(properties.clientCertEnabled))
59+
// Filter for sites that either have public network access disabled
60+
// or have client certificates enabled (both can restrict public access)
61+
| where publicNetworkAccess == "disabled"
62+
or clientCertEnabled != "false"
63+
// Expand the list of SSL bindings for each site
64+
| mv-expand hostNameSslState = properties.hostNameSslStates
65+
| extend
66+
hostName = tostring(hostNameSslState.name),
67+
thumbprint = tostring(hostNameSslState.thumbprint)
68+
// Only consider custom domains (exclude default *.azurewebsites.net) and sites with an SSL certificate bound
69+
| where tolower(hostName) !endswith "azurewebsites.net" and isnotempty(thumbprint)
70+
// Select key site properties for output
71+
| project siteName = name, siteId = id, siteResourceGroup = resourceGroup, thumbprint, publicNetworkAccess, clientCertEnabled
72+
// Join with certificates to find only those using App Service Managed Certificates (ASMC)
73+
// ASMCs are identified by the presence of the "canonicalName" property
74+
| join kind=inner (
75+
resources
76+
| where type == "microsoft.web/certificates"
77+
| extend
78+
certThumbprint = tostring(properties.thumbprint),
79+
canonicalName = tostring(properties.canonicalName) // Only ASMC uses the "canonicalName" property
80+
| where isnotempty(canonicalName)
81+
| project certName = name, certId = id, certResourceGroup = tostring(properties.resourceGroup), certExpiration = properties.expirationDate, certThumbprint, canonicalName
82+
) on $left.thumbprint == $right.certThumbprint
83+
// Final output: sites with restricted public access and using ASMC for custom hostname SSL bindings
84+
| project siteName, siteId, siteResourceGroup, publicNetworkAccess, clientCertEnabled, thumbprint, certName, certId, certResourceGroup, certExpiration, canonicalName
85+
```
86+
87+
88+
### Scenario 2: Site is an Azure Traffic Manager "nested" or "external" endpoint
89+
If your App Service uses custom domains routed through **Azure Traffic Manager**, you may be impacted if your profile includes **external** or **nested endpoints**. These endpoint types are not supported for certificate issuance or renewal under the new validation.
90+
91+
To help identify affected Traffic Manager profiles across your subscriptions, we recommend using [this PowerShell script](https://github.com/nimccoll/NonAzureTrafficManagerEndpoints) developed by the Microsoft team. It scans for profiles with non-Azure endpoints and outputs a list of potentially impacted resources.
92+
93+
> [!NOTE]
94+
> You need at least Reader access to all subscriptions to run the script successfully.
95+
>
96+
97+
To run the script:
98+
1. Download the [PowerShell script from GitHub](https://github.com/nimccoll/NonAzureTrafficManagerEndpoints).
99+
1. Open PowerShell and navigate to the script location.
100+
1. Run the script.
101+
```
102+
.\TrafficManagerNonAzureEndpoints.ps1
103+
```
104+
105+
### Scenario 3: Site relies on _*.trafficmanager.net_ domains
106+
This ARG query helps you identify App Service Managed Certificates (ASMC) that were issued to _*.trafficmanager.net domains_. In addition, it also checks whether any web apps are currently using those certificates for custom domain SSL bindings. You can copy this query, paste it into [ARG Explorer](https://portal.azure.com/?feature.customPortal=false#view/HubsExtension/ArgQueryBlade), and then click "Run query" to view the results for your environment.
107+
108+
```kql
109+
// ARG Query: Identify App Service Managed Certificates (ASMC) issued to *.trafficmanager.net domains
110+
// Also checks if any web apps are currently using those certificates for custom domain SSL bindings
111+
resources
112+
| where type == "microsoft.web/certificates"
113+
// Extract the certificate thumbprint and canonicalName (ASMCs have a canonicalName property)
114+
| extend
115+
certThumbprint = tostring(properties.thumbprint),
116+
canonicalName = tostring(properties.canonicalName) // Only ASMC uses the "canonicalName" property
117+
// Filter for certificates issued to *.trafficmanager.net domains
118+
| where canonicalName endswith "trafficmanager.net"
119+
// Select key certificate properties for output
120+
| project certName = name, certId = id, certResourceGroup = tostring(properties.resourceGroup), certExpiration = properties.expirationDate, certThumbprint, canonicalName
121+
// Join with web apps to see if any are using these certificates for SSL bindings
122+
| join kind=leftouter (
123+
resources
124+
| where type == "microsoft.web/sites"
125+
// Expand the list of SSL bindings for each site
126+
| mv-expand hostNameSslState = properties.hostNameSslStates
127+
| extend
128+
hostName = tostring(hostNameSslState.name),
129+
thumbprint = tostring(hostNameSslState.thumbprint)
130+
// Only consider bindings for *.trafficmanager.net custom domains with a certificate bound
131+
| where tolower(hostName) endswith "trafficmanager.net" and isnotempty(thumbprint)
132+
// Select key site properties for output
133+
| project siteName = name, siteId = id, siteResourceGroup = resourceGroup, thumbprint
134+
) on $left.certThumbprint == $right.thumbprint
135+
// Final output: ASMCs for *.trafficmanager.net domains and any web apps using them
136+
| project certName, certId, certResourceGroup, certExpiration, canonicalName, siteName, siteId, siteResourceGroup
137+
```
38138

39139
## Mitigation guidance
40140

41141
### Scenario 1: Site is not publicly accessible
42142

43-
Apps that are not accessible from the public internet will not be able to create or renew ASMCs. This includes restrictions via private endpoints, firewalls, IP restrictions, client certificates, authentication gateways, or custom access policies.
143+
Apps that are not accessible from the public internet cannot create or renew ASMCs. These configurations may include restrictions enforced through private endpoints, firewalls, IP filtering, client certificates, authentication gateways, or custom access policies.
44144

45145
We recognize that making applications publicly accessible may conflict with customer security policies or introduce risk. The recommended mitigation is to replace ASMC with a custom certificate and update the TLS/SSL binding for your custom domain.
46146

@@ -91,17 +191,17 @@ Some customers may choose to allowlist [DigiCert’s domain validation IPs](http
91191
For guidance on configuring access restrictions, refer to [set up Azure App Service access restrictions](app-service-ip-restrictions.md).
92192

93193

94-
### Scenario 2: Azure Traffic Manager with nested or external endpoints
194+
### Scenario 2: Site is an Azure Traffic Manager "nested" or "external" endpoint
95195

96-
Only Azure Endpoints are supported. Nested and External endpoints are not supported for ASMC validation.
196+
Only "Azure Endpoints" are supported. "Nested" and "External" endpoints are not supported for ASMC validation.
97197

98198
**Recommended mitigation:**
99199

100200
- Switch to Azure Endpoints or use a custom domain secured with a custom certificate.
101201
- For guidance on using App Service as an Azure Traffic Manager endpoint, refer to [App Service and Traffic Manager Profiles](web-sites-traffic-manager.md#app-service-and-traffic-manager-profiles).
102202

103203

104-
### Scenario 3: Use of trafficmanager.net domains
204+
### Scenario 3: Site relies on _*.trafficmanager.net_ domains
105205

106206
Certificates for `*.trafficmanager.net` domains are not supported. If your app relies on this domain and uses ASMC, you need to remove that dependency and secure your app using a custom domain and certificate.
107207

articles/app-service/includes/configure-azure-storage/azure-storage-linux-container-pivot.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ To validate that the Azure Storage is mounted successfully for the app:
225225
### Troubleshooting
226226

227227
- The mount directory in the custom container should be empty. Any content stored at this path is deleted when the Azure Storage is mounted, if you specify a directory under */home*, for example. If you migrate files for an existing app, make a backup of the app and its content before you begin.
228+
- When mounting an NFS share, you'll need to ensure that Secure Transfer Required is disabled on the storage account. App Service doesn't support mounting NFS shares when this is enabled. It uses port 2409 and virtual network integration and private endpoints as the security measure.
228229
- If you delete an Azure Storage account, container, or share, remove the corresponding storage mount configuration in the app to avoid possible error scenarios.
229230
- We don't recommend that you use storage mounts for local databases, such as SQLite, or for any other applications and components that rely on file handles and locks.
230231
- Ensure the following ports are open when using virtual network integration: Azure Files: 80 and 445. Azure Blobs: 80 and 443.

articles/app-service/overview-tls.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Azure App Service supports the following TLS versions for incoming requests to y
4444

4545
You can configure the *minimum TLS version* for incoming requests to your web app and its Source Control Manager (SCM) site. By default, the minimum is set to **TLS 1.2**.
4646

47-
You can use Azure Policy to help audit your resources and minimum TLS version. Go to [App Service apps should use the latest TLS version policy definition](https://ms.portal.azure.com/#view/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Ff0e6e85b-9b9f-4a4b-b67b-f730d42f1b0b) and change the values to the minimum TLS version you want your web apps to use. For related policy definitions for other App Service resources, see [List of built-in policy definitions - Azure Policy for App Service](../governance/policy/samples/built-in-policies.md#app-service).
47+
You can use Azure Policy to help audit your resources and minimum TLS version. Go to [App Service apps should use the latest TLS version policy definition](https://ms.portal.azure.com/#view/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Ff0e6e85b-9b9f-4a4b-b67b-f730d42f1b0b) and change the values to the minimum TLS version you want your web apps to use. For related policy definitions for other App Service resources, see [List of built-in policy definitions - Azure Policy for App Service](/azure/governance/policy/samples/built-in-policies#app-service).
4848

4949
### TLS 1.3
5050

articles/app-service/policy-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.author: cephalin
1111

1212
This page is an index of [Azure Policy](../governance/policy/overview.md) built-in policy
1313
definitions for Azure App Service. For additional Azure Policy built-ins for other services, see
14-
[Azure Policy built-in definitions](../governance/policy/samples/built-in-policies.md).
14+
[Azure Policy built-in definitions](/azure/governance/policy/samples/built-in-policies).
1515

1616
The name of each built-in policy definition links to the policy definition in the Azure portal. Use
1717
the link in the **Version** column to view the source on the

articles/automation/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ Depending on your requirements, one or more of the following Azure services inte
113113
* [Azure Arc-enabled servers](/azure/azure-arc/servers/overview) enables simplified onboarding of hybrid machines to Change Tracking and Inventory using AMA, and the Hybrid Runbook Worker role.
114114
* [Azure Alerts action groups](/azure/azure-monitor/alerts/action-groups) can initiate an Automation runbook when an alert is raised.
115115
* [Azure Monitor](/azure/azure-monitor/overview) to collect metrics and log data from your Automation account for further analysis and take action on the telemetry.
116-
* [Azure Policy](../governance/policy/samples/built-in-policies.md) includes initiative definitions to help establish and maintain compliance with different security standards for your Automation account.
116+
* [Azure Policy](/azure/governance/policy/samples/built-in-policies) includes initiative definitions to help establish and maintain compliance with different security standards for your Automation account.
117117
* [Azure Site Recovery](../site-recovery/site-recovery-runbook-automation.md) can use Azure Automation runbooks to automate recovery plans.
118118

119119
These Azure services can work with Automation job and runbook resources using an HTTP webhook or API method:

articles/automation/policy-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ author: jasminemehndir
1111

1212
This page is an index of [Azure Policy](../governance/policy/overview.md) built-in policy
1313
definitions for Azure Automation. For additional Azure Policy built-ins for other services,
14-
see [Azure Policy built-in definitions](../governance/policy/samples/built-in-policies.md).
14+
see [Azure Policy built-in definitions](/azure/governance/policy/samples/built-in-policies).
1515

1616
The name of each built-in policy definition links to the policy definition in the Azure portal. Use
1717
the link in the **Version** column to view the source on the

articles/azure-app-configuration/configuration-provider-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ Key Vault References | [GA](./reference-dotnet-provider.md#key-vault-reference)
5959
Key Vault Secret Refresh | [GA](./reference-dotnet-provider.md#key-vault-secret-refresh) | WIP | GA | WIP | WIP | GA
6060
Custom Key Vault Secret Resolution | [GA](./reference-dotnet-provider.md#key-vault-reference) | GA | GA | GA | [GA](./reference-javascript-provider.md#key-vault-reference) | GA
6161
Parallel Secret Resolution | WIP | WIP | WIP | WIP | [GA](./reference-javascript-provider.md#parallel-secret-resolution) | GA
62-
Feature Flags | [GA](./reference-dotnet-provider.md#feature-flag) | GA | GA | GA | [GA](./reference-javascript-provider.md#feature-flag) | WIP
63-
Variant Feature Flags | [GA](./reference-dotnet-provider.md#feature-flag) | GA | GA | GA | [GA](./reference-javascript-provider.md#feature-flag) | WIP
62+
Feature Flags | [GA](./reference-dotnet-provider.md#feature-flag) | GA | GA | GA | [GA](./reference-javascript-provider.md#feature-flag) | GA
63+
Variant Feature Flags | [GA](./reference-dotnet-provider.md#feature-flag) | GA | GA | GA | [GA](./reference-javascript-provider.md#feature-flag) | GA
6464
Feature Flag Telemetry | GA | GA | WIP | GA | GA | WIP
6565
Key Prefix Trim | [GA](./reference-dotnet-provider.md#trim-prefix-from-keys) | GA | GA | GA | [GA](./reference-javascript-provider.md#trim-prefix-from-keys) | GA
6666
Configurable Startup Time-out | [GA](./reference-dotnet-provider.md#startup-retry) | WIP | N/A | WIP | [GA](./reference-javascript-provider.md#startup-retry) | WIP

0 commit comments

Comments
 (0)