Skip to content

Commit 2b0f300

Browse files
authored
Merge pull request #288539 from MicrosoftDocs/main
10/16/2024 AM Publish
2 parents f9874b4 + 6c5ed78 commit 2b0f300

27 files changed

+133
-102
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/deploy-staging-slots.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ When you swap two slots (usually from a staging slot *as the source* into the pr
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/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/azure-boost/includes/azure-boost-series.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ ms.custom:
1717
| [Mbdsv3](/azure/virtual-machines/sizes/memory-optimized/mbsv3-mbdsv3-series) | Memory Optimized | Preview |
1818
| [Easv6](/azure/virtual-machines/sizes/memory-optimized/easv6-series) | Memory Optimized | Preview |
1919
| [Eadsv6](/azure/virtual-machines/sizes/memory-optimized/eadsv6-series) | Memory Optimized | Preview |
20-
| [Epdsv6](/azure/virtual-machines/sizes/memory-optimized/epdsv6-series) | Memory Optimized | Preview |
21-
| [Epsv6](/azure/virtual-machines/sizes/memory-optimized/epsv6-series) | Memory Optimized | Preview |
20+
| [Epdsv6](/azure/virtual-machines/sizes/memory-optimized/epdsv6-series) | Memory Optimized | Production |
21+
| [Epsv6](/azure/virtual-machines/sizes/memory-optimized/epsv6-series) | Memory Optimized | Production |
2222
| [ECesv5/ECedsv5](/azure/virtual-machines/ecesv5-ecedsv5-series) | Memory Optimized | Preview |
2323
| [Dsv6](/azure/virtual-machines/sizes/general-purpose/dsv6-series) | General Purpose | Preview |
2424
| [Dldsv6](/azure/virtual-machines/sizes/general-purpose/dldsv6-series) | General Purpose | Preview |
@@ -29,12 +29,12 @@ ms.custom:
2929
| [Dalsv6](/azure/virtual-machines/sizes/general-purpose/dalsv6-series) | General Purpose | Preview |
3030
| [Daldsv6](/azure/virtual-machines/sizes/general-purpose/daldsv6-series) | General Purpose | Preview |
3131
| [Dadsv6](/azure/virtual-machines/sizes/general-purpose/dadsv6-series) | General Purpose | Preview |
32-
| [Dpsv6](/azure/virtual-machines/sizes/general-purpose/dpsv6-series) | General Purpose | Preview |
33-
| [Dplsv6](/azure/virtual-machines/sizes/general-purpose/dplsv6-series) | General Purpose | Preview |
32+
| [Dpsv6](/azure/virtual-machines/sizes/general-purpose/dpsv6-series) | General Purpose | Production |
33+
| [Dplsv6](/azure/virtual-machines/sizes/general-purpose/dplsv6-series) | General Purpose | Production |
3434
| [Ddsv6](/azure/virtual-machines/sizes/general-purpose/ddsv6-series) | General Purpose | Preview |
3535
| [Dlsv6](/azure/virtual-machines/sizes/general-purpose/dlsv6-series) | General Purpose | Preview |
36-
| [Dpdsv6](/azure/virtual-machines/sizes/general-purpose/dpdsv6-series) | General Purpose | Preview |
37-
| [Dpldsv6](/azure/virtual-machines/sizes/general-purpose/dpldsv6-series) | General Purpose | Preview |
36+
| [Dpdsv6](/azure/virtual-machines/sizes/general-purpose/dpdsv6-series) | General Purpose | Production |
37+
| [Dpldsv6](/azure/virtual-machines/sizes/general-purpose/dpldsv6-series) | General Purpose | Production |
3838
| [Nvadsv5](/azure/virtual-machines/sizes/gpu-accelerated/nvadsa10v5-series) | GPU/AI workload optimized | Production |
3939
| [Msv3](/azure/virtual-machines/msv3-mdsv3-medium-series) | Memory Optimized | Production |
4040
| [Mdsv3](/azure/virtual-machines/msv3-mdsv3-medium-series) | Memory Optimized | Production |
@@ -69,4 +69,4 @@ ms.custom:
6969
| [Ddsv5](/azure/virtual-machines/sizes/general-purpose/ddsv5-series) | General Purpose | Production|
7070
| [DCdsv3](/azure/virtual-machines/sizes/general-purpose/dcdsv3-series) | General Purpose | Production |
7171
| [Bsv2](/azure/virtual-machines/sizes/general-purpose/bsv2-series) | General Purpose | Production |
72-
| [Bpsv2](/azure/virtual-machines/sizes/general-purpose/bpsv2-series) | General Purpose | Production |
72+
| [Bpsv2](/azure/virtual-machines/sizes/general-purpose/bpsv2-series) | General Purpose | Production |

articles/azure-web-pubsub/howto-authorize-from-application.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Authorize an application request by using Microsoft Entra ID
33
description: Learn how to authorize an application request to Web PubSub resources by using Microsoft Entra ID.
44
author: terencefan
55
ms.author: tefa
6-
ms.date: 09/06/2024
6+
ms.date: 10/12/2024
77
ms.service: azure-web-pubsub
88
ms.topic: conceptual
99
---
@@ -50,7 +50,7 @@ To create a client secret:
5050
:::image type="content" source="media/howto-authorize-from-application/new-client-secret.png" alt-text="Screenshot that shows creating a client secret.":::
5151

5252
1. Enter a description for the client secret, and then choose an **Expires** time for the secret.
53-
1. Copy the value of the client secret, and then paste it to a secure location to save for later use.
53+
1. Copy the value of the client secret and paste it in a secure location for later use.
5454

5555
> [!NOTE]
5656
> The secret is visible only when you create the secret. You can't view the client secret in the portal later.

articles/azure-web-pubsub/resource-faq.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,32 @@ author: yjin81
55
ms.author: yajin1
66
ms.service: azure-web-pubsub
77
ms.topic: overview
8-
ms.date: 03/21/2023
8+
ms.date: 09/18/2024
99
---
1010

1111
# Azure Web PubSub service FAQ
1212

13-
This is the FAQ of Azure Web PubSub service.
13+
Here are some frequently asked questions (FAQs) for the Azure Web PubSub service.
1414

1515
## Is Azure Web PubSub service ready for production use?
1616
Yes, Azure Web PubSub service is generally available.
1717

1818
## How do I choose between Azure SignalR Service and Azure Web PubSub service?
1919

20-
Both [Azure SignalR Service](https://azure.microsoft.com/services/signalr-service) and [Azure Web PubSub service](https://azure.microsoft.com/services/web-pubsub) help customers build real-time web applications easily with large scale and high availability and enable customers to focus on their business logic instead of managing the messaging infrastructure. In general, you may choose Azure SignalR Service if you already use SignalR library to build real-time application. Instead, if you're looking for a generic solution to build real-time application based on WebSocket and publish-subscribe pattern, you may choose Azure Web PubSub service. The Azure Web PubSub service is **not** a replacement for Azure SignalR Service. They're targeting different scenarios.
20+
Both [Azure SignalR Service](https://azure.microsoft.com/services/signalr-service) and [Azure Web PubSub service](https://azure.microsoft.com/services/web-pubsub) help customers build real-time web applications easily with large scale and high availability and enable customers to focus on their business logic instead of managing the messaging infrastructure. In general, you might choose Azure SignalR Service if you already use SignalR library to build real-time application. Instead, if you're looking for a generic solution to build real-time application based on WebSocket and publish-subscribe pattern, you might choose Azure Web PubSub service. The Azure Web PubSub service is **not** a replacement for Azure SignalR Service. They're targeting different scenarios.
2121

2222
Azure SignalR Service is more suitable if:
2323

2424
- You're already using ASP.NET or ASP.NET Core SignalR, primarily using .NET or need to integrate with .NET ecosystem (like Blazor).
25-
- There's a SignalR client available for your platform.
26-
- You need an established protocol that supports a wide variety of calling patterns (RPC and streaming), transports (WebSocket, server sent events, and long polling) and with a client that manages the connection lifetime on your behalf.
25+
- You're having a SignalR client available for your platform.
26+
- You're in need of an established protocol that supports a wide variety of calling patterns, such as Remote Procedure Call (RPC) and streaming. It should also support various transports, including WebSocket, server-sent events, and long polling, along with a client that manages the connection lifetime on your behalf.
2727

2828
Azure Web PubSub service is more suitable for situations where:
2929

3030
- You need to build real-time applications based on WebSocket technology or publish-subscribe over WebSocket.
3131
- You want to build your own subprotocol or use existing advanced sub-protocols over WebSocket (for example, [GraphQL subscriptions over WebSocket](https://github.com/Azure/azure-webpubsub/tree/main/experimental/sdk/webpubsub-graphql-subscribe)).
32-
- You're looking for a lightweight server, for example, sending messages to client without going through the configured backend.
32+
- You look for a lightweight server, for example, sending messages to client without going through the configured backend.
3333

3434
## Where does my data reside?
3535

36-
Azure Web PubSub does not store any customer data. If you use Azure Web PubSub service together with other Azure services, like Azure Storage for diagnostics, see [Azure Privacy Overview (white paper)](https://go.microsoft.com/fwlink/p/?linkid=2220836) for guidance about how to keep data residency in Azure regions.
36+
Azure Web PubSub doesn't store any customer data. If you use Azure Web PubSub service together with other Azure services, like Azure Storage for diagnostics, see [Azure Privacy Overview (white paper)](https://go.microsoft.com/fwlink/p/?linkid=2220836) for guidance about how to keep data residency in Azure regions.

articles/backup/backup-azure-policy-supported-skus.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Supported VM SKUs for Azure Policy
33
description: 'An article describing the supported VM SKUs (by Publisher, Image Offer and Image SKU) which are supported for the built-in Azure Policies provided by Backup'
44
ms.topic: reference
5-
ms.date: 09/11/2024
5+
ms.date: 10/16/2024
66
ms.service: azure-backup
77
author: AbhishekMallick-MS
88
ms.author: v-abhmallick
@@ -105,3 +105,6 @@ OpenLogic | CentOS | 6.X, 7.X
105105
OpenLogic | CentOS–LVM | 6.X, 7.X
106106
OpenLogic | CentOS–SRIOV | 6.X, 7.X
107107
cloudera | cloudera-centos-os | 7.X
108+
109+
>[!Caution]
110+
>CentOS is end-of-life. [Learn more](/azure/virtual-machines/workloads/centos/centos-end-of-life).

articles/backup/backup-azure-restore-files-from-vm.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Recover files and folders from Azure VM backup
33
description: In this article, learn how to recover files and folders from an Azure virtual machine recovery point.
44
ms.topic: how-to
5-
ms.date: 04/12/2024
5+
ms.date: 10/16/2024
66
ms.custom: references_regions
77
ms.service: azure-backup
88
author: AbhishekMallick-MS
@@ -117,6 +117,9 @@ In Linux, the OS of the computer used to restore files must support the file sys
117117
| SLES | 12 and above |
118118
| openSUSE | 42.2 and above |
119119

120+
>[!Caution]
121+
>CentOS is end-of-life. [Learn more](/azure/virtual-machines/workloads/centos/centos-end-of-life).
122+
120123
### Additional components
121124

122125
The script also requires Python and bash components to execute and connect securely to the recovery point.

0 commit comments

Comments
 (0)