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/active-directory/develop/multi-service-web-app-access-storage.md
+16-14Lines changed: 16 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ manager: CelesteDG
7
7
ms.service: app-service
8
8
ms.topic: tutorial
9
9
ms.workload: identity
10
-
ms.date: 04/25/2021
10
+
ms.date: 03/24/2023
11
11
ms.author: ryanwi
12
12
ms.reviewer: stsoneff
13
13
ms.devlang: csharp, javascript
@@ -64,7 +64,7 @@ To create a general-purpose v2 storage account in the Azure portal, follow these
64
64
65
65
1. On the Azure portal menu, select **All services**. In the list of resources, enter **Storage Accounts**. As you begin typing, the list filters based on your input. Select **Storage Accounts**.
66
66
67
-
1. In the **Storage Accounts** window that appears, select **Add**.
67
+
1. In the **Storage Accounts** window that appears, select **Create**.
68
68
69
69
1. Select the subscription in which to create the storage account.
70
70
@@ -74,33 +74,27 @@ To create a general-purpose v2 storage account in the Azure portal, follow these
74
74
75
75
1. Select a location for your storage account, or use the default location.
76
76
77
-
1.Leave these fields set to their default values:
77
+
1.For **Performance**, select the **Standard** option.
1. For **Redundancy**, select the **Locally-redundant storage (LRS)** option from the dropdown.
86
80
87
-
1. Select **Review + Create** to review your storage account settings and create the account.
81
+
1. Select **Review** to review your storage account settings and create the account.
88
82
89
83
1. Select **Create**.
90
84
91
85
To create a Blob Storage container in Azure Storage, follow these steps.
92
86
93
87
1. Go to your new storage account in the Azure portal.
94
88
95
-
1. In the left menu for the storage account, scroll to the **Blob service** section, and then select **Containers**.
89
+
1. In the left menu for the storage account, scroll to the **Data storage** section, and then select **Containers**.
96
90
97
91
1. Select the **+ Container** button.
98
92
99
93
1. Type a name for your new container. The container name must be lowercase, must start with a letter or number, and can include only letters, numbers, and the dash (-) character.
100
94
101
95
1. Set the level of public access to the container. The default level is **Private (no anonymous access)**.
102
96
103
-
1. Select **OK** to create the container.
97
+
1. Select **Create** to create the container.
104
98
105
99
# [PowerShell](#tab/azure-powershell)
106
100
@@ -172,7 +166,15 @@ You need to grant your web app access to the storage account before you can crea
172
166
173
167
In the [Azure portal](https://portal.azure.com), go into your storage account to grant your web app access. Select **Access control (IAM)** in the left pane, and then select **Role assignments**. You'll see a list of who has access to the storage account. Now you want to add a role assignment to a robot, the app service that needs access to the storage account. Select **Add** > **Add role assignment** to open the **Add role assignment** page.
174
168
175
-
Assign the **Storage Blob Data Contributor** role to the **App Service** at subscription scope. For detailed steps, see [Assign Azure roles using the Azure portal](../../role-based-access-control/role-assignments-portal.md).
169
+
1. In the **Assignment type** tab, select **Job function type** and then **Next**.
170
+
171
+
1. In the **Role** tab, select **Storage Blob Data Contributor** role from the dropdown and then select **Next**.
172
+
173
+
1. In the **Members** tab, select **Assign access to** -> **Managed identity** and then select **Members** -> **Select members**. In the **Select managed identities** window, find and select the managed identity created for your App Service in the **Managed identity** dropdown. Select the **Select** button.
174
+
175
+
1. Select **Review and assign** and then select **Review and assign** once more.
176
+
177
+
For detailed steps, see [Assign Azure roles using the Azure portal](../../role-based-access-control/role-assignments-portal.md).
176
178
177
179
Your web app now has access to your storage account.
| Azure AD integration<sup>1</sup> | No | Yes | No | Yes | Yes |
24
24
| Virtual Network (VNet) support | No | Yes | No | No | Yes |
25
+
| Private endpoint support for inbound connections | No | Yes | Yes | Yes | Yes |
25
26
| Multi-region deployment | No | No | No | No | Yes |
26
27
| Availability zones | No | No | No | No | Yes |
27
28
| Multiple custom domain names | No | Yes | No | No | Yes |
@@ -45,5 +46,5 @@ Each API Management [pricing tier](https://aka.ms/apimpricing) offers a distinct
45
46
<sup>1</sup> Enables the use of Azure AD (and Azure AD B2C) as an identity provider for user sign in on the developer portal.<br/>
46
47
<sup>2</sup> Including related functionality such as users, groups, issues, applications, and email templates and notifications.<br/>
47
48
<sup>3</sup> See [Gateway overview](api-management-gateways-overview.md#feature-comparison-managed-versus-self-hosted-gateways) for a feature comparison of managed versus self-hosted gateways. In the Developer tier self-hosted gateways are limited to a single gateway node. <br/>
48
-
<sup>4</sup> The following policies aren't available in the Consumption tier: rate limit by key and quota by key. <br/>
49
+
<sup>4</sup> See [Gateway overview](api-management-gateways-overview.md#policies) for differences in policy support in the dedicated, consumption, and self-hosted gateways. <br/>
49
50
<sup>5</sup> GraphQL subscriptions aren't supported in the Consumption tier.
Copy file name to clipboardExpand all lines: articles/api-management/private-endpoint.md
+35-32Lines changed: 35 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,35 +1,25 @@
1
1
---
2
-
title: Set up private endpoint for Azure API Management Preview
3
-
description: Learn how to restrict access to an Azure API Management instance by using an Azure private endpoint and Azure Private Link.
2
+
title: Set up inbound private endpoint for Azure API Management
3
+
description: Learn how to restrict inbound access to an Azure API Management instance by using an Azure private endpoint and Azure Private Link.
4
4
ms.service: api-management
5
5
author: dlepow
6
6
ms.author: danlep
7
7
ms.topic: how-to
8
-
ms.date: 03/31/2022
8
+
ms.date: 03/20/2023
9
9
10
10
---
11
11
12
-
# Connect privately to API Management using a private endpoint
12
+
# Connect privately to API Management using an inbound private endpoint
13
13
14
-
You can configure a[private endpoint](../private-link/private-endpoint-overview.md) for your API Management instance to allow clients in your private network to securely access the instance over [Azure Private Link](../private-link/private-link-overview.md).
14
+
You can configure an inbound[private endpoint](../private-link/private-endpoint-overview.md) for your API Management instance to allow clients in your private network to securely access the instance over [Azure Private Link](../private-link/private-link-overview.md).
15
15
16
-
* The private endpoint uses an IP address from your Azure VNet address space.
16
+
* The private endpoint uses an IP address from an Azure VNet in which it's hosted.
17
17
18
18
* Network traffic between a client on your private network and API Management traverses over the VNet and a Private Link on the Microsoft backbone network, eliminating exposure from the public internet.
19
19
20
20
* Configure custom DNS settings or an Azure DNS private zone to map the API Management hostname to the endpoint's private IP address.
21
21
22
-
:::image type="content" source="media/private-endpoint/api-management-private-endpoint.png" alt-text="Diagram that shows a secure connection to API Management using private endpoint.":::
23
-
24
-
With a private endpoint and Private Link, you can:
25
-
26
-
- Create multiple Private Link connections to an API Management instance.
27
-
28
-
- Use the private endpoint to send inbound traffic on a secure connection.
29
-
30
-
- Use policy to distinguish traffic that comes from the private endpoint.
31
-
32
-
- Limit incoming traffic only to private endpoints, preventing data exfiltration.
22
+
:::image type="content" source="media/private-endpoint/api-management-private-endpoint.png" alt-text="Diagram that shows a secure inbound connection to API Management using private endpoint.":::
:::image type="content" source="media/private-endpoint/add-endpoint-from-instance.png" alt-text="Add a private endpoint using Azure portal":::
114
104
@@ -120,7 +110,8 @@ When you use the Azure portal to create a private endpoint, as shown in the next
120
110
| Subscription | Select your subscription. |
121
111
| Resource group | Select an existing resource group, or create a new one. It must be in the same region as your virtual network.|
122
112
|**Instance details**||
123
-
| Name | Enter a name for the endpoint such as **myPrivateEndpoint**. |
113
+
| Name | Enter a name for the endpoint such as *myPrivateEndpoint*. |
114
+
| Network Interface Name | Enter a name for the network interface, such as *myInterface*|
124
115
| Region | Select a location for the private endpoint. It must be in the same region as your virtual network. It may differ from the region where your API Management instance is hosted. |
125
116
126
117
1. Select the **Resource** tab or the **Next: Resource** button at the bottom of the page. The following information about your API Management instance is already populated:
@@ -132,28 +123,37 @@ When you use the Azure portal to create a private endpoint, as shown in the next
132
123
133
124
:::image type="content" source="media/private-endpoint/create-private-endpoint.png" alt-text="Create a private endpoint in Azure portal":::
134
125
135
-
1. Select the **Configuration** tab or the **Next: Configuration** button at the bottom of the screen.
126
+
1. Select the **Virtual Network** tab or the **Next: Virtual Network** button at the bottom of the screen.
136
127
137
-
1. In **Configuration**, enter or select this information:
128
+
1. In **Networking**, enter or select this information:
138
129
139
130
| Setting | Value |
140
131
| ------- | ----- |
141
-
|**Networking**||
142
132
| Virtual network | Select your virtual network. |
143
133
| Subnet | Select your subnet. |
144
-
|**Private DNS integration**||
134
+
| Private IP configuration | In most cases, select **Dynamically allocate IP address.**|
135
+
| Application security group | Optionally select an [application security group](../virtual-network/application-security-groups.md). |
136
+
137
+
1. Select the **DNS** tab or the **Next: DNS** button at the bottom of the screen.
138
+
139
+
1. In **Private DNS integration**, enter or select this information:
140
+
141
+
| Setting | Value |
142
+
| ------- | ----- |
145
143
| Integrate with private DNS zone | Leave the default of **Yes**. |
146
144
| Subscription | Select your subscription. |
147
145
| Resource group | Select your resource group. |
148
-
| Private DNS zones | Leave the default of**(new) privatelink.azure-api.net**.
146
+
| Private DNS zones | The default value is displayed:**(new) privatelink.azure-api.net**.
149
147
150
-
1. Select **Review + create**.
148
+
1. Select the **Tags** tab or the **Next: Tabs** button at the bottom of the screen. If you desire, enter tags to organize your Azure resources.
149
+
150
+
1. Select **Review + create**.
151
151
152
152
1. Select **Create**.
153
153
154
154
### List private endpoint connections to the instance
155
155
156
-
After the private endpoint is created, it appears in the list on the API Management instance's **Private endpoint connections** page in the portal.
156
+
After the private endpoint is created, it appears in the list on the API Management instance's **Inbound private endpoint connections** page in the portal.
157
157
158
158
You can also use the [Private Endpoint Connection - List By Service](/rest/api/apimanagement/current-ga/private-endpoint-connection/list-by-service) REST API to list private endpoint connections to the service instance.
159
159
@@ -200,9 +200,12 @@ Use the following JSON body:
200
200
201
201
After the private endpoint is created, confirm its DNS settings in the portal:
202
202
203
-
1. In the portal, navigate to the **Private Link Center**.
204
-
1. Select **Private endpoints** and select the private endpoint you created.
203
+
1. Navigate to your API Management service in the [Azure portal](https://portal.azure.com/).
204
+
205
+
1. In the left-hand menu, select **Network** > **Inbound private endpoint connections**, and select the private endpoint you created.
206
+
205
207
1. In the left-hand navigation, select **DNS configuration**.
208
+
206
209
1. Review the DNS records and IP address of the private endpoint. The IP address is a private address in the address space of the subnet where the private endpoint is configured.
207
210
208
211
### Test in virtual network
@@ -232,7 +235,7 @@ To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the
232
235
## Next steps
233
236
234
237
* Use [policy expressions](api-management-policy-expressions.md#ref-context-request) with the `context.request` variable to identify traffic from the private endpoint.
235
-
* Learn more about [private endpoints](../private-link/private-endpoint-overview.md) and [Private Link](../private-link/private-link-overview.md).
238
+
* Learn more about [private endpoints](../private-link/private-endpoint-overview.md) and [Private Link](../private-link/private-link-overview.md), including [Private Link pricing](https://azure.microsoft.com/pricing/details/private-link/).
236
239
* Learn more about [managing private endpoint connections](../private-link/manage-private-endpoint.md).
* Use a [Resource Manager template](https://azure.microsoft.com/resources/templates/api-management-private-endpoint/) to create an API Management instance and a private endpoint with private DNS integration.
0 commit comments