Skip to content

Commit 228c6c2

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into ts_hbase17
2 parents d458285 + a1557ce commit 228c6c2

13 files changed

+338
-87
lines changed

articles/azure-app-configuration/TOC.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@
6464
items:
6565
- name: Key-value store
6666
href: concept-key-value.md
67-
- name: Encrypt using customer-managed keys
68-
href: concept-customer-managed-keys.md
6967
- name: Point-in-time snapshot
7068
href: concept-point-time-snapshot.md
7169
- name: Feature management
@@ -74,8 +72,12 @@
7472
href: concept-github-action.md
7573
- name: Event handling
7674
href: concept-app-configuration-event.md
77-
- name: Authentication
75+
- name: Security
7876
items:
77+
- name: Encrypt using customer-managed keys
78+
href: concept-customer-managed-keys.md
79+
- name: Secure your config store using Private Endpoints
80+
href: concept-private-endpoint.md
7981
- name: Integrate with Azure Managed Identity
8082
href: howto-integrate-azure-managed-service-identity.md
8183
- name: Enable access using Azure Active Directory
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
title: Using private endpoints for Azure App Configuration
3+
description: Secure your App Configuration store using private endpoints
4+
services: azure-app-configuration
5+
author: lisaguthrie
6+
ms.service: azure-app-configuration
7+
ms.topic: conceptual
8+
ms.date: 3/12/2020
9+
ms.author: lcozzens
10+
11+
#Customer intent: As a developer using Azure App Configuration, I want to understand how to use private endpoints to enable secure communication with my App Configuration instance.
12+
---
13+
# Using private endpoints for Azure App Configuration
14+
15+
You can use [private endpoints](../private-link/private-endpoint-overview.md) for Azure App Configuration to allow clients on a virtual network (VNet) to securely access data over a [private link](../private-link/private-link-overview.md). The private endpoint uses an IP address from the VNet address space for your App Configuration store. Network traffic between the clients on the VNet and the App Configuration store traverses over the VNet using a private link on the Microsoft backbone network, eliminating exposure to the public internet.
16+
17+
Using private endpoints for your App Configuration store enables you to:
18+
- Secure your application configuration details by configuring the firewall to block all connections to App Configuration on the public endpoint.
19+
- Increase security for the virtual network (VNet) ensuring data doesn't escape from the VNet.
20+
- Securely connect to the App Configuration store from on-premises networks that connect to the VNet using [VPN](../vpn-gateway/vpn-gateway-about-vpngateways.md) or [ExpressRoutes](../expressroute/expressroute-locations.md) with private-peering.
21+
22+
> [!NOTE]
23+
> Azure App Configuration offers the use of private endpoints as a public preview. Public preview offerings allow customers to experiment with new features prior to their official release. Public preview features and services are not meant for production use.
24+
25+
## Conceptual Overview
26+
27+
A private endpoint is a special network interface for an Azure service in your [Virtual Network](../virtual-network/virtual-networks-overview.md) (VNet). When you create a private endpoint for your App Config store, it provides secure connectivity between clients on your VNet and your configuration store. The private endpoint is assigned an IP address from the IP address range of your VNet. The connection between the private endpoint and the configuration store uses a secure private link.
28+
29+
Applications in the VNet can connect to the configuration store over the private endpoint **using the same connection strings and authorization mechanisms that they would use otherwise**. Private endpoints can be used with all protocols supported by the App Configuration store.
30+
31+
While App Configuration doesn't support service endpoints, private endpoints can be created in subnets that use [Service Endpoints](../virtual-network/virtual-network-service-endpoints-overview.md). Clients in a subnet can connect securely to an App Configuration store using the private endpoint while using service endpoints to access others.
32+
33+
When you create a private endpoint for a service in your VNet, a consent request is sent for approval to the service account owner. If the user requesting the creation of the private endpoint is also an owner of the account, this consent request is automatically approved.
34+
35+
Service account owners can manage consent requests and private endpoints through the `Private Endpoints` tab of the config store in the [Azure portal](https://portal.azure.com).
36+
37+
### Private Endpoints for App Configuration
38+
39+
When creating a private endpoint, you must specify the App Configuration store to which it connects. If you have multiple App Configuration instances within an account, you need a separate private endpoint for each store.
40+
41+
#### Resources for creating private endpoints
42+
43+
For more detailed information on creating a private endpoint for your App Configuration store, refer to the following articles:
44+
45+
- [Create a private endpoint using the Private Link Center in the Azure portal](../private-link/create-private-endpoint-portal.md)
46+
- [Create a private endpoint using Azure CLI](../private-link/create-private-endpoint-cli.md)
47+
- [Create a private endpoint using Azure PowerShell](../private-link/create-private-endpoint-powershell.md)
48+
49+
### Connecting to Private Endpoints
50+
51+
Azure relies upon DNS resolution to route connections from the VNet to the configuration store over a private link. You can quickly find connections strings in the Azure portal by selecting your App Configuration store, then selecting **Settings** > **Access Keys**.
52+
53+
> [!IMPORTANT]
54+
> Use the same connection string to connect to your App Configuration store using private endpoints as you would use for a public endpoint. Don't connect to the storage account using its `privatelink` subdomain URL.
55+
56+
## DNS changes for Private Endpoints
57+
58+
When you create a private endpoint, the DNS CNAME resource record for the configuration store is updated to an alias in a subdomain with the prefix `privatelink`. Azure also creates a [private DNS zone](../dns/private-dns-overview.md) corresponding to the `privatelink` subdomain, with the DNS A resource records for the private endpoints.
59+
60+
When you resolve the endpoint URL from outside the VNet, it resolves to the public endpoint of the store. When resolved from within the VNet hosting the private endpoint, the endpoint URL resolves to the private endpoint.
61+
62+
You can control access for clients outside the VNet through the public endpoint using the Azure Firewall service.
63+
64+
This approach enables access to the store **using the same connection string** for clients on the VNet hosting the private endpoints as well as clients outside the VNet.
65+
66+
If you are using a custom DNS server on your network, clients must be able to resolve the fully qualified domain name (FQDN) for the service endpoint to the private endpoint IP address. Configure your DNS server to delegate your private link subdomain to the private DNS zone for the VNet, or configure the A records for `AppConfigInstanceA.privatelink.azconfig.io` with the private endpoint IP address.
67+
68+
> [!TIP]
69+
> When using a custom or on-premises DNS server, you should configure your DNS server to resolve the store name in the `privatelink` subdomain to the private endpoint IP address. You can do this by delegating the `privatelink` subdomain to the private DNS zone of the VNet, or configuring the DNS zone on your DNS server and adding the DNS A records.
70+
71+
#### Resources for configuring your DNS server with private endpoints
72+
73+
For more information, see:
74+
75+
- [Name resolution for resources in Azure virtual networks](/azure/virtual-network/virtual-networks-name-resolution-for-vms-and-role-instances#name-resolution-that-uses-your-own-dns-server)
76+
- [DNS configuration for Private Endpoints](/azure/private-link/private-endpoint-overview#dns-configuration)
77+
78+
## Pricing
79+
80+
Enabling private endpoints requires a [Standard tier](https://azure.microsoft.com/pricing/details/app-configuration/) App Configuration store. To learn about private link pricing details, see [Azure Private Link pricing](https://azure.microsoft.com/pricing/details/private-link).

articles/azure-app-configuration/enable-dynamic-configuration-java-spring-app.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,7 @@ Save the file, then build and run your application as usual.
4949

5050
## Next steps
5151

52-
In this tutorial, you enabled your Spring Boot app to dynamically refresh configuration settings from App Configuration. For more information, see [Spring on Azure](https://docs.microsoft.com/java/azure/spring-framework/).
52+
In this tutorial, you enabled your Spring Boot app to dynamically refresh configuration settings from App Configuration. To learn how to use an Azure managed identity to streamline the access to App Configuration, continue to the next tutorial.
53+
54+
> [!div class="nextstepaction"]
55+
> [Managed identity integration](./howto-integrate-azure-managed-service-identity.md)

articles/azure-app-configuration/quickstart-java-spring-app.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ Use the [Spring Initializr](https://start.spring.io/) to create a new Spring Boo
181181

182182
## Next steps
183183

184-
In this quickstart, you created a new App Configuration store and used it with a Java Spring app. For more information, see [Spring on Azure](https://docs.microsoft.com/java/azure/spring-framework/). To learn how to use an Azure managed identity to streamline access to App Configuration, continue to the next tutorial.
184+
In this quickstart, you created a new App Configuration store and used it with a Java Spring app. For more information, see [Spring on Azure](https://docs.microsoft.com/java/azure/spring-framework/). To learn how to enable your Java Spring app to dynamically refresh configuration settings, continue to the next tutorial.
185185

186186
> [!div class="nextstepaction"]
187-
> [Managed identity integration](./howto-integrate-azure-managed-service-identity.md)
187+
> [Enable dynamic configuration](./enable-dynamic-configuration-java-spring-app.md)

articles/cloud-services/cloud-services-dotnet-install-dotnet.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ ms.author: tagore
1515
# Install .NET on Azure Cloud Services roles
1616
This article describes how to install versions of .NET Framework that don't come with the Azure Guest OS. You can use .NET on the Guest OS to configure your cloud service web and worker roles.
1717

18-
For example, you can install .NET 4.6.2 on the Guest OS family 4, which doesn't come with any release of .NET 4.6. (The Guest OS family 5 does come with .NET 4.6.) For the latest information on the Azure Guest OS releases, see the [Azure Guest OS release news](cloud-services-guestos-update-matrix.md).
18+
For example, you can install .NET Framework 4.6.2 on the Guest OS family 4, which doesn't come with any release of .NET Framework 4.6. (The Guest OS family 5 does come with .NET Framework 4.6.) For the latest information on the Azure Guest OS releases, see the [Azure Guest OS release news](cloud-services-guestos-update-matrix.md).
1919

2020
>[!IMPORTANT]
21-
>The Azure SDK 2.9 contains a restriction on deploying .NET 4.6 on the Guest OS family 4 or earlier. A fix for the restriction is available on the [Microsoft Docs](https://github.com/MicrosoftDocs/azure-cloud-services-files/tree/master/Azure%20Targets%20SDK%202.9) site.
21+
>The Azure SDK 2.9 contains a restriction on deploying .NET Framework 4.6 on the Guest OS family 4 or earlier. A fix for the restriction is available on the [Microsoft Docs](https://github.com/MicrosoftDocs/azure-cloud-services-files/tree/master/Azure%20Targets%20SDK%202.9) site.
2222
2323
To install .NET on your web and worker roles, include the .NET web installer as part of your cloud service project. Start the installer as part of the role's startup tasks.
2424

2525
## Add the .NET installer to your project
2626
To download the web installer for the .NET Framework, choose the version that you want to install:
2727

28-
* [.NET 4.8 web installer](https://dotnet.microsoft.com/download/thank-you/net48)
29-
* [.NET 4.7.2 web installer](https://go.microsoft.com/fwlink/?LinkId=863262)
30-
* [.NET 4.6.2 web installer](https://www.microsoft.com/download/details.aspx?id=53345)
28+
* [.NET Framework 4.8 web installer](https://dotnet.microsoft.com/download/thank-you/net48)
29+
* [.NET Framework 4.7.2 web installer](https://go.microsoft.com/fwlink/?LinkId=863262)
30+
* [.NET Framework 4.6.2 web installer](https://www.microsoft.com/download/details.aspx?id=53345)
3131

3232
To add the installer for a *web* role:
3333
1. In **Solution Explorer**, under **Roles** in your cloud service project, right-click your *web* role and select **Add** > **New Folder**. Create a folder named **bin**.
@@ -39,7 +39,7 @@ To add the installer for a *worker* role:
3939
When files are added in this way to the role content folder, they're automatically added to your cloud service package. The files are then deployed to a consistent location on the virtual machine. Repeat this process for each web and worker role in your cloud service so that all roles have a copy of the installer.
4040

4141
> [!NOTE]
42-
> You should install .NET 4.6.2 on your cloud service role even if your application targets .NET 4.6. The Guest OS includes the Knowledge Base [update 3098779](https://support.microsoft.com/kb/3098779) and [update 3097997](https://support.microsoft.com/kb/3097997). Issues can occur when you run your .NET applications if .NET 4.6 is installed on top of the Knowledge Base updates. To avoid these issues, install .NET 4.6.2 rather than version 4.6. For more information, see the [Knowledge Base article 3118750](https://support.microsoft.com/kb/3118750) and [4340191](https://support.microsoft.com/kb/4340191).
42+
> You should install .NET Framework 4.6.2 on your cloud service role even if your application targets .NET Framework 4.6. The Guest OS includes the Knowledge Base [update 3098779](https://support.microsoft.com/kb/3098779) and [update 3097997](https://support.microsoft.com/kb/3097997). Issues can occur when you run your .NET applications if .NET Framework 4.6 is installed on top of the Knowledge Base updates. To avoid these issues, install .NET Framework 4.6.2 rather than version 4.6. For more information, see the [Knowledge Base article 3118750](https://support.microsoft.com/kb/3118750) and [4340191](https://support.microsoft.com/kb/4340191).
4343
>
4444
>
4545
@@ -77,7 +77,7 @@ You can use startup tasks to perform operations before a role starts. Installing
7777

7878
2. Create a file named **install.cmd** and add the following install script to the file.
7979

80-
The script checks whether the specified version of the .NET Framework is already installed on the machine by querying the registry. If the .NET version is not installed, then the .NET web installer is opened. To help troubleshoot any issues, the script logs all activity to the file startuptasklog-(current date and time).txt that is stored in **InstallLogs** local storage.
80+
The script checks whether the specified version of the .NET Framework is already installed on the machine by querying the registry. If the .NET Framework version is not installed, then the .NET Framework web installer is opened. To help troubleshoot any issues, the script logs all activity to the file startuptasklog-(current date and time).txt that is stored in **InstallLogs** local storage.
8181

8282
> [!IMPORTANT]
8383
> Use a basic text editor like Windows Notepad to create the install.cmd file. If you use Visual Studio to create a text file and change the extension to .cmd, the file might still contain a UTF-8 byte order mark. This mark can cause an error when the first line of the script is run. To avoid this error, make the first line of the script a REM statement that can be skipped by the byte order processing.

articles/data-lake-analytics/dotnet-upgrade-troubleshoot.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: How to troubleshoot the Azure Data Lake Analytics U-SQL job failures because of .NET 4.7.2 upgrade
3-
description: 'Troubleshoot U-SQL job failures because of the upgrade to .NET 4.7.2.'
2+
title: How to troubleshoot the Azure Data Lake Analytics U-SQL job failures because of .NET Framework 4.7.2 upgrade
3+
description: 'Troubleshoot U-SQL job failures because of the upgrade to .NET Framework 4.7.2.'
44
services: data-lake-analytics
55
author: guyhay
66
ms.author: guyhay
@@ -17,12 +17,12 @@ The Azure Data Lake Analytics default runtime is upgrading from .NET Framework v
1717

1818
This upgrade from .NET Framework 4.5.2 to version 4.7.2 means that the .NET Framework deployed in a U-SQL runtime (the default runtime) will now always be 4.7.2. There isn't a side-by-side option for .NET Framework versions.
1919

20-
After this upgrade to .NET 4.7.2 is complete, the system’s managed code will run as version 4.7.2, user provided libraries such as the U-SQL custom assemblies will run in the backwards-compatible mode appropriate for the version that the assembly has been generated for.
20+
After this upgrade to .NET Framework 4.7.2 is complete, the system’s managed code will run as version 4.7.2, user provided libraries such as the U-SQL custom assemblies will run in the backwards-compatible mode appropriate for the version that the assembly has been generated for.
2121

2222
- If your assembly DLLs are generated for version 4.5.2, the deployed framework will treat them as 4.5.2 libraries, providing (with a few exceptions) 4.5.2 semantics.
2323
- You can now use U-SQL custom assemblies that make use of version 4.7.2 features, if you target the .NET Framework 4.7.2.
2424

25-
Because of this upgrade to .NET 4.7.2, there's a potential to introduce breaking changes to your U-SQL jobs that use .NET custom assemblies. We suggest you check for backwards-compatibility issues using the procedure below.
25+
Because of this upgrade to .NET Framework 4.7.2, there's a potential to introduce breaking changes to your U-SQL jobs that use .NET custom assemblies. We suggest you check for backwards-compatibility issues using the procedure below.
2626

2727
## How to check for backwards-compatibility issues
2828

0 commit comments

Comments
 (0)