Skip to content

Commit edd8070

Browse files
authored
Merge pull request #1023 from MicrosoftDocs/main
10/24/2024 PM Publish
2 parents 7c6def0 + c97c707 commit edd8070

File tree

10 files changed

+253
-4
lines changed

10 files changed

+253
-4
lines changed

articles/ai-services/computer-vision/how-to/identity-access-token.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ Independent software vendors (ISVs) can manage the Face API usage of their clien
1919

2020
This guide shows you how to generate the access tokens, if you're an approved ISV, and how to use the tokens if you're a client.
2121

22-
The limited access token feature is a part of the existing Azure AI Services token service. We have added a new operation for the purpose of bypassing the Limited Access gate for approved scenarios. Only ISVs that pass the gating requirements will be given access to this feature.
22+
The limited access token feature is a part of the existing Azure AI Services token service. We have added a new operation for the purpose of bypassing the Limited Access gate for approved scenarios.
23+
24+
> [!IMPORTANT]
25+
> Only ISVs that pass the gating requirements will be given access to this feature. To request approval, contact [[email protected]](mailto:[email protected]).
2326
2427
## Example use case
2528

articles/ai-services/computer-vision/overview-identity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ The goal of liveness detection is to ensure that the system is interacting with
8282

8383
The liveness detection solution successfully defends against a variety of spoof types ranging from paper printouts, 2d/3d masks, and spoof presentations on phones and laptops. Liveness detection is an active area of research, with continuous improvements being made to counteract increasingly sophisticated spoofing attacks over time. Continuous improvements will be rolled out to the client and the service components over time as the overall solution gets more robust to new types of attacks.
8484

85-
Our liveness detection solution meets iBeta Level 1 and 2 ISO/IEC 30107-3 compliance.
85+
Our liveness detection solution meets [iBeta Level 1 and 2 ISO/IEC 30107-3](https://www.ibeta.com/iso-30107-3-presentation-attack-detection-confirmation-letters/#letters) compliance.
8686

8787
Tutorial
8888
- [Face liveness Tutorial](Tutorials/liveness.md)

articles/ai-services/openai/includes/batch/batch-python.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,12 +401,27 @@ client.batches.cancel("batch_abc123") # set to your batch_id for the job you wan
401401

402402
### List batch
403403

404-
List all batch jobs for a particular Azure OpenAI resource.
404+
List batch jobs for a particular Azure OpenAI resource.
405405

406406
```python
407407
client.batches.list()
408408
```
409409

410+
List methods in the Python library are paginated.
411+
412+
To list all jobs:
413+
414+
```python
415+
all_jobs = []
416+
# Automatically fetches more pages as needed.
417+
for job in client.batches.list(
418+
limit=20,
419+
):
420+
# Do something with job here
421+
all_jobs.append(job)
422+
print(all_jobs)
423+
```
424+
410425
### List batch (Preview)
411426

412427
Use the REST API to list all batch jobs with additional sorting/filtering options.

articles/ai-services/openai/includes/batch/batch-rest.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,15 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/batches/{batch_id}/cance
245245

246246
### List batch
247247

248-
List all existing batch jobs for a given Azure OpenAI resource.
248+
List existing batch jobs for a given Azure OpenAI resource.
249249

250250
```http
251251
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/batches?api-version=2024-10-21 \
252252
-H "api-key: $AZURE_OPENAI_API_KEY"
253253
```
254254

255+
The list API call is paginated. The response contains a boolean `has_more` to indicate when there are more results to iterate through.
256+
255257
<a id="List"></a>
256258

257259
### List batch (Preview)
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
---
2+
title: How to access on-premises resources
3+
titleSuffix: Azure AI Studio
4+
description: Learn how to configure an Azure AI Studio managed network to securely allow access to your on-premises resources.
5+
manager: scottpolly
6+
ms.service: azure-ai-studio
7+
ms.topic: how-to
8+
ms.date: 10/24/2024
9+
ms.reviewer: meerakurup
10+
ms.author: larryfr
11+
author: Blackmist
12+
# Customer intent: As an admin, I want to allow my developers to securely access on-premises resources from Azure AI Studio.
13+
---
14+
15+
# Access on-premises resources from your Azure AI Studio's managed network (preview)
16+
17+
To access your non-Azure resources located in a different virtual network or located entirely on-premises from your Azure AI Studio's managed virtual network, an Application Gateway must be configured. Through this Application Gateway, full end to end access can be configured to your resources.
18+
19+
Azure Application Gateway is a load balancer that makes routing decisions based on the URL of an HTTPS request. Azure Machine Learning supports using an application gateway to securely communicate with non-Azure resources. For more on Application Gateway, see [What is Azure Application Gateway](/azure/application-gateway/overview).
20+
21+
To access on-premises or custom virtual network resources from the managed virtual network, you configure an Application Gateway on your Azure virtual network. The application gateway is used for inbound access to the AI Studio's hub. Once configured, you then create a private endpoint from the Azure AI Studio hub's managed virtual network to the Application Gateway. With the private endpoint, the full end to end path is secured and not routed through the Internet.
22+
23+
:::image type="content" source="../media/how-to/network/ai-studio-app-gateway.png" alt-text="Diagram of a managed network using Application Gateway to communicate with on-premises resources." lightbox="../media/how-to/network/ai-studio-app-gateway.png":::
24+
25+
## Prerequisites
26+
27+
- Read the [How an application gateway works](/azure/application-gateway/how-application-gateway-works) article to understand how the Application Gateway can secure the connection to your non-Azure resources.
28+
- Set up your Azure AI Studio hub's managed virtual network and select your isolation mode, either Allow Internet Outbound or Allow Only Approved Outbound. For more information, see [Managed virtual network isolation](configure-managed-network.md).
29+
- Get the private HTTP(S) endpoint of the resource to access.
30+
31+
## Supported resources
32+
33+
Application Gateway supports any backend target resource that uses HTTP or HTTPS protocol. Connections to the following resources from the managed virtual network are verified:
34+
- Jfrog Artifactory
35+
- Snowflake Database
36+
- Private APIs
37+
38+
## Configure Azure Application Gateway
39+
40+
Follow the [Quickstart: Direct web traffic using the portal](/azure/application-gateway/quick-create-portal). To correctly set up your Application Gateway for use with Azure Machine Learning, use the following guidance when creating the Application Gateway:
41+
42+
1. From the __Basics__ tab:
43+
44+
- Ensure your Application Gateway is in the same region as the selected Azure Virtual Network.
45+
- Azure AI Studio only supports IPv4 for Application Gateway.
46+
- With your Azure Virtual Network, select one dedicated subnet for your Application Gateway. No other resources can be deployed in this subnet.
47+
48+
1. From the __Frontends__ tab, Application Gateway doesn’t support private Frontend IP address only so Public IP addresses need to be selected or a new one created. Private IP addresses for the resources that the gateway connects to can be added within the range of the subnet you selected on the Basics tab.
49+
50+
1. From the __Backends__ tab, you can add your backend target to a backend pool. You can manage your backend targets by creating different backend pools. Request routing is based on the pools. You can add backend targets such as a Snowflake database.
51+
52+
1. From the __Configuration__ tab, you configure how requests are received with the frontend IPs and routed to the backend.
53+
54+
- In the __Listener__ section:
55+
- You can create a listener with either HTTP or HTTPS protocol and specify the port you want it to listen to. If you want two listeners listening on the same front-end IP address and routing to different backend pools, you need to choose different ports. Incoming requests are differentiated based on ports.
56+
- If you want end-to-end TLS encryption, select HTTPS listener and upload your own certificate for Application Gateway to decrypt request received by listener. For more information, see [Enabling end to end TLS on Azure Application Gateway](/azure/application-gateway/ssl-overview#end-to-end-tls-encryption).
57+
- If you want a fully private backend target without any public network access, DO NOT setup a listener on the public frontend IP address and its associated routing rule. Application Gateway only forwards requests that listeners receive at the specific port. If you want to avoid adding public frontend IP listener by mistake, see [Network security rules](/azure/application-gateway/configuration-infrastructure#network-security-groups) to fully lock down public network access.
58+
59+
- In the __Backend targets__ section, if you want to use HTTPS and Backend server’s certificate is NOT issued by a well-known CA, you must upload the Root certificate (.CER) of the backend server. For more on configuring with a root certificate, see [Configure end-to-end TLS encryption using the portal](/azure/application-gateway/end-to-end-ssl-portal).
60+
61+
1. Once the Application Gateway resource is created, navigate to the new Application Gateway resource in the Azure portal. Under __Settings__, select, __Private link__ to enable a virtual network to privately access the Application Gateway through a private endpoint connection. The Private link configuration isn't created by default.
62+
63+
- Select __+ Add__ to add the Private Link configuration, and then use the following values to create the configuration:
64+
- Name: Provide a name for your private link configuration
65+
- Private link subnet: Select a subnet in your virtual network.
66+
- Frontend IP Configuration: `appGwPrivateFrontendIpIPv4`
67+
- To verify the Private link is set up correctly, navigate to the __Private endpoint connections__ tab and select __+ Private endpoint__. On the __Resource__ tab, the __Target sub-resource__ should be the name of your private Frontend IP configuration, `appGwPrivateFrontendIpIPv4`. If no value appears in the __Target sub-resource__, then the Application Gateway listener wasn't configured correctly.
68+
69+
## Configure private link
70+
71+
1. Now that your Application Gateway’s front-end IP and backend pools are created, you can now configure the private endpoint from the managed virtual network to your Application Gateway. in the [Azure portal](https://portal.azure.com), navigate to your Azure AI Studio hub's __Networking__ tab. Select __Workspace managed outbound access__, __+ Add user-defined outbound rules__.
72+
1. In the __Workspace Outbound rules__ form, select the following to create your private endpoint:
73+
74+
- Rule name: Provide a name for your private endpoint to Application Gateway.
75+
- Destination Type: Private Endpoint
76+
- Subscription and Resource Group: Select the Subscription and Resource Group where your Application Gateway is deployed
77+
- Resource Type: `Microsoft.Network/applicationGateways`
78+
- Resource name: The name of your Application Gateway resource.
79+
- Sub resource: `appGwPrivateFrontendIpIPv4`
80+
- FQDNs: These FQDNs are the aliases that you want to use inside the Azure AI Studio. They're resolved to the managed private endpoint’s private IP address targeting Application Gateway. You might include multiple FQDNs depending on how many resources you would like to connect to with the Application Gateway.
81+
82+
> [!NOTE]
83+
> - If you are using HTTPS listener with certificate uploaded, make sure the FQDN alias matches with the certificate's CN (Common Name) or SAN (Subject Alternative Name) otherwise HTTPS call will fail with SNI (Server Name Indication).
84+
> - The provided FQDNs must have at least three labels in the name to properly create the private DNS zone of thee private endpoint for Application Gateway.
85+
> - The FQDNs field is editable after the private endpoint creation through SDK or CLI. The field is not editable in the Azure portal.
86+
> - Dyname sub-resource naming is not supported for the private Frontend IP configuration. The Frontend IP name must be `appGwPrivateFrontendIpIPv4`.
87+
88+
### Configure using Python SDK and Azure CLI
89+
90+
To create a private endpoint to Application Gateway with SDK, see [Azure SDK for Python](/python/api/azure-ai-ml/azure.ai.ml.entities.privateendpointdestination).
91+
92+
To create a private endpoint to Application Gateway with the Azure CLI, use the `az ml workspace outbound-rule set` command. Set properties as needed for your configuration. For more information, see [Configure a managed network](configure-managed-network.md?tabs=azure-cli).
93+
94+
## Limitations
95+
96+
- Application Gateway supports only HTTP(s) endpoints in the Backend pool. There's no support for non-HTTP(s) network traffic. Ensure your resources support HTTP(S) protocol.
97+
- To connect to Snowflake using the Application Gateway, you should add your own FQDN outbound rules to enable package/driver download and OCSP validation.
98+
- The Snowflake JDBC driver uses HTTPS calls, but different drivers might have different implementations. Check if your resource uses HTTP(S) protocol or not.
99+
- For more information on limitations, see [Frequently asked questions about Application Gateway](/azure/application-gateway/application-gateway-faq).
100+
101+
## Application Gateway Errors
102+
103+
For errors related to the Application Gateway connection to your backend resources, follow the existing Application Gateway documentation based on the errors you receive:
104+
105+
- [Troubleshoot backend health issues in Application Gateway](/azure/application-gateway/application-gateway-backend-health-troubleshooting)
106+
- [Troubleshooting bad gateway errors in Application Gateway](/azure/application-gateway/application-gateway-troubleshooting-502)
107+
- [HTTP response codes in Application Gateway](/azure/application-gateway/http-response-codes)
108+
- [Understanding disabled listeners](/azure/application-gateway/disabled-listeners)
109+
110+
## Related content
111+
112+
- [Managed virtual network isolation](configure-managed-network.md)
181 KB
Loading

articles/ai-studio/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,8 @@ items:
331331
href: how-to/configure-private-link.md
332332
- name: Secure playground chat
333333
href: how-to/secure-data-playground.md
334+
- name: Securely access on-premises resources
335+
href: how-to/access-on-premises-resources.md
334336
- name: Troubleshoot secure project connectivity
335337
href: how-to/troubleshoot-secure-connection-project.md
336338
- name: Data protection & encryption

0 commit comments

Comments
 (0)