|
| 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). |
0 commit comments