Skip to content

Commit d8506f6

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into nw-grafana-sfi
2 parents 5664d75 + aba23b1 commit d8506f6

File tree

698 files changed

+3909
-1650
lines changed

Some content is hidden

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

698 files changed

+3909
-1650
lines changed

articles/app-service/configure-authentication-provider-aad.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Either:
7474
- Select **Provide the details of an existing app registration** and provide:
7575
- Application (client) ID.
7676
- Client secret (recommended). A secret value that the application uses to prove its identity when requesting a token. This value is saved in your app's configuration as a slot-sticky application setting named `MICROSOFT_PROVIDER_AUTHENTICATION_SECRET`. If the client secret isn't set, sign-in operations from the service use the OAuth 2.0 implicit grant flow, which *isn't* recommended.
77-
- Issuer URL, which takes the form `<authentication-endpoint>/<tenant-id>/v2.0`. Replace `<authentication-endpoint>` with the authentication endpoint [value specific to the cloud environment](/entra/identity-platform/authentication-national-cloud#azure-ad-authentication-endpoints). For example, a workforce tenant in global Azure would use "https://login.microsoftonline.com" as its authentication endpoint.
77+
- Issuer URL, which takes the form `<authentication-endpoint>/<tenant-id>/v2.0`. Replace `<authentication-endpoint>` with the authentication endpoint [value specific to the cloud environment](/entra/identity-platform/authentication-national-cloud#azure-ad-authentication-endpoints). For example, a workforce tenant in global Azure would use "https://sts.windows.net" as its authentication endpoint.
7878

7979
If you need to manually create an app registration in a workforce tenant, follow the [register an application](/entra/identity-platform/quickstart-register-app) quickstart. As you go through the registration process, be sure to note the application (client) ID and client secret values.
8080

articles/app-service/configure-ssl-certificate.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,6 @@ If you use Azure Key Vault to manage your certificates, you can import a PKCS12
136136

137137
By default, the App Service resource provider doesn't have access to your key vault. To use a key vault for a certificate deployment, you must authorize read access for the resource provider (App Service) to the key vault. You can grant access either with access policy or RBAC.
138138

139-
> [!NOTE]
140-
> Currently, the Azure portal does not allow you to configure an App Service certificate in Key Vault to use the RBAC model. You can, however, use Azure CLI, Azure PowerShell, or an ARM template deployment to perform this configuration.
141-
142139
### [RBAC permissions](#tab/RBAC)
143140
| Resource provider | Service principal app ID / assignee | Key vault RBAC role |
144141
|--|--|--|

articles/app-service/deploy-staging-slots.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,13 @@ When you swap two slots (usually from a staging slot *as the source* into the pr
108108
- [Continuous deployment](deploy-continuous-deployment.md) settings, if enabled.
109109
- [App Service authentication](overview-authentication-authorization.md) settings, if enabled.
110110

111-
Any of these cases trigger all instances in the source slot to restart. During [swap with preview](#Multi-Phase), this marks the end of the first phase. The swap operation is paused, and you can validate that the source slot works correctly with the target slot's settings.
111+
When any of the settings is applied to the source slot, the change triggers all instances in the source slot to restart. During [swap with preview](#Multi-Phase), this marks the end of the first phase. The swap operation is paused, and you can validate that the source slot works correctly with the target slot's settings.
112112

113113
1. Wait for every instance in the source slot to complete its restart. If any instance fails to restart, the swap operation reverts all changes to the source slot and stops the operation.
114114

115115
1. If [local cache](overview-local-cache.md) is enabled, trigger local cache initialization by making an HTTP request to the application root ("/") on each instance of the source slot. Wait until each instance returns any HTTP response. Local cache initialization causes another restart on each instance.
116116

117-
1. If [auto swap](#Auto-Swap) is enabled with [custom warm-up](#Warm-up), trigger [Application Initiation](/iis/get-started/whats-new-in-iis-8/iis-80-application-initialization) by making an HTTP request to the application root ("/") on each instance of the source slot.
117+
1. If [auto swap](#Auto-Swap) is enabled with [custom warm-up](#Warm-up), trigger the custom [Application Initiation](/iis/get-started/whats-new-in-iis-8/iis-80-application-initialization) on each instance of the source slot.
118118

119119
If `applicationInitialization` isn't specified, trigger an HTTP request to the application root of the source slot on each instance.
120120

articles/app-service/overview-authentication-authorization.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,19 +157,30 @@ If you don't need to work with tokens in your app, you can disable the token sto
157157

158158
If you [enable application logging](troubleshoot-diagnostic-logs.md), you will see authentication and authorization traces directly in your log files. If you see an authentication error that you didn't expect, you can conveniently find all the details by looking in your existing application logs. If you enable [failed request tracing](troubleshoot-diagnostic-logs.md), you can see exactly what role the authentication and authorization module may have played in a failed request. In the trace logs, look for references to a module named `EasyAuthModule_32/64`.
159159

160-
### Considerations when using Azure Front Door
160+
### Cross-site request forgery mitigation
161161

162-
When using Azure App Service with Easy Auth behind Azure Front Door or other reverse proxies, a few additional things have to be taken into consideration.
162+
App Service authentication mitigates CSRF by inspecting client requests for the following conditions:
163163

164-
1) Disable Caching for the authentication workflow
164+
- It's a POST request that authenticated using a session cookie.
165+
- The request came from a known browser (as determined by the HTTP `User-Agent` header).
166+
- The HTTP `Origin` or HTTP `Referer` header is missing or is not in the configured list of approved external domains for redirection.
167+
- The HTTP `Origin` header is missing or is not in the configured list of CORS origins.
168+
169+
When a request fulfills all these conditions, App Service authentication automatically rejects it. You can workaround this mitigation logic by adding your external domain to the redirect list to **Authentication** > **Edit authentication settings** > **Allowed external redirect URLs**.
170+
171+
## Considerations when using Azure Front Door
172+
173+
When using Azure App Service with authentication behind Azure Front Door or other reverse proxies, a few additional things have to be taken into consideration.
174+
175+
- Disable caching for the authentication workflow.
165176

166177
See [Disable cache for auth workflow](../static-web-apps/front-door-manual.md#disable-cache-for-auth-workflow) to learn more on how to configure rules in Azure Front Door to disable caching for authentication and authorization-related pages.
167178

168-
2) Use the Front Door endpoint for redirects
179+
- Use the Front Door endpoint for redirects.
169180

170181
App Service is usually not accessible directly when exposed via Azure Front Door. This can be prevented, for example, by exposing App Service via Private Link in Azure Front Door Premium. To prevent the authentication workflow to redirect traffic back to App Service directly, it is important to configure the application to redirect back to `https://<front-door-endpoint>/.auth/login/<provider>/callback`.
171182

172-
3) Ensure that App Service is using the right redirect URI
183+
- Ensure that App Service is using the right redirect URI
173184

174185
In some configurations, the App Service is using the App Service FQDN as the redirect URI instead of the Front Door FQDN. This will lead to an issue when the client is being redirected to App Service instead of Front Door. To change that, the `forwardProxy` setting needs to be set to `Standard` to make App Service respect the `X-Forwarded-Host` header set by Azure Front Door.
175186

articles/app-service/overview-managed-identity.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ The principalId is a unique identifier for the identity that's used for Microsof
259259
You may need to configure the target resource to allow access from your app or function. For example, if you [request a token](#connect-to-azure-services-in-app-code) to access Key Vault, you must also add an access policy that includes the managed identity of your app or function. Otherwise, your calls to Key Vault will be rejected, even if you use a valid token. The same is true for Azure SQL Database. To learn more about which resources support Microsoft Entra tokens, see [Azure services that support Microsoft Entra authentication](../active-directory/managed-identities-azure-resources/services-support-managed-identities.md#azure-services-that-support-azure-ad-authentication).
260260

261261
> [!IMPORTANT]
262-
> The back-end services for managed identities maintain a cache per resource URI for around 24 hours. If you update the access policy of a particular target resource and immediately retrieve a token for that resource, you may continue to get a cached token with outdated permissions until that token expires. There's currently no way to force a token refresh.
262+
> The back-end services for managed identities maintain a cache per resource URI for around 24 hours. This means that it can take several hours for changes to a managed identity's group or role membership to take effect. Today, it is not possible to force a managed identity's token to be refreshed before its expiry. If you change a managed identity’s group or role membership to add or remove permissions, you may therefore need to wait several hours for the Azure resource using the identity to have the correct access. For alternatives to groups or role memberships, see [Limitation of using managed identities for authorization](/entra/identity/managed-identities-azure-resources/managed-identity-best-practice-recommendations).
263263
264264
## Connect to Azure services in app code
265265

@@ -269,12 +269,12 @@ App Service and Azure Functions provide an internally accessible [REST endpoint]
269269

270270
# [HTTP GET](#tab/http)
271271

272-
A raw HTTP GET request looks like the following example:
272+
A raw HTTP GET request uses the [two supplied environment variables](#rest-endpoint-reference) and looks like the following example:
273273

274274
```http
275275
GET /MSI/token?resource=https://vault.azure.net&api-version=2019-08-01 HTTP/1.1
276-
Host: localhost:4141
277-
X-IDENTITY-HEADER: 853b9a84-5bfa-4b22-a3f3-0b9a43d9ad8a
276+
Host: <ip-address-:-port-in-IDENTITY_ENDPOINT>
277+
X-IDENTITY-HEADER: <value-of-IDENTITY_HEADER>
278278
```
279279

280280
And a sample response might look like the following:

articles/app-service/reference-app-settings.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Environment variables and app settings reference
33
description: Describes the commonly used environment variables, and which ones can be modified with app settings.
44
ms.topic: article
5-
ms.date: 09/27/2024
5+
ms.date: 10/16/2024
66
author: cephalin
77
ms.author: cephalin
88
---
@@ -375,7 +375,7 @@ WEBSITE_DISABLE_PRELOAD_HANG_MITIGATION
375375
| Setting name| Description | Example |
376376
|-|-|-|
377377
| `WEBSITE_HTTPLOGGING_ENABLED` | Read-only. Shows whether the web server logging for Windows native apps is enabled (`1`) or not (`0`). ||
378-
| `WEBSITE_HTTPLOGGING_RETENTION_DAYS` | Retention period in days of web server logs for Windows native apps, if web server logs are enabled. | `10` |
378+
| `WEBSITE_HTTPLOGGING_RETENTION_DAYS` | Retention period in days of web server logs, if web server logs are enabled for a Windows native or Linux app. | `10` |
379379
| `WEBSITE_HTTPLOGGING_CONTAINER_URL` | SAS URL of the blob storage container to store web server logs for Windows native apps, if web server logs are enabled. If not set, web server logs are stored in the app's file system (default shared storage). | |
380380
| `DIAGNOSTICS_AZUREBLOBRETENTIONINDAYS` | Retention period in days of application logs for Windows native apps, if application logs are enabled. | `10` |
381381
| `DIAGNOSTICS_AZUREBLOBCONTAINERSASURL` | SAS URL of the blob storage container to store application logs for Windows native apps, if application logs are enabled. | |

articles/app-service/tutorial-connect-msi-sql-database.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ The steps you follow for your project depends on whether you're using [Entity Fr
209209
Next, you configure your App Service app to connect to SQL Database with a system-assigned managed identity.
210210
211211
> [!NOTE]
212-
> While the instructions in this section are for a system-assigned identity, a user-assigned identity can just as easily be used. To do this. you would need the change the `az webapp identity assign command` to assign the desired user-assigned identity. Then, when creating the SQL user, make sure to use the name of the user-assigned identity resource rather than the site name.
212+
> The instructions in this section are for a system-assigned identity, To use a user-assigned identity, see [Tutorial: Connect to Azure databases from App Service without secrets using a managed identity](tutorial-connect-msi-azure-database.md).
213213
214214
### Enable managed identity on app
215215

articles/application-gateway/application-gateway-backend-health-troubleshooting.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,14 @@ BackendAddressPools :
4848
BackendAddressPoolsText : [
4949
{
5050
"BackendAddressPool": {
51-
"Id": "/subscriptions/536d30b8-665b-40fc-bd7e-68c65f816365/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appgw1/b
51+
"Id": "/subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appgw1/b
5252
ackendAddressPools/appGatewayBackendPool"
5353
},
5454
"BackendHttpSettingsCollection": [
5555
{
5656
"BackendHttpSettings": {
5757
"TrustedRootCertificates": [],
58-
"Id": "/subscriptions/536d30b8-665b-40fc-bd7e-68c65f816365/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appg
58+
"Id": "/subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appg
5959
w1/backendHttpSettingsCollection/appGatewayBackendHttpSettings"
6060
},
6161
"Servers": [

articles/application-gateway/for-containers/application-gateway-for-containers-components.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: application-gateway
55
author: greglin
66
ms.service: azure-appgw-for-containers
77
ms.topic: conceptual
8-
ms.date: 5/9/2024
8+
ms.date: 10/15/2024
99
ms.author: greglin
1010
---
1111

@@ -100,7 +100,7 @@ Application Gateway for Containers inserts three extra headers to all requests b
100100

101101
**x-forwarded-proto** returns the protocol received by Application Gateway for Containers from the client. The value is either http or https.
102102

103-
**x-request-id** is a unique guid generated by Application Gateway for Containers for each client request and presented in the forwarded request to the backend target. The guid consists of 32 alphanumeric characters, separated by dashes (for example: d23387ab-e629-458a-9c93-6108d374bc75). This guid can be used to correlate a request received by Application Gateway for Containers and initiated to a backend target as defined in access logs.
103+
**x-request-id** is a unique guid generated by Application Gateway for Containers for each client request and presented in the forwarded request to the backend target. The guid consists of 32 alphanumeric characters, separated by dashes (for example: aaaa0000-bb11-2222-33cc-444444dddddd). This guid can be used to correlate a request received by Application Gateway for Containers and initiated to a backend target as defined in access logs.
104104

105105
## Request timeouts
106106

articles/application-gateway/for-containers/quickstart-deploy-application-gateway-for-containers-alb-controller.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ You need to complete the following tasks before deploying Application Gateway fo
141141
ALB Controller can be installed by running the following commands:
142142
143143
```azurecli-interactive
144-
HELM_NAMESPACE='<your cluster name>'
144+
HELM_NAMESPACE='<namespace for deployment>'
145145
CONTROLLER_NAMESPACE='azure-alb-system'
146146
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME
147147
helm install alb-controller oci://mcr.microsoft.com/application-lb/charts/alb-controller \

0 commit comments

Comments
 (0)