Skip to content

Commit 822e182

Browse files
authored
Merge pull request #4431 from MicrosoftDocs/main
4/30/2025 AM Publish
2 parents 2eeb2d5 + 604b24b commit 822e182

File tree

29 files changed

+132
-56
lines changed

29 files changed

+132
-56
lines changed

articles/ai-foundry/how-to/configure-private-link.md

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ manager: scottpolly
66
ms.service: azure-ai-foundry
77
ms.custom: ignite-2023, devx-track-azurecli, build-2024, ignite-2024
88
ms.topic: how-to
9-
ms.date: 01/15/2025
9+
ms.date: 04/30/2025
1010
ms.reviewer: meerakurup
1111
ms.author: larryfr
1212
author: Blackmist
@@ -252,8 +252,85 @@ az extension add --name ml
252252

253253
:::zone-end
254254

255+
## Enable Public Access only from internet IP ranges (preview)
256+
257+
You can use IP network rules to allow access to your secured hub from specific public internet IP address ranges by creating IP network rules. Each Azure AI Foundry hub supports up to 200 rules. These rules grant access to specific internet-based services and on-premises networks and block general internet traffic. This feature is currently in preview.
258+
259+
> [!WARNING]
260+
> * Enable your endpoint's public network access flag if you want to allow access to your endpoint from specific public internet IP address ranges.
261+
> * You can only use IPv4 addresses.
262+
> * If the workspace goes from __Enable from selected IPs__ to __Disabled__ or __Enabled__, the IP ranges will be reset.
263+
264+
# [Portal](#tab/azure-portal)
265+
266+
1. From the [Azure portal](https://portal.azure.com), select your Azure Machine AI Foundry hub.
267+
1. From the left side of the page, select __Networking__ and then select the __Public access__ tab.
268+
1. Select __Enabled from selected IP addresses__, input address ranges and then select __Save__.
269+
270+
<!-- :::image type="content" source="./media/how-to-configure-private-link/workspace-public-access-ip-ranges.png" alt-text="Screenshot of the UI to enable access from internet IP ranges."::: -->
271+
272+
# [Azure CLI](#tab/cli)
273+
274+
Use the `az ml workspace update` Azure CLI command to manage public access from an IP address or address range:
275+
276+
> [!TIP]
277+
> The configurations for the selected IP addresses are stored in the hub's properties, under `network_acls`:
278+
> ```yml
279+
> name: sample_hub
280+
> location: centraluseuap
281+
> display_name: sample hub
282+
> description: desc
283+
> public_network_access: enabled
284+
> network_acls:
285+
> ip_rules:
286+
> value: "X.X.X.X/X"
287+
> value: "X.X.X.X"
288+
> default_action: Deny
289+
> ```
290+
291+
1. Disabled:
292+
`az ml workspace update -n test-ws -g test-rg --public-network-access Disabled`
293+
1. Enabled from selected IP addresses:
294+
`az ml workspace update -n test-ws -g test-rg --public-network-access Enabled --network-acls "167.220.238.199/32,167.220.238.194/32" `
295+
1. Enabled from all networks:
296+
`az ml workspace update -n test-ws -g test-rg --public-network-access Enabled --network-acls none`
297+
255298
---
256299
300+
You can also use the [Workspace](/python/api/azure-ai-ml/azure.ai.ml.entities.workspace) class from the Azure Machine Learning [Python SDK](/python/api/azure-ai-ml/azure.ai.ml.entities.networkacls) to define which IP addresses are allowed inbound access:
301+
302+
```python
303+
class Workspace(Resource):
304+
"""Azure ML workspace.
305+
:param public_network_access: Whether to allow public endpoint connectivity
306+
when a workspace is private link enabled.
307+
:type public_network_access: str
308+
:param network_acls: The network access control list (ACL) settings of the workspace.
309+
:type network_acls: ~azure.ai.ml.entities.NetworkAcls
310+
311+
def __init__(
312+
self,
313+
*,
314+
public_network_access: Optional[str] = None,
315+
network_acls: Optional[NetworkAcls] = None,
316+
```
317+
318+
### Restrictions for IP network rules
319+
320+
The following restrictions apply to IP address ranges:
321+
322+
- IP network rules are allowed only for _public internet_ IP addresses.
323+
324+
[Reserved IP address ranges](https://en.wikipedia.org/wiki/Reserved_IP_addresses) aren't allowed in IP rules such as private addresses that start with 10, 172.16 to 172.31, and 192.168.
325+
326+
- You must provide allowed internet address ranges by using [CIDR notation](https://tools.ietf.org/html/rfc4632) in the form 16.17.18.0/24 or as individual IP addresses like 16.17.18.19.
327+
328+
- Only IPv4 addresses are supported for configuration of storage firewall rules.
329+
330+
- When this feature is enabled, you can test public endpoints using any client tool such as Curl, but the Endpoint Test tool in the portal isn't supported.
331+
332+
- You can only set the IP addresses for the AI Foundry hub after the hub has been created.
333+
257334
## Private storage configuration
258335
259336
If your storage account is private (uses a private endpoint to communicate with your project), you perform the following steps:

articles/ai-foundry/how-to/troubleshoot-secure-connection-project.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: azure-ai-foundry
77
ms.custom:
88
- build-2024
99
ms.topic: how-to
10-
ms.date: 02/21/2025
10+
ms.date: 04/30/2025
1111
ms.reviewer: meerakurup
1212
ms.author: larryfr
1313
author: Blackmist
@@ -17,9 +17,23 @@ author: Blackmist
1717

1818
When connecting to an [Azure AI Foundry](https://ai.azure.com) project configured with a private endpoint, you might encounter a 403 or a messaging saying that access is forbidden. Use the information in this article to check for common configuration problems that can cause this error.
1919

20-
## Securely connect to your project
20+
## Error loading Azure AI Hub or Project
2121

22-
To connect to a project secured behind a virtual network, use one of the following methods:
22+
If you recieved an error loading your Azure AI hub or project, there may be one of two causes.
23+
24+
1) You set public network access to __Disabled__ on your hub.
25+
2) You set public network access to __Enable from selected IPs__ on your hub.
26+
27+
Depending on which setting you have selected for Public access to your Azure AI hub and projects, ensure the following:
28+
29+
| Public Network Access Setting | Action |
30+
| ----- | ----- |
31+
| Disabled | Ensure an inbound private endpoint is created and approved from your virtual network to your Azure AI Foundry hub. Ensure you are securely connection to your hub or project using an Azure VPN, ExpressRoute, or Azure Bastion. |
32+
| Enable from selected IPs | Ensure your IP address is listed in the Firewall IP ranges allowed access Azure AI Foundry. If you cannot add your IP address, talk to your IT admin. |
33+
34+
## Securely connect to your hub or project
35+
36+
To connect to a hub or project secured behind a virtual network, use one of the following methods:
2337

2438
* [Azure VPN gateway](/azure/vpn-gateway/vpn-gateway-about-vpngateways) - Connects on-premises networks to the virtual network over a private connection. Connection is made over the public internet. There are two types of VPN gateways that you might use:
2539

articles/ai-services/agents/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ At Microsoft, we're committed to the advancement of AI driven by principles that
8181

8282
## Get started with Azure AI Agent Service
8383

84-
To get started with Azure AI Agent Service, you need to create an Azure AI Foundry hub and an Agent project in your Azure subscription.
84+
To get started with Azure AI Agent Service, you need to create an Azure AI Foundry project in your Azure subscription.
8585

8686
Start with the [quickstart](./quickstart.md) guide if it's your first time using the service.
87-
1. You can create a AI hub and project with the required resources.
87+
1. You can create a project with the required resources.
8888
1. After you create a project, you can deploy a compatible model such as GPT-4o.
8989
1. When you have a deployed model, you can also start making API calls to the service using the SDKs.
9090

articles/ai-services/computer-vision/quickstarts-sdk/client-library.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Get started with the Azure AI Vision Read REST API or client libraries. The Read
3636

3737
::: zone pivot="programming-language-javascript"
3838

39-
[!INCLUDE [NodeJS SDK quickstart](../includes/quickstarts-sdk/node-sdk.md)]
39+
[!INCLUDE [Node.js SDK quickstart](../includes/quickstarts-sdk/node-sdk.md)]
4040

4141
::: zone-end
4242

articles/ai-services/computer-vision/quickstarts-sdk/image-analysis-client-library.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ This article explains how to set up a basic image tagging script by using the Im
4040

4141
::: zone pivot="programming-language-javascript"
4242

43-
[!INCLUDE [NodeJS SDK quickstart](../includes/quickstarts-sdk/image-analysis-node-sdk.md)]
43+
[!INCLUDE [Node.js SDK quickstart](../includes/quickstarts-sdk/image-analysis-node-sdk.md)]
4444

4545
::: zone-end
4646

articles/ai-services/content-understanding/quickstart/use-ai-foundry.md

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,17 @@ To get started, make sure you have the following resources and permissions:
2222

2323
* An Azure subscription. If you don't have an Azure subscription, [create a free account](https://azure.microsoft.com/free/) before you begin.
2424

25-
* An Azure AI Foundry hub is required to manage the resources provisioned in your Content Understanding project, and it must be created in one of the following supported regions: westus, swedencentral, or australiaeast. If you're creating a hub for the first time, *see* [How to create and manage an Azure AI Foundry hub](../../../ai-foundry/how-to/create-azure-ai-resource.md?tabs=portal) to learn more. It's important to note you need the proper permissions to create a hub, or your admin may create one for you.
26-
27-
* If your role is **Contributor** or **Owner**, you can proceed with creating your own hub.
28-
29-
* If your role is **Azure AI Developer**, the hub must already be created before you can complete this quickstart. Your user role must be **Azure AI Developer**, **Contributor**, or **Owner** on the hub. For more information, see [hubs](../../../ai-foundry/concepts/ai-resources.md) and [Azure AI roles](../../../ai-foundry/concepts/rbac-azure-ai-foundry.md).
25+
* An Azure AI Foundry project created in one of the following supported regions: westus, swedencentral, or australiaeast. If you're creating a project for the first time, *see* [How to create an Azure AI Foundry project](../../../ai-foundry/how-to/create-projects.md) to learn more. It's important to note you need the proper permissions to create a project, or your admin may create one for you.
3026

3127
> [!IMPORTANT]
32-
> If your organization requires you to customize the security of storage resources, the AI Foundry doesn't currently expose all the features that can be configured. Refer to [Azure AI services API access keys](../../../ai-foundry/concepts/encryption-keys-portal.md) to create resources that meet your organizations requirements through the Azure portal. Policy enforced in Azure on the hub scope applies to all projects managed under it. To learn how to utilize customer managed keys, refer to [(Preview) Service-side storage of encrypted data when using customer-managed keys](../../../ai-foundry/concepts/encryption-keys-portal.md#preview-service-side-storage-of-encrypted-data-when-using-customer-managed-keys). Return here when you have resources created.
28+
> If your organization requires you to customize the security of storage resources, refer to [Azure AI services API access keys](../../../ai-foundry/concepts/encryption-keys-portal.md) to create resources that meet your organizations requirements through the Azure portal. To learn how to utilize customer managed keys, refer to [(Preview) Service-side storage of encrypted data when using customer-managed keys](../../../ai-foundry/concepts/encryption-keys-portal.md#preview-service-side-storage-of-encrypted-data-when-using-customer-managed-keys).
3329
34-
## Create your first Content Understanding project in the AI Foundry
30+
## Create your first Content Understanding project in the AI Foundry portal
3531

3632
> [!NOTE]
37-
> The Content Understanding project type is separate from the Generative AI project type, also available in the AI Foundry.
33+
> The Content Understanding project type is separate from the Generative AI project type, also available in the AI Foundry portal.
3834
39-
In order to try out [the Content Understanding service in the AI Foundry](https://aka.ms/cu-landing), you have to create a Content Understanding project. You can access Content Understanding from:
35+
In order to try out [the Content Understanding service in the AI Foundry portal](https://aka.ms/cu-landing), you have to create a Content Understanding project. You can access Content Understanding from:
4036

4137
* The [AI Foundry home page](https://ai.azure.com/)
4238

@@ -51,13 +47,9 @@ Once on the Content Understanding page, select `Create a new Content Understandi
5147

5248
:::image type="content" source="../media/quickstarts/cu-landing-page.png" lightbox="../media/quickstarts/cu-landing-page.png" alt-text="Screenshot of Content Understanding page.":::
5349

54-
Follow the steps in the project creation wizard, and start by selecting the hub that you already created. When the hub was created, it should provision an AI Services resource and a blob storage container which are selected by default. You can alternatively create one using the wizard, or the [Azure portal](../how-to/create-multi-service-resource.md). The following diagram illustrates the role of hubs, resources, and projects in the AI Foundry.
55-
56-
:::image type="content" source="../media/quickstarts/foundry-architecture.png" alt-text="Diagram of hub, project, and resource architecture.":::
57-
58-
Once you complete the setup steps, select `Create project`.
50+
Follow the steps in the project creation wizard. Once you complete the setup steps, select `Create project`.
5951

60-
## Sharing your content understanding project
52+
## Sharing your content understanding project
6153

6254
In order to share and manage access to the Content Understanding project you created, navigate to the Management Center, found at the bottom of the navigation for your project:
6355

articles/ai-services/document-intelligence/how-to-guides/use-sdk-rest-api.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@ Choose from the following Document Intelligence models and analyze and extract d
9494
::: zone pivot="programming-language-javascript"
9595

9696
::: moniker range="doc-intel-4.0.0"
97-
[!INCLUDE [NodeJS SDK quickstart](includes/v4-0/javascript-sdk.md)]
97+
[!INCLUDE [Node.js SDK quickstart](includes/v4-0/javascript-sdk.md)]
9898
::: moniker-end
9999

100100
::: moniker range="doc-intel-3.1.0 || doc-intel-3.0.0"
101101

102-
[!INCLUDE [NodeJS SDK quickstart](includes/v3-0/javascript-sdk.md)]
102+
[!INCLUDE [Node.js SDK quickstart](includes/v3-0/javascript-sdk.md)]
103103
::: moniker-end
104104

105105
::: zone-end
@@ -176,7 +176,7 @@ You use the following APIs to extract structured data from forms and documents:
176176
::: zone pivot="programming-language-javascript"
177177

178178
::: moniker range="doc-intel-2.1.0"
179-
[!INCLUDE [NodeJS SDK quickstart](includes/v2-1/javascript-sdk.md)]
179+
[!INCLUDE [Node.js SDK quickstart](includes/v2-1/javascript-sdk.md)]
180180
::: moniker-end
181181

182182
::: zone-end

articles/ai-services/document-intelligence/quickstarts/get-started-sdks-rest-api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ To learn more about the API features and development options, visit our [Overvie
7676
::: zone pivot="programming-language-javascript"
7777

7878
::: moniker range="doc-intel-4.0.0 || doc-intel-3.1.0 || doc-intel-3.0.0"
79-
[!INCLUDE [NodeJS SDK](includes/javascript-sdk.md)]
79+
[!INCLUDE [Node.js SDK](includes/javascript-sdk.md)]
8080
::: moniker-end
8181

8282
::: zone-end
@@ -150,7 +150,7 @@ To learn more about Document Intelligence features and development options, visi
150150
::: zone pivot="programming-language-javascript"
151151

152152
::: moniker range="doc-intel-2.1.0"
153-
[!INCLUDE [NodeJS SDK](includes/v2-1/javascript.md)]
153+
[!INCLUDE [Node.js SDK](includes/v2-1/javascript.md)]
154154
::: moniker-end
155155

156156
::: zone-end

articles/ai-services/immersive-reader/how-to-multiple-resources.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ In this tutorial, you learn how to:
2727

2828
* An Azure subscription. If you don't have one, create a [free account](https://azure.microsoft.com/free/ai-services).
2929
* A single Immersive Reader resource configured for Microsoft Entra authentication. Follow [these instructions](how-to-create-immersive-reader.md) to get set up.
30-
* A [NodeJS web app](quickstarts/client-libraries.md?pivots=programming-language-nodejs) that launches Immersive Reader.
30+
* A [Node.js web app](quickstarts/client-libraries.md?pivots=programming-language-nodejs) that launches Immersive Reader.
3131

3232
## Create multiple resources
3333

0 commit comments

Comments
 (0)