Skip to content

Commit 2720129

Browse files
committed
edits
1 parent daf48bc commit 2720129

9 files changed

+95
-91
lines changed

articles/app-service/app-service-configuration-references.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Use App Configuration References
3-
description: Learn how to set up Azure App Service and Azure Functions to use Azure App Configuration references. Make App Configuration key-value pairs available to your application code without changing it.
3+
description: Learn how to set up Azure App Service and Azure Functions to use Azure App Configuration references. Make App Configuration key/value pairs available to your application code without changing it.
44
author: muksvso
55

66
ms.topic: how-to
@@ -15,7 +15,7 @@ This article shows you how to work with configuration data in your Azure App Ser
1515

1616
## Grant app access to App Configuration
1717

18-
To get started with using App Configuration references in App Service, first you create an App Configuration store. Then, you grant permissions to your app to access the configuration key-value pairs that are in the store.
18+
To get started with using App Configuration references in App Service, first you create an App Configuration store. Then, you grant permissions to your app to access the configuration key/value pairs that are in the store.
1919

2020
1. To create an App Configuration store, complete the [App Configuration quickstart](../azure-app-configuration/quickstart-azure-app-configuration-create.md).
2121

@@ -45,10 +45,10 @@ This configuration applies to all references from this app.
4545
4646
## Grant your app access to referenced key vaults
4747
48-
In addition to storing raw configuration values, Azure App Configuration has its own format for storing [key vault references][app-config-key-vault-references]. If the value of an App Configuration reference is a key vault reference in the App Configuration store, your app also must have permissions to access the key vault that is specified in the reference.
48+
In addition to storing raw configuration values, Azure App Configuration has its own format for storing [Azure Key Vault references][app-config-key-vault-references]. If the value of an App Configuration reference is a Key Vault reference in the App Configuration store, your app also must have permissions to access the key vault that is specified in the reference.
4949
5050
> [!NOTE]
51-
> The [App Configuration key vault references concept][app-config-key-vault-references] shouldn't be confused with [the App Service and Azure Functions key vault references concept][app-service-key-vault-references]. Your app can use any combination of these references, but there are some important differences. If your vault needs to be network restricted or if you need the app to periodically update to latest versions, consider using the App Service and Azure Functions direct approach instead of using an App Configuration reference.
51+
> The [App Configuration Key Vault references concept][app-config-key-vault-references] shouldn't be confused with [the App Service and Azure Functions Key Vault references concept][app-service-key-vault-references]. Your app can use any combination of these references, but there are some important differences. If your vault needs to be network restricted or if you need the app to periodically update to latest versions, consider using the App Service and Azure Functions direct approach instead of using an App Configuration reference.
5252
5353
[app-config-key-vault-references]: ../azure-app-configuration/use-key-vault-references-dotnet-core.md
5454
[app-service-key-vault-references]: app-service-key-vault-references.md
@@ -81,14 +81,14 @@ Here's an example that doesn't include `Label`:
8181
@Microsoft.AppConfiguration(Endpoint=https://myAppConfigStore.azconfig.io; Key=myAppConfigKey)​
8282
```
8383

84-
Any configuration change to the app that results in a site restart causes an immediate refetch of all referenced key-value pairs from the App Configuration store.
84+
Any configuration change to the app that results in a site restart causes an immediate refetch of all referenced key/value pairs from the App Configuration store.
8585

8686
> [!NOTE]
87-
> Automatic refresh and refetch of these values when the key-value pairs are updated in App Configuration currently isn't supported.
87+
> Automatic refresh and refetch of these values when the key/value pairs are updated in App Configuration currently isn't supported.
8888
8989
## Source application settings from App Configuration
9090

91-
You can use App Configuration references as values for [application settings](configure-common.md#configure-app-settings), so you can keep configuration data in App Configuration instead of in the site configuration settings. Application settings and App Configuration key-value pairs both are securely encrypted at rest. If you need centralized configuration management capabilities, add configuration data to App Configuration.
91+
You can use App Configuration references as values for [application settings](configure-common.md#configure-app-settings), so you can keep configuration data in App Configuration instead of in the site configuration settings. Application settings and App Configuration key/value pairs both are securely encrypted at rest. If you need centralized configuration management capabilities, add configuration data to App Configuration.
9292

9393
To use an App Configuration reference for an [app setting](configure-common.md#configure-app-settings), set the reference as the value of the setting. Your app can reference the Configuration value through its key as usual. No code changes are required.
9494

@@ -241,7 +241,7 @@ Here's a demonstration template for a function app that has App Configuration re
241241

242242
If a reference isn't resolved properly, the reference value is used instead. For an application setting in this scenario, an environment variable that uses the syntax `@Microsoft.AppConfiguration(...)` is created. The reference might cause an error because the application was expecting a configuration value.
243243

244-
This error most commonly is the result of a misconfiguration of the [App Configuration access policy](#grant-app-access-to-app-configuration). But it also might occur if there's a syntax error in the reference or if the configuration key-value pair doesn't exist in the store.
244+
This error most commonly is the result of a misconfiguration of the [App Configuration access policy](#grant-app-access-to-app-configuration). But it also might occur if there's a syntax error in the reference or if the configuration key/value pair doesn't exist in the store.
245245

246246
## Related content
247247

articles/app-service/app-service-web-configure-tls-mutual-auth.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Set Up TLS Mutual Authentication
3+
titleSuffix: Azure App Service
34
description: Learn how to set up TLS mutual authentication in Azure App Service to help secure two-way communication between client and server.
45
keywords: TLS mutual authentication, Azure App Service security, secure client-server communication
56
author: msangapu-msft
@@ -32,7 +33,7 @@ When you enable client certificates for your app, you should select your choice
3233

3334
### [Azure portal](#tab/azureportal)
3435

35-
To set up your app to require client certificates in the Azure portal:
36+
To use the Azure portal to set up your app to require client certificates:
3637

3738
1. Go to your app management page.
3839
1. On the left menu, select **Configuration** > **General Settings**.
@@ -41,15 +42,17 @@ To set up your app to require client certificates in the Azure portal:
4142

4243
### [Azure CLI](#tab/azurecli)
4344

44-
With the Azure CLI, run the following command in the [Cloud Shell](https://shell.azure.com):
45+
To use the Azure CLI, run the following command in the [Cloud Shell](https://shell.azure.com):
4546

4647
```azurecli-interactive
4748
az webapp update --set clientCertEnabled=true --name <app-name> --resource-group <group-name>
4849
```
4950

5051
### [Bicep](#tab/bicep)
5152

52-
For Bicep, modify the properties `clientCertEnabled`, `clientCertMode`, and `clientCertExclusionPaths`. A sample Bicep snippet is provided for you:
53+
For Bicep, modify the `clientCertEnabled`, `clientCertMode`, and `clientCertExclusionPaths` properties.
54+
55+
Here's a sample Bicep snippet:
5356

5457
```bicep
5558
resource appService 'Microsoft.Web/sites@2020-06-01' = {
@@ -70,9 +73,11 @@ resource appService 'Microsoft.Web/sites@2020-06-01' = {
7073

7174
### [ARM template](#tab/arm)
7275

73-
For Azure Resource Manager templates (ARM templates), modify the properties `clientCertEnabled`, `clientCertMode`, and `clientCertExclusionPaths`. A sample ARM template snippet is provided for you:
76+
For Azure Resource Manager templates (ARM templates), modify the `clientCertEnabled`, `clientCertMode`, and `clientCertExclusionPaths` properties.
77+
78+
Here's a sample ARM template snippet:
7479

75-
```ARM
80+
```json
7681
{
7782
"type": "Microsoft.Web/sites",
7883
"apiVersion": "2020-06-01",
@@ -97,7 +102,7 @@ For Azure Resource Manager templates (ARM templates), modify the properties `cli
97102

98103
## Exclude paths from requiring authentication
99104

100-
When you enable mutual auth for your application, all paths under the root of your app require a client certificate for access. To remove this requirement for certain paths, define exclusion paths as part of your application configuration.
105+
When you enable mutual authentication for your application, all paths under the root of your app require a client certificate for access. To remove this requirement for certain paths, define exclusion paths as part of your application configuration.
101106

102107
> [!NOTE]
103108
> Using any client certificate exclusion path triggers TLS renegotiation for incoming requests to the app.
@@ -147,7 +152,7 @@ In App Service, TLS termination of the request happens at the front-end load bal
147152

148153
For ASP.NET, the client certificate is available through the `HttpRequest.ClientCertificate` property.
149154

150-
For other application stacks (Node.js, PHP), the client cert is available in your app through a base64-encoded value in the `X-ARR-ClientCert` request header.
155+
For other application stacks (Node.js, PHP), the client certificate is available in your app through a Base64-encoded value in the `X-ARR-ClientCert` request header.
151156

152157
## ASP.NET Core sample
153158

@@ -342,7 +347,7 @@ public class Startup
342347

343348
## Node.js sample
344349

345-
The following Node.js sample code gets the `X-ARR-ClientCert` header and uses [node-forge](https://github.com/digitalbazaar/forge) to convert the base64-encoded Privacy Enhanced Mail (PEM) string into a certificate object and validate it:
350+
The following Node.js sample code gets the `X-ARR-ClientCert` header and uses [node-forge](https://github.com/digitalbazaar/forge) to convert the Base64-encoded Privacy Enhanced Mail (PEM) string into a certificate object and validate it:
346351

347352
```javascript
348353
import { NextFunction, Request, Response } from 'express';
@@ -612,7 +617,7 @@ def authorize_certificate(view):
612617
return _wrapped_view
613618
```
614619

615-
The following code snippet shows how to use the decorator on a Django view function.
620+
The following code snippet shows how to use the decorator on a Django view function:
616621

617622
```python
618623
@authorize_certificate
@@ -622,4 +627,3 @@ def hellocert(request):
622627
```
623628

624629
---
625-

articles/app-service/configure-authentication-user-identities.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Some example headers are described in the following table:
2020

2121
| Header | Description |
2222
|------------------------------|-----------------------------------------------------------------------|
23-
| `X-MS-CLIENT-PRINCIPAL` | A base64-encoded JSON representation of available claims. For more information, see [Decode the client principal header](#decode-the-client-principal-header). |
23+
| `X-MS-CLIENT-PRINCIPAL` | A Base64-encoded JSON representation of available claims. For more information, see [Decode the client principal header](#decode-the-client-principal-header). |
2424
| `X-MS-CLIENT-PRINCIPAL-ID` | An identifier for the caller, which the identity provider sets. |
2525
| `X-MS-CLIENT-PRINCIPAL-NAME` | A human-readable name for the caller, set by the identity provider, such as an email address or a user principal name. |
2626
| `X-MS-CLIENT-PRINCIPAL-IDP` | The name of the identity provider that App Service authentication uses. |
@@ -34,7 +34,7 @@ Code that is written in any language or framework can get the information that i
3434

3535
### Decode the client principal header
3636

37-
`X-MS-CLIENT-PRINCIPAL` contains the full set of available claims as base64-encoded JSON. These claims go through a default claims-mapping process, so some might have different names than you would see if you processed the token directly.
37+
`X-MS-CLIENT-PRINCIPAL` contains the full set of available claims as Base64-encoded JSON. These claims go through a default claims-mapping process, so some might have different names than you would see if you processed the token directly.
3838

3939
Here's how the decoded payload is structured:
4040

@@ -61,7 +61,7 @@ Here's how the decoded payload is structured:
6161
| `name_typ` | string | The name claim type, which is typically a URI that provides scheme information about the `name` claim if one is defined. |
6262
| `role_typ` | string | The role claim type, which is typically a URI that provides scheme information about the `role` claim if one is defined. |
6363

64-
To process this header, your app must decode the payload and iterate through the `claims` array to find relevant claims. It might be convenient to convert claims into a representation that the app's language framework uses. Here's an example of this process in C# that constructs a [ClaimsPrincipal](/dotnet/api/system.security.claims.claimsprincipal) type for the app to use:
64+
To process this header, your app must decode the payload and iterate through the `claims` array to find relevant claims. It might be convenient to convert claims into a representation that the app's language framework uses. Here's an example of this process in C# that constructs a [`ClaimsPrincipal`](/dotnet/api/system.security.claims.claimsprincipal) type for the app to use:
6565

6666
```csharp
6767
using System;
@@ -127,11 +127,11 @@ public static class ClaimsPrincipalParser
127127

128128
### Framework-specific alternatives
129129

130-
For ASP.NET 4.6 apps, App Service populates [ClaimsPrincipal.Current](/dotnet/api/system.security.claims.claimsprincipal.current) with the authenticated user's claims. You can follow the standard .NET code pattern, including the `[Authorize]` attribute. Similarly, for PHP apps, App Service populates the `_SERVER['REMOTE_USER']` variable. For Java apps, the claims are [accessible from the Tomcat servlet](configure-language-java-security.md#authenticate-users-easy-auth).
130+
For ASP.NET 4.6 apps, App Service populates [`ClaimsPrincipal.Current`](/dotnet/api/system.security.claims.claimsprincipal.current) with the authenticated user's claims. You can follow the standard .NET code pattern, including the [`Authorize`] attribute. Similarly, for PHP apps, App Service populates the `_SERVER['REMOTE_USER']` variable. For Java apps, the claims are [accessible from the Tomcat servlet](configure-language-java-security.md#authenticate-users-easy-auth).
131131

132132
For [Azure Functions](../azure-functions/functions-overview.md), `ClaimsPrincipal.Current` isn't populated for .NET code, but you can still find the user claims in the request headers, or get the `ClaimsPrincipal` object from the request context or even through a binding parameter. For more information, see [Work with client identities in Azure Functions](../azure-functions/functions-bindings-http-webhook-trigger.md#working-with-client-identities).
133133

134-
For .NET Core, [Microsoft.Identity.Web](https://www.nuget.org/packages/Microsoft.Identity.Web/) supports populating the current user with App Service authentication. To learn more, review the [Microsoft.Identity.Web wiki](https://github.com/AzureAD/microsoft-identity-web/wiki/1.2.0#integration-with-azure-app-services-authentication-of-web-apps-running-with-microsoftidentityweb) or see it demonstrated in [this tutorial for a web app accessing Microsoft Graph](./scenario-secure-app-access-microsoft-graph-as-user.md?tabs=command-line#install-client-library-packages).
134+
For .NET Core, [`Microsoft.Identity.Web`](https://www.nuget.org/packages/Microsoft.Identity.Web/) supports populating the current user with App Service authentication. To learn more, review the [Microsoft.Identity.Web wiki](https://github.com/AzureAD/microsoft-identity-web/wiki/1.2.0#integration-with-azure-app-services-authentication-of-web-apps-running-with-microsoftidentityweb) or see it demonstrated in [this tutorial for a web app accessing Microsoft Graph](./scenario-secure-app-access-microsoft-graph-as-user.md?tabs=command-line#install-client-library-packages).
135135

136136
> [!NOTE]
137137
> For claims mapping to work, you must enable the [token store](overview-authentication-authorization.md#token-store).

articles/app-service/deploy-local-git.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Deploy From a Local Git Repository
2+
title: Deploy from a Local Git Repository
33
description: Learn how to enable local Git deployment to Azure App Service. One of the simplest ways to deploy code is from your local computer.
44
ms.topic: how-to
55
ms.date: 02/29/2024
@@ -45,7 +45,7 @@ Run [az webapp create](/cli/azure/webapp#az-webapp-create) with the `--deploymen
4545

4646
For example:
4747

48-
```azurecli-interactive
48+
```azurecli
4949
az webapp create --resource-group <group-name> --plan <plan-name> --name <app-name> --runtime "<runtime-flag>" --deployment-local-git
5050
```
5151

@@ -57,7 +57,7 @@ Run [New-AzWebApp](/powershell/module/az.websites/new-azwebapp) from the root of
5757

5858
For example:
5959

60-
```azurepowershell-interactive
60+
```azurepowershell
6161
New-AzWebApp -Name <app-name>
6262
```
6363

@@ -79,7 +79,7 @@ Run [az webapp deployment source config-local-git](/cli/azure/webapp/deployment/
7979

8080
For example:
8181

82-
```azurecli-interactive
82+
```azurecli
8383
az webapp deployment source config-local-git --name <app-name> --resource-group <group-name>
8484
```
8585

@@ -92,7 +92,7 @@ The output contains a URL like the example `https://<deployment-username>@<app-n
9292

9393
Set the `scmType` of your app by running the [Set-AzResource](/powershell/module/az.resources/set-azresource) cmdlet.
9494

95-
```powershell-interactive
95+
```azurepowershell
9696
$PropertiesObject = @{
9797
scmType = "LocalGit";
9898
}
@@ -109,7 +109,7 @@ Set-AzResource -PropertyObject $PropertiesObject -ResourceGroupName <group-name>
109109
1. On the resource menu, select **Deployment Center** > **Settings**.
110110
1. For **Source**, select **Local Git**, and then select **Save**.
111111

112-
![Screenshot that shows how to enable local Git deployment for App Service in the Azure portal.](./media/deploy-local-git/enable-portal.png)
112+
:::image type="content" source="media/deploy-local-git/enable-portal.png" alt-text="Screenshot that shows how to enable local Git deployment for App Service in the Azure portal.":::
113113

114114
1. In the **Local Git** section, copy the value for **Git Clone Uri** to use later. This URI doesn't contain any sign-in information.
115115

@@ -154,7 +154,7 @@ When you push commits to your App Service repository, App Service deploys the fi
154154

155155
To do it by using the Azure CLI:
156156

157-
```azurecli-interactive
157+
```azurecli
158158
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main'
159159
git push azure main
160160
```
-359 Bytes
Loading

articles/app-service/overview-app-gateway-integration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Application Gateway Integration Overview
2+
title: What Is Application Gateway Integration?
33
description: Learn how Azure Application Gateway integrates with Azure App Service.
44
services: app-service
55
author: madsd
@@ -11,7 +11,7 @@ ms.custom: devx-track-azurecli, devx-track-arm-template
1111
ms.devlang: azurecli
1212
---
1313

14-
# Application Gateway integration with Azure App Service overview
14+
# What is Application Gateway integration with Azure App Service?
1515

1616
This article describes how to configure Azure Application Gateway with Azure App Service by using private endpoints to secure traffic. The article also discusses considerations for using service endpoints and integrating with internal and external App Service Environments. The article describes how to set access restrictions on a Source Control Manager (SCM) site.
1717

0 commit comments

Comments
 (0)