Skip to content

Commit 7f24885

Browse files
authored
Merge pull request #99536 from MicrosoftDocs/master
Merge Master to Live, 3 AM
2 parents 96fdc97 + a4810b7 commit 7f24885

File tree

113 files changed

+1311
-475
lines changed

Some content is hidden

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

113 files changed

+1311
-475
lines changed

articles/active-directory/saas-apps/kerbf5-tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ This adds the new Active Directory server to the Active Directory Servers list.
371371
>[!Note]
372372
> You will need the Kerberos Delegation Account to be created and specified. Refer KCD Section (Refer Appendix for Variable References)
373373
374-
* **Username Source**: session.saml.last.attr.name.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
374+
* **Username Source**: session.saml.last.attr.name.http:\//schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
375375

376376
* **User Realm Source**: session.logon.last.domain
377377

12.6 KB
Loading

articles/active-directory/saas-apps/productboard-tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ To configure and test Azure AD SSO with productboard, complete the following bui
6565
* **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with B.Simon.
6666
* **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable B.Simon to use Azure AD single sign-on.
6767
1. **[Configure productboard SSO](#configure-productboard-sso)** - to configure the single sign-on settings on application side.
68-
* **[Create productboard test user](#create-productboard-test-user)** - to have a counterpart of B.Simon in EZOfficeInventory that is linked to the Azure AD representation of user.
68+
* **[Create productboard test user](#create-productboard-test-user)** - to have a counterpart of B.Simon in productboard that is linked to the Azure AD representation of user.
6969
1. **[Test SSO](#test-sso)** - to verify whether the configuration works.
7070

7171
### Configure Azure AD SSO

articles/api-management/api-management-howto-protect-backend-with-aad.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ To protect an API with Azure AD, the first step is to register an application in
5757

5858
1. On the app **Overview** page, find the **Application (client) ID** value and record it for later.
5959

60-
When the application is created, make a note of the **Application ID**, for use in a subsequent step.
61-
62-
1. Select **Expose an API** and click on **Save and continue** to create an Application ID URI.
60+
1. Select **Expose an API** and set the **Application ID URI** with the default value. Record this value for later.
6361

6462
1. In the **Add a scope** page, create a new scope supported by the API. (e.g., Read) then click on *Add scope* to create the scope. Repeat this step to add all scopes supported by your API.
6563

@@ -200,7 +198,7 @@ You can use the [Validate JWT](api-management-access-restriction-policies.md#Val
200198
<openid-config url="https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration" />
201199
<required-claims>
202200
<claim name="aud">
203-
<value>{Application ID of backend-app}</value>
201+
<value>{Application ID URI of backend-app}</value>
204202
</claim>
205203
</required-claims>
206204
</validate-jwt>

articles/app-service/app-service-ip-restrictions.md

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Restrict access for IP addresses
3-
description: Learn how to secure your app in Azure App Service by explicitly whitelisting client IP addresses or address ranges.
2+
title: Azure App Service access restrictions
3+
description: Learn how to secure your app in Azure App Service by specifying access restrictions.
44
author: ccompy
55

66
ms.assetid: 3be1f4bd-8a81-4565-8a56-528c037b24bd
@@ -12,19 +12,19 @@ ms.custom: seodec18
1212
---
1313
# Azure App Service Access Restrictions #
1414

15-
Access Restrictions enable you to define a priority ordered allow/deny list that controls network access to your app. The list can include IP addresses or Azure Virtual Network subnets. When there are one or more entries, there is then an implicit "deny all" that exists at the end of the list.
15+
Access restrictions enable you to define a priority ordered allow/deny list that controls network access to your app. The list can include IP addresses or Azure Virtual Network subnets. When there are one or more entries, there is then an implicit "deny all" that exists at the end of the list.
1616

17-
The Access Restrictions capability works with all App Service hosted work loads including; web apps, API apps, Linux apps, Linux container apps, and Functions.
17+
The access restrictions capability works with all App Service hosted work loads including; web apps, API apps, Linux apps, Linux container apps, and Functions.
1818

1919
When a request is made to your app, the FROM address is evaluated against the IP address rules in your access restrictions list. If the FROM address is in a subnet that is configured with service endpoints to Microsoft.Web, then the source subnet is compared against the virtual network rules in your access restrictions list. If the address is not allowed access based on the rules in the list, the service replies with an [HTTP 403](https://en.wikipedia.org/wiki/HTTP_403) status code.
2020

2121
The access restrictions capability is implemented in the App Service front-end roles, which are upstream of the worker hosts where your code runs. Therefore, access restrictions are effectively network ACLs.
2222

23-
The ability to restrict access to your web app from an Azure Virtual Network (VNet) is called [service endpoints][serviceendpoints]. Service endpoints enable you to restrict access to a multi-tenant service from selected subnets. It must be enabled on both the networking side as well as the service that it is being enabled with. It does not work to restrict traffic to apps that are hosted in an App Service Environment. If you are in an App Service Environment, you can control access to your app with IP address rules.
23+
The ability to restrict access to your web app from an Azure Virtual Network (VNet) is called [service endpoints][serviceendpoints]. Service endpoints enable you to restrict access to a multi-tenant service from selected subnets. It must be enabled on both the networking side as well as the service that it is being enabled with. It does not work to restrict traffic to apps that are hosted in an App Service Environment. If you are in an App Service Environment, you can control access to your app with IP address rules.
2424

2525
![access restrictions flow](media/app-service-ip-restrictions/access-restrictions-flow.png)
2626

27-
## Adding and editing Access Restriction rules in the portal ##
27+
## Adding and editing access restriction rules in the portal ##
2828

2929
To add an access restriction rule to your app, use the menu to open **Network**>**Access Restrictions** and click on **Configure Access Restrictions**
3030

@@ -54,7 +54,7 @@ Service endpoints enables you to restrict access to selected Azure virtual netwo
5454

5555
Service endpoints cannot be used to restrict access to apps that run in an App Service Environment. When your app is in an App Service Environment, you can control access to your app with IP access rules.
5656

57-
With service endpoints, you can configure your app with Application Gateways or other WAF devices. You can also configure multi-tier applications with secure backends. For more details on some of the possibilities, read [Networking features and App Service](networking-features.md).
57+
With service endpoints, you can configure your app with Application Gateways or other WAF devices. You can also configure multi-tier applications with secure backends. For more details on some of the possibilities, read [Networking features and App Service](networking-features.md) and [Application Gateway integration with service endpoints](networking/app-gateway-with-service-endpoints.md).
5858

5959
## Managing access restriction rules
6060

@@ -86,34 +86,50 @@ In addition to being able to control access to your app, you can also restrict a
8686

8787
## Programmatic manipulation of access restriction rules ##
8888

89-
There currently is no CLI or PowerShell for the new Access Restrictions capability but the values can be set manually with an [Azure REST API](https://docs.microsoft.com/rest/api/azure/) PUT operation on the app configuration in Resource Manager. As an example, you can use resources.azure.com and edit the ipSecurityRestrictions block to add the required JSON.
89+
[Azure CLI](https://docs.microsoft.com/cli/azure/webapp/config/access-restriction?view=azure-cli-latest) and [Azure PowerShell](https://docs.microsoft.com/powershell/module/Az.Websites/Add-AzWebAppAccessRestrictionRule?view=azps-3.1.0) has support for editing access restrictions.
90+
Example of adding an access restriction using Azure CLI:
91+
92+
```azurecli-interactive
93+
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
94+
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100
95+
```
96+
Example of adding an access restriction using Azure PowerShell:
97+
98+
```azurepowershell-interactive
99+
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName"
100+
-Name "Ip example rule" -Priority 100 -Action Allow -IpAddress 122.133.144.0/24
101+
```
102+
103+
Values can also be set manually with an [Azure REST API](https://docs.microsoft.com/rest/api/azure/) PUT operation on the app configuration in Resource Manager or using an Azure Resource Manager template. As an example, you can use resources.azure.com and edit the ipSecurityRestrictions block to add the required JSON.
90104

91105
The location for this information in Resource Manager is:
92106

93107
management.azure.com/subscriptions/**subscription ID**/resourceGroups/**resource groups**/providers/Microsoft.Web/sites/**web app name**/config/web?api-version=2018-02-01
94108

95109
The JSON syntax for the earlier example is:
96-
97-
{
98-
"properties": {
99-
"ipSecurityRestrictions": [
100-
{
101-
"ipAddress": "122.133.144.0/24",
102-
"action": "Allow",
103-
"tag": "Default",
104-
"priority": 100,
105-
"name": "IP example rule"
106-
}
107-
]
110+
```json
111+
{
112+
"properties": {
113+
"ipSecurityRestrictions": [
114+
{
115+
"ipAddress": "122.133.144.0/24",
116+
"action": "Allow",
117+
"priority": 100,
118+
"name": "IP example rule"
108119
}
109-
}
120+
]
121+
}
122+
}
123+
```
110124

111-
## Function App IP Restrictions
125+
## Azure Function App Access Restrictions
112126

113-
IP restrictions are available for both Function Apps with the same functionality as App Service plans. Enabling IP restrictions will disable the portal code editor for any disallowed IPs.
127+
Access restrictions are available for both Function Apps with the same functionality as App Service plans. Enabling access restrictions will disable the portal code editor for any disallowed IPs.
114128

115-
[Learn more here](../azure-functions/functions-networking-options.md#inbound-ip-restrictions)
129+
## Next steps
130+
[Access restrictions for Azure Function Apps](../azure-functions/functions-networking-options.md#inbound-ip-restrictions)
116131

132+
[Application Gateway integration with service endpoints](networking/app-gateway-with-service-endpoints.md)
117133

118134
<!--Links-->
119135
[serviceendpoints]: https://docs.microsoft.com/azure/virtual-network/virtual-network-service-endpoints-overview

articles/app-service/environment/app-service-app-service-environment-custom-settings.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: stefsch
55

66
ms.assetid: 1d1d85f3-6cc6-4d57-ae1a-5b37c642d812
77
ms.topic: tutorial
8-
ms.date: 01/16/2018
8+
ms.date: 12/19/2019
99
ms.author: stefsch
1010
ms.custom: mvc
1111
ms.custom: seodec18
@@ -53,6 +53,19 @@ Alternatively, you can update the App Service Environment by using [Azure Resour
5353
However you submit the change, it takes roughly 30 minutes multiplied by the number of front ends in the App Service Environment for the change to take effect.
5454
For example, if an App Service Environment has four front ends, it will take roughly two hours for the configuration update to finish. While the configuration change is being rolled out, no other scaling operations or configuration change operations can take place in the App Service Environment.
5555

56+
## Enable Internal Encryption
57+
58+
The App Service Environment operates as a black box system where you cannot see the internal components or the communication within the system. To enable higher throughput, encryption is not enabled by default between internal components. The system is secure as the traffic is completely inaccessible to being monitored or accessed. If you have a compliance requirement though that requires complete encryption of the data path from end to end, there is a way to enable this with a clusterSetting.
59+
60+
"clusterSettings": [
61+
{
62+
"name": "InternalEncryption",
63+
"value": "1"
64+
}
65+
],
66+
67+
After the InternalEncryption clusterSetting is enabled, there can be an impact to your system performance. When you make the change to enable InternalEncryption, your ASE will be in an unstable state until the change is fully propagated. Complete propagation of the change can take a few hours to complete, depending on how many instances you have in your ASE. We highly recommend that you do not enable this on an ASE while it is in use. If you need to enable this on an actively used ASE, we highly recommend that you divert traffic to a backup environment until the operation completes.
68+
5669
## Disable TLS 1.0 and TLS 1.1
5770

5871
If you want to manage TLS settings on an app by app basis, then you can use the guidance provided with the [Enforce TLS settings](../configure-ssl-bindings.md#enforce-tls-versions) documentation.

articles/app-service/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
href: configure-authentication-provider-twitter.md
164164
- name: Advanced auth
165165
href: app-service-authentication-how-to.md
166-
- name: Restrict IPs
166+
- name: Restrict access
167167
href: app-service-ip-restrictions.md
168168
- name: Use a managed identity
169169
href: overview-managed-identity.md

articles/azure-functions/durable/durable-functions-bindings.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Bindings for Durable Functions - Azure
33
description: How to use triggers and bindings for the Durable Functions extension for Azure Functions.
44
ms.topic: conceptual
5-
ms.date: 11/02/2019
5+
ms.date: 12/17/2019
66
ms.author: azfuncdf
77
---
88

@@ -393,7 +393,7 @@ Every entity function has a parameter type of `IDurableEntityContext`, which has
393393
* **DeleteState()**: deletes the state of the entity.
394394
* **GetInput\<TInput>()**: gets the input for the current operation. The `TInput` type parameter must be a primitive or JSON-serializeable type.
395395
* **Return(arg)**: returns a value to the orchestration that called the operation. The `arg` parameter must be a primitive or JSON-serializeable object.
396-
* **SignalEntity(EntityId, operation, input)**: sends a one-way message to an entity. The `operation` parameter must be a non-null string, and the `input` parameter must be a primitive or JSON-serializeable object.
396+
* **SignalEntity(EntityId, scheduledTimeUtc, operation, input)**: sends a one-way message to an entity. The `operation` parameter must be a non-null string, the optional `scheduledTimeUtc` must be a UTC datetime at which to invoke the operation, and the `input` parameter must be a primitive or JSON-serializeable object.
397397
* **CreateNewOrchestration(orchestratorFunctionName, input)**: starts a new orchestration. The `input` parameter must be a primitive or JSON-serializeable object.
398398

399399
The `IDurableEntityContext` object passed to the entity function can be accessed using the `Entity.Current` async-local property. This approach is convenient when using the class-based programming model.
@@ -530,6 +530,7 @@ In .NET functions, you typically bind to `IDurableEntityClient`, which gives you
530530

531531
* **ReadEntityStateAsync\<T>**: reads the state of an entity. It returns a response that indicates whether the target entity exists, and if so, what its state is.
532532
* **SignalEntityAsync**: sends a one-way message to an entity, and waits for it to be enqueued.
533+
* **ListEntitiesAsync**: queries for the state of multiple entities. Entities can be queried by *name* and *last operation time*.
533534

534535
There is no need to create the target entity before sending a signal - the entity state can be created from within the entity function that handles the signal.
535536

articles/azure-functions/durable/durable-functions-entities.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Durable entities - Azure Functions
33
description: Learn what durable entities are and how to use them in the Durable Functions extension for Azure Functions.
44
author: cgillum
55
ms.topic: overview
6-
ms.date: 11/02/2019
6+
ms.date: 12/17/2019
77
ms.author: azfuncdf
88
#Customer intent: As a developer, I want to learn what durable entities are and how to use them to solve distributed, stateful problems in my applications.
99
---
@@ -37,6 +37,7 @@ To invoke an operation on an entity, specify the:
3737
* **Entity ID** of the target entity.
3838
* **Operation name**, which is a string that specifies the operation to perform. For example, the `Counter` entity could support `add`, `get`, or `reset` operations.
3939
* **Operation input**, which is an optional input parameter for the operation. For example, the add operation can take an integer amount as the input.
40+
* **Scheduled time*, which is an optional parameter for specifying the delivery time of the operation. For example, an operation can be reliably scheduled to run several days in the future.
4041

4142
Operations can return a result value or an error result, such as a JavaScript error or a .NET exception. This result or error can be observed by orchestrations that called the operation.
4243

0 commit comments

Comments
 (0)