You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/app-service/app-service-configuration-references.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,17 +45,17 @@ This configuration applies to all references from this app.
45
45
46
46
## Grant your app access to referenced key vaults
47
47
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's specified in the reference.
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.
49
49
50
50
> [!NOTE]
51
-
> The [App Configuration key vault references concept][app-config-key-vault-references] should not 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.
1. Identify the identity that you used for the App Configuration reference. You must grant vault access to the same identity.
57
57
58
-
1. Create an [access policy in Key Vault](/azure/key-vault/general/security-features#privileged-access) for that identity. Enable the *Get* secret permission on this policy. Do not configure the *authorized application* or the `applicationId` settings because they aren't compatible with a managed identity.
58
+
1. Create an [access policy in Key Vault](/azure/key-vault/general/security-features#privileged-access) for that identity. Enable the *Get* secret permission on this policy. Don't configure the *authorized application* or the `applicationId` settings because they aren't compatible with a managed identity.
59
59
60
60
## Reference syntax
61
61
@@ -84,7 +84,7 @@ Here's an example that doesn't include `Label`:
84
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.
85
85
86
86
> [!NOTE]
87
-
> Automatic refresh and refetch of these values when the key-value pairs have been updated in App Configuration is currently not supported.
87
+
> Automatic refresh and refetch of these values when the key-value pairs are updated in App Configuration currently isn't supported.
88
88
89
89
## Source application settings from App Configuration
90
90
@@ -102,7 +102,7 @@ Apps can use the `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` application setting
102
102
If you use App Configuration references for this setting, this validation check fails by default because the connection itself can't be resolved while the platform processes the incoming request. To avoid this issue, you can skip the validation by setting `WEBSITE_SKIP_CONTENTSHARE_VALIDATION` to `1`. This setting bypasses all checks, and the content share isn't automatically created. You must ensure that the share is created in advance.
103
103
104
104
> [!CAUTION]
105
-
> If you skip validation and either the connection string or the content share are invalid, the app can't start properly and serves only HTTP 500 errors.
105
+
> If you skip validation and either the connection string or the content share is invalid, the app can't start properly and serves only HTTP 500 errors.
106
106
107
107
As part of creating the site, mounting the content share might fail if managed identity permissions aren't propagated or if the virtual network integration isn't set up. You can defer setting up Azure Files until later in the deployment template to accommodate for the required setup. For more information, see [Azure Resource Manager deployment](#azure-resource-manager-deployment). App Service uses only a default file system until Azure Files is set up, and files aren't copied over. Ensure that no deployment attempts occur during the interim period before Azure Files is mounted.
108
108
@@ -241,7 +241,7 @@ Here's a demonstration template for a function app that has App Configuration re
241
241
242
242
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.
243
243
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 does not 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.
Copy file name to clipboardExpand all lines: articles/app-service/configure-authentication-oauth-tokens.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ From your server code, the provider-specific tokens are injected into the reques
30
30
From your client code (such as a mobile app or in-browser JavaScript), send an HTTP `GET` request to `/.auth/me` ([token store](overview-authentication-authorization.md#token-store) must be enabled). The returned JSON has the provider-specific tokens.
31
31
32
32
> [!NOTE]
33
-
> Access tokens are for accessing provider resources, so they are present only if you configure your provider with a client secret. To see how to get refresh tokens, see the next section.
33
+
> Access tokens are for accessing provider resources, so they're present only if you configure your provider with a client secret. To see how to get refresh tokens, see the next section.
34
34
35
35
## Refresh auth tokens
36
36
@@ -75,13 +75,13 @@ function refreshTokens() {
75
75
}
76
76
```
77
77
78
-
If a user revokes the permissions granted to your app, your call to `/.auth/me`may fail with a `403 Forbidden` response. To diagnose errors, check your application logs for details.
78
+
If a user revokes the permissions granted to your app, your call to `/.auth/me`might fail with a `403 Forbidden` response. To diagnose errors, check your application logs for details.
79
79
80
80
## Extend session token expiration grace period
81
81
82
-
The authenticated session expires after 8 hours. After an authenticated session expires, there is a 72-hour grace period by default. Within this grace period, you're allowed to refresh the session token with App Service without reauthenticating the user. You can just call `/.auth/refresh` when your session token becomes invalid, and you don't need to track token expiration yourself. Once the 72-hour grace period lapses, the user must sign in again to get a valid session token.
82
+
The authenticated session expires after 8 hours. After an authenticated session expires, a 72-hour grace period follows by default. Within this grace period, you're allowed to refresh the session token with App Service without reauthenticating the user. You can just call `/.auth/refresh` when your session token becomes invalid, and you don't need to track token expiration yourself. When the 72-hour grace period lapses, the user must sign in again to get a valid session token.
83
83
84
-
If 72 hours isn't enough time for you, you can extend this expiration window. Extending the expiration over a long period could have significant security implications (such as when an authentication token is leaked or stolen). So you should leave it at the default 72 hours or set the extension period to the smallest value.
84
+
If 72 hours isn't enough time for you, you can extend this expiration window. Extending the expiration over a long period could have significant security implications (such as when an authentication token is leaked or stolen). We recommend that you leave the setting at the default 72 hours or set the extension period to the smallest value.
85
85
86
86
To extend the default expiration window, run the following command in the [Cloud Shell](../cloud-shell/overview.md).
> The grace period only applies to the App Service authenticated session, not the tokens from the identity providers. There is no grace period for the expired provider tokens.
93
+
> The grace period only applies to the App Service authenticated session, not the tokens from the identity providers. No grace period exists for expired provider tokens.
Copy file name to clipboardExpand all lines: articles/app-service/overview-security.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,9 +89,9 @@ You can securely access on-premises resources, such as databases, in three ways:
89
89
90
90
## Application secrets
91
91
92
-
Don't store application secrets like database credentials, API tokens, and private keys in your code or configuration files. The commonly accepted approach is to access them as [environment variables](https://wikipedia.org/wiki/Environment_variable) by using the standard pattern in your language of choice. In App Service, the way to define environment variables is through [app settings](configure-common.md#configure-app-settings) (and, especially for .NET applications, [connection strings](configure-common.md#configure-connection-strings)). App settings and connection strings are stored encrypted in Azure, and they're decrypted only before they are injected into your app's process memory when the app starts. The encryption keys are rotated regularly.
92
+
Don't store application secrets like database credentials, API tokens, and private keys in your code or configuration files. The commonly accepted approach is to access them as [environment variables](https://wikipedia.org/wiki/Environment_variable) by using the standard pattern in your language of choice. In App Service, the way to define environment variables is through [app settings](configure-common.md#configure-app-settings) (and, especially for .NET applications, [connection strings](configure-common.md#configure-connection-strings)). App settings and connection strings are stored encrypted in Azure, and they're decrypted only before they're injected into your app's process memory when the app starts. The encryption keys are rotated regularly.
93
93
94
-
Alternatively, you can integrate your App Service app with [Azure Key Vault](/azure/key-vault/) for advanced secrets management. By [accessing the Key Vault with a managed identity](/azure/key-vault/general/tutorial-net-create-vault-azure-web-app), your App Service app can securely access the secrets you need.
94
+
Alternatively, you can integrate your App Service app with [Azure Key Vault](/azure/key-vault/) for advanced secrets management. By [accessing the key vault with a managed identity](/azure/key-vault/general/tutorial-net-create-vault-azure-web-app), your App Service app can securely access the secrets you need.
Copy file name to clipboardExpand all lines: articles/app-service/overview-tls.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,10 +70,10 @@ Azure App Service uses a secure set of TLS 1.2 cipher suites to ensure encrypted
70
70
71
71
### TLS 1.0 and TLS 1.1
72
72
73
-
TLS 1.0 and 1.1 are considered **legacy protocols** and are no longer considered secure. They are supported on App Service only for backward compatibility and should be avoided when possible. The default minimum TLS version for new apps is **TLS 1.2**, and we recommend migrating apps that still use TLS 1.0 or 1.1.
73
+
TLS 1.0 and TLS 1.1 are considered *legacy protocols* and are no longer considered secure. They are supported on App Service only for backward compatibility and should be avoided when possible. The default minimum TLS version for new apps is *TLS 1.2*, and we recommend that you migrate apps that still use TLS 1.0 or TLS 1.1.
74
74
75
75
> [!IMPORTANT]
76
-
> Incoming requests to web apps and incoming requests to Azure are treated differently. App Service will continue to support TLS 1.0 and 1.1 for incoming requests to the web apps. For incoming requests directly to the Azure control plane, for example through ARM or API calls, it's not recommended to use TLS 1.0 or 1.1.
76
+
> Incoming requests to web apps and incoming requests to Azure are treated differently. App Service continues to support TLS 1.0 and TLS 1.1 for incoming requests to the web apps. For incoming requests made directly to the Azure control plane, for example through Azure Resource Manager or API calls, we recommend that you don't use use TLS 1.0 or TLS 1.1.
77
77
78
78
## Minimum TLS cipher suite
79
79
@@ -93,16 +93,16 @@ For App Service Environments (ASE) with the `FrontEndSSLCipherSuiteOrder` cluste
93
93
-`TLS_AES_256_GCM_SHA384`
94
94
-`TLS_AES_128_GCM_SHA256`
95
95
96
-
Once you update your cluster setting, **you must restart your front-end** for the changes to take effect. Also, remember that **you must still include the two required cipher suites as mentioned in the documentation**, even when updating to support TLS 1.3. If you are already using`FrontEndSSLCipherSuiteOrder`, it is **not recommended to also enable Minimum TLS Cipher Suite for your web app**, as this could lead to conflicting configurations. **Only one** of these should be configured for managing cipher suite preferences.
96
+
After you update your cluster setting, *you must restart your frontend* for the changes to take effect. Also, remember that *you must still include the two required cipher suites as mentioned in the documentation*, even when you update to support TLS 1.3. If you already use`FrontEndSSLCipherSuiteOrder`, we *do not recommend that you also enable Minimum TLS Cipher Suite for your web app*. The result might be conflicting configurations. Configure *only one* of these options to manage cipher suite preferences.
97
97
98
98
## End-to-end TLS encryption
99
99
100
100
End-to-end (E2E) TLS encryption ensures that **front-end to worker communication** within Azure App Service is encrypted using TLS. Without this feature, while incoming HTTPS requests are encrypted to the front ends, the traffic from front ends to workers running the application workloads would travel unencrypted inside Azure’s infrastructure.
101
101
102
102
E2E TLS helps ensure **full encryption of traffic** between:
103
103
104
-
- Clients and App Service front ends.
105
-
- App Service front ends and worker processes hosting the application.
104
+
- Clients and App Service front ends
105
+
- App Service front ends and worker processes hosting the application
Copy file name to clipboardExpand all lines: articles/app-service/webjobs-sdk-how-to.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -814,7 +814,7 @@ The Azure Functions documentation provides reference information about each bind
814
814
815
815
For a full list of bindings supported in Azure Functions runtime, see [Supported bindings](../azure-functions/functions-triggers-bindings.md#supported-bindings).
816
816
817
-
## Attributes for Disable, Timeout, and Singleton
817
+
## Attributes: Disable, Timeout, and Singleton
818
818
819
819
With these attributes, you can control function triggering, cancel functions, and ensure that only one instance of a function runs.
820
820
@@ -838,7 +838,7 @@ The attribute can be declared at the parameter, method, or class level. The sett
838
838
839
839
### Timeout attribute
840
840
841
-
The [Timeout](https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft.Azure.WebJobs/TimeoutAttribute.cs) attribute causes a function to be canceled if it doesn't finish within a specified amount of time. In the following example, the function would run for one day without the `Timeout` attribute. Timeout causes the function to be canceled after 15 seconds. When the `Timeout` attribute's`throwOnError` parameter is set to `true`, the function invocation is terminated by having an exception thrown by the webjobs SDK when the timeout interval is exceeded. The default value of `throwOnError` is `false`. When the `Timeout` attribute is used, the default behavior is to cancel the function invocation by setting the cancellation token while allowing the invocation to run indefinitely until the function code returns or throws an exception.
841
+
The [Timeout](https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft.Azure.WebJobs/TimeoutAttribute.cs) attribute causes a function to be canceled if it doesn't finish within a specified amount of time. In the following example, the function would run for one day without the `Timeout` attribute. Time-out causes the function to be canceled after 15 seconds. When the `Timeout` attribute `throwOnError` parameter is set to `true`, the function invocation is terminated by having an exception thrown by the webjobs SDK when the time-out interval is exceeded. The default value of `throwOnError` is `false`. When the `Timeout` attribute is used, the default behavior is to cancel the function invocation by setting the cancellation token while allowing the invocation to run indefinitely until the function code returns or throws an exception.
842
842
843
843
```csharp
844
844
[Timeout("00:00:15")]
@@ -853,7 +853,7 @@ public static async Task TimeoutJob(
853
853
}
854
854
```
855
855
856
-
You can apply the `Timeout` attribute at the class or method level, and you can specify a global timeout by using `JobHostConfiguration.FunctionTimeout`. Class-level or method-level timeouts override global timeouts.
856
+
You can apply the `Timeout` attribute at the class or method level, and you can specify a global time-out by using `JobHostConfiguration.FunctionTimeout`. Class-level or method-level time-outs override global time-outs.
Copy file name to clipboardExpand all lines: includes/app-service-ssl-prepare-app.md
+3-5Lines changed: 3 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,8 @@
1
1
---
2
-
title: "include file"
3
-
description: "include file"
4
2
services: app-service
5
3
author: cephalin
6
4
ms.service: azure-app-service
7
-
ms.topic: "include"
5
+
ms.topic: include
8
6
ms.date: 10/15/2018
9
7
ms.author: cephalin
10
8
ms.custom: "include file"
@@ -30,9 +28,9 @@ To create custom TLS/SSL bindings or enable client certificates for your App Ser
30
28
31
29
1. On the resource menu for your web app, in the **Settings** section, select **Scale up (App Service plan)**.
32
30
33
-

31
+

34
32
35
-
1. Make sure that your web app isn't in the **F1** or **D1** tier, which don't support custom TLS/SSL.
33
+
1. Make sure that your web app isn't in the **F1** or **D1** tier. These tiers don't support custom TLS/SSL.
36
34
37
35
1. If you need to scale up, follow the steps in the next section. Otherwise, close the **Scale up** pane, and skip the [Scale up your App Service plan section](#scale-up-your-app-service-plan).
0 commit comments