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/search/search-indexer-howto-access-private.md
+28-17Lines changed: 28 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,14 +8,14 @@ author: mrcarter8
8
8
ms.author: mcarter
9
9
ms.service: azure-ai-search
10
10
ms.topic: how-to
11
-
ms.date: 10/22/2024
11
+
ms.date: 11/19/2024
12
12
---
13
13
14
14
# Make outbound connections through a shared private link
15
15
16
-
This article explains how to configure private, outbound calls from Azure AI Search to an Azure PaaS resource that runs within an Azure virtual network.
16
+
This article explains how to configure private, outbound calls from Azure AI Search to an Azure resource that runs within an Azure virtual network.
17
17
18
-
Setting up a private connection allows a search service to connect to a virtual network IP address instead of a port that's open to the internet. The object created for the connection is called a *shared private link*. On the connection, the search service uses the shared private link internally to reach an Azure PaaS resource inside the network boundary.
18
+
Setting up a private connection allows a search service to connect to a virtual network IP address instead of a port that's open to the internet. The object created for the connection is called a *shared private link*. On the connection, the search service uses the shared private link internally to reach an Azure resource inside the network boundary.
19
19
20
20
Shared private link is a premium feature that's billed by usage. When you set up a shared private link, charges for the private endpoint are added to your Azure invoice. As you use the shared private link, data transfer rates for inbound and outbound access are also invoiced. For details, see [Azure Private Link pricing](https://azure.microsoft.com/pricing/details/private-link/).
21
21
@@ -24,11 +24,12 @@ Shared private link is a premium feature that's billed by usage. When you set up
24
24
25
25
## When to use a shared private link
26
26
27
-
Azure AI Search makes outbound calls to other Azure PaaS resources in the following scenarios:
27
+
Azure AI Search makes outbound calls to other Azure resources in the following scenarios:
28
28
29
29
+ Indexer or search engine connections to Azure OpenAI for text-to-vector embeddings
30
30
+ Indexer connections to supported data sources
31
31
+ Indexer (skillset) connections to Azure Storage for caching enrichments, debug session sate, or writing to a knowledge store
32
+
+ Indexer (skillset) connections to Azure AI services for billing purposes
32
33
+ Encryption key requests to Azure Key Vault
33
34
+ Custom skill requests to Azure Functions or similar resource
34
35
@@ -39,16 +40,16 @@ Shared private links are for operations and data accessed through a [private end
39
40
A shared private link is:
40
41
41
42
+ Created using Azure AI Search tooling, APIs, or SDKs
42
-
+ Approved by the Azure PaaS resource owner
43
+
+ Approved by the Azure resource owner
43
44
+ Used internally by Azure AI Search on a private connection to a specific Azure resource
44
45
45
46
Only your search service can use the private links that it creates, and there can be only one shared private link created on your service for each resource and subresource combination.
46
47
47
-
Once you set up the private link, it's used automatically whenever the search service connects to that PaaS resource. You don't need to modify the connection string or alter the client you're using to issue the requests, although the device used for the connection must connect using an authorized IP in the Azure PaaS resource's firewall.
48
+
Once you set up the private link, it's used automatically whenever the search service connects to that resource. You don't need to modify the connection string or alter the client you're using to issue the requests, although the device used for the connection must connect using an authorized IP in the Azure resource's firewall.
48
49
49
50
There are two scenarios for using [Azure Private Link](/azure/private-link/private-link-overview) and Azure AI Search together.
50
51
51
-
+ Scenario one: create a shared private link when an *outbound* (indexer) connection to Azure PaaS requires a private connection.
52
+
+ Scenario one: create a shared private link when an *outbound* (indexer) connection to Azure requires a private connection.
52
53
53
54
+ Scenario two: [configure search for a private *inbound* connection](service-create-private-endpoint.md) from clients that run in a virtual network.
54
55
@@ -62,28 +63,36 @@ When evaluating shared private links for your scenario, remember these constrain
62
63
63
64
+ Several of the resource types used in a shared private link are in preview. If you're connecting to a preview resource (Azure Database for MySQL or Azure SQL Managed Instance), use a preview version of the Management REST API to create the shared private link. These versions include `2020-08-01-preview`, `2021-04-01-preview`, `2024-03-01-preview`, and `2024-06-01-preview`. We recommend the latest preview API.
64
65
65
-
+ Indexer execution must use the private execution environment that's specific to your search service. Private endpoint connections aren't supported from the multitenant environment. The configuration setting for this requirement is covered in this article.
66
+
+ Indexer execution must use the private execution environment that's specific to your search service. Private endpoint connections aren't supported from the multitenant content processing environment. The configuration setting for this requirement is covered in this article.
66
67
67
68
## Prerequisites
68
69
69
-
+For [integrated vectorization](vector-search-integrated-vectorization.md) only, outbound connections through shared private link are supported on all billable tiers, only on services [created after April 3, 2024](vector-search-index-size.md#how-to-check-service-creation-date) located in regions providing [higher capacity](search-limits-quotas-capacity.md#partition-storage-gb).
70
+
+Azure AI Search tier and region requirements, by workload:
70
71
71
-
+ For [AI enrichment](cognitive-search-concept-intro.md), skillset processing that doesn't include an embedding skill and in services [created before April 3, 2024](vector-search-index-size.md#how-to-check-service-creation-date), Azure AI Search must be Standard 2 (S2) or higher.
72
+
| Workload | Tier requirements | Region requirements | Service creation requirements |
| Indexers without skillsets | Basic and higher | None | None |
75
+
| Skillsets with embedding skills ([integrated vectorization](vector-search-integrated-vectorization.md)) | Basic and higher |[High capacity regions](search-limits-quotas-capacity.md#partition-storage-gb)|[After April 3, 2024](vector-search-index-size.md#how-to-check-service-creation-date)|
76
+
| Skillsets using [built-in](cognitive-search-predefined-skills.md) or custom skills | Standard 2 (S2) and higher | None |[After April 3, 2024](vector-search-index-size.md#how-to-check-service-creation-date)|
72
77
73
-
+ For all other use cases, that don't involve skillsets, Azure AI Search can be Basic or higher.
74
-
75
-
+ An Azure PaaS resource from the following list of [supported resource types](#supported-resource-types), configured to run in a virtual network.
78
+
+[A supported Azure resource](#supported-resource-types), configured to run in a virtual network.
76
79
77
80
+ Permissions on both Azure AI Search and the data source:
78
81
79
-
+ On the Azure PaaS resource, you must have the permission to approve private endpoint connections. For instance, if you're using an Azure Storage account as your data source (such as Blob container, Azure Files share, Azure table), you need `Microsoft.Storage/storageAccounts/privateEndpointConnectionsApproval/action`.
82
+
+ On the Azure resource, you must have permission to approve private endpoint connections. For instance, if you're using an Azure Storage account as your data source, you need `Microsoft.Storage/storageAccounts/privateEndpointConnectionsApproval/action`.
80
83
81
84
+ On the search service, you must have read and write permissions on shared private link resources and read operation statuses:
<!-- + For [integrated vectorization](vector-search-integrated-vectorization.md) only, outbound connections through shared private link are supported on all billable tiers, on services [created after April 3, 2024](vector-search-index-size.md#how-to-check-service-creation-date), in regions providing [higher capacity](search-limits-quotas-capacity.md#partition-storage-gb). -->
91
+
92
+
<!-- + For [AI enrichment](cognitive-search-concept-intro.md) and skillset processing, shared private link that doesn't include an embedding skill and in services [created before April 3, 2024](vector-search-index-size.md#how-to-check-service-creation-date), Azure AI Search must be Standard 2 (S2) or higher. -->
93
+
94
+
<!-- + For all other use cases, that don't involve skillsets, Azure AI Search can be Basic or higher. -->
95
+
87
96
<aname="group-ids"></a>
88
97
89
98
### Supported resource types
@@ -100,6 +109,7 @@ You can create a shared private link for the following resources.
<sup>1</sup> If Azure Storage and Azure AI Search are in the same region, the connection to storage is made over the Microsoft backbone network, which means a shared private link is redundant for this configuration. However, if you already set up a private endpoint for Azure Storage, you should also set up a shared private link or the connection is refused on the storage side. Also, if you're using multiple storage formats for various scenarios in search, make sure to create a separate shared private link for each subresource.
105
115
@@ -111,10 +121,11 @@ You can create a shared private link for the following resources.
111
121
112
122
<sup>5</sup> See [Create a shared private link for a SQL Managed Instance](search-indexer-how-to-access-private-sql.md) for instructions.
113
123
114
-
<sup>6</sup> The `Microsoft.CognitiveServices/accounts` resource type is used for vectorizer and indexer connections to Azure OpenAI when implementing [integrated Vectorization](vector-search-integrated-vectorization.md). There's currently no support for shared private link to embedding models in the Azure AI Studio model catalog or to the Azure AI Vision multimodal API.
124
+
<sup>6</sup> The `Microsoft.CognitiveServices/accounts` resource type is used for vectorizer and indexer connections to Azure OpenAI embedding models when implementing [integrated Vectorization](vector-search-integrated-vectorization.md). As of November 19, 2024, there's now support for shared private link to embedding models in the Azure AI Studio model catalog or to the Azure AI Vision multimodal API.
115
125
116
-
<sup>7</sup> Shared Private Link for Azure OpenAI is only supported in public cloud. Other cloud offerings such as [Microsoft Azure Government](https://azure.microsoft.com/explore/global-infrastructure/government/) don't have support for Shared Private Links for `openai_account` Group ID.
126
+
<sup>7</sup> Shared private link for Azure OpenAI is only supported in public cloud. Other cloud offerings such as [Microsoft Azure Government](https://azure.microsoft.com/explore/global-infrastructure/government/) don't have support for shared private links for `openai_account` Group ID.
117
127
128
+
<sup>8</sup> Shared private links are now supported (as of November 2024) for connections to Azure AI multiservice accounts. Azure AI Search connects to Azure AI multiservice for [billing purposes](cognitive-search-attach-cognitive-services.md). These connection can now be private through a shared private link.
118
129
119
130
## 1 - Create a shared private link
120
131
@@ -421,7 +432,7 @@ After the indexer is created successfully, it should connect to the Azure resour
421
432
422
433
+ If your indexer creation fails with "Data source credentials are invalid," check the approval status of the shared private link before debugging the connection. If the status is `Approved`, check the `properties.provisioningState` property. If it's `Incomplete`, there might be a problem with underlying dependencies. In this case, reissue the `PUT` request to re-create the shared private link. You might also need to repeat the approval step.
423
434
424
-
+ If indexers fail consistently or intermittently, check the [`executionEnvironment` property](/rest/api/searchservice/indexers/create-or-update) on the indexer. The value should be set to `private`. If you didn't set this property, and indexer runs succeeded in the past, it's because the search service used a private environment of its own accord. A search service moves processing out of the standard environment if the system is under load.
435
+
+ If indexers fail consistently or intermittently, check the [`executionEnvironment` property](/rest/api/searchservice/indexers/create-or-update) on the indexer. The value should be set to `private`. If you didn't set this property, and indexer runs succeeded in the past, it's because the search service used a private environment of its own accord. A search service moves processing out of the multitenant environment if the system is under load.
425
436
426
437
+ If you get an error when creating a shared private link, check [service limits](search-limits-quotas-capacity.md) to verify that you're under the quota for your tier.
|[**Network security perimeter**](search-security-network-security-perimiter.md)| Security | Join a search service to a [network security perimeter](/azure/private-link/network-security-perimeter-concepts) to control network access to your search service. The Azure portal and the Management REST APIs in the [2024-06-01-preview](/rest/api/searchmanagement/network-security-perimeter-configurations?view=rest-searchmanagement-2024-06-01-preview&preserve-view=true) can be used to view and reconcile network security perimeter configurations. |
27
+
|[**Shared private link support for Azure AI service connections**](search-indexer-howto-access-private.md)| Security | Connections to Azure AI for built-in skills processing can now be private using a shared private link on the connection. |
28
+
|[**Rescoring options for compressed vectors**](vector-search-how-to-quantization.md)| Relevance (scoring) | You can set options to rescore with original vectors instead of compressed vectors. Applies to HNSW and exhaustive KNN vector algorithms, using binary and scalar compression. Available in the [Create or Update Index (2024-11-01-preview)](/rest/api/searchservice/indexes/create-or-update?view=rest-searchservice-2024-09-01-preview&preserve-view=true), the Azure portal, and in the Azure SDK beta packages that provide this feature. |
27
29
|[**Query rewrite in the semantic reranker**](semantic-how-to-query-rewrite.md)| Relevance (scoring) | You can set options on a semantic query to rewrite the query input into a revised or expanded query that generates more relevant results from the L2 ranker. Available in the [Search Documents (2024-11-01-preview)](/rest/api/searchservice/documents/search-post?view=rest-searchservice-2024-11-01-preview&preserve-view=true), the Azure portal, and in the Azure SDK beta packages that provide this feature.|
28
30
|[**New semantic ranker models**](semantic-search-overview.md)| Relevance (scoring) | Semantic ranker runs with improved models in all supported regions. There is no change to APIs or the portal experience. |
29
31
|[**Document Layout skill**](cognitive-search-skill-document-intelligence-layout.md)| Applied AI (skills) | A new skill used to analyze a document for structure and provide [structure-aware chunking](search-how-to-semantic-chunking.md). This skill calls Document Intelligence and uses the Document Intelligence layout model. Available in selected regions through the [Create or Update Skillset (2024-11-01-preview)](/rest/api/searchservice/skillsets/create-or-update?view=rest-searchservice-2024-11-01-preview&preserve-view=true), the Azure portal, and in the Azure SDK beta packages that provide this feature.|
30
32
|[**Keyless billing for Azure AI skills processing**](cognitive-search-attach-cognitive-services.md). | Applied AI (skills) | You can now use a managed identity and roles for a keyless connection to Azure AI services for built-in skills processing. This capability removes restrictions for having both search and AI services in the same region. Available in the [Create or Update Skillset (2024-11-01-preview)](/rest/api/searchservice/skillsets/create-or-update?view=rest-searchservice-2024-11-01-preview&preserve-view=true), the Azure portal, and in the Azure SDK beta packages that provide this feature. |
31
33
|[**Markdown parsing mode**](search-how-to-index-markdown-blobs.md)| Indexer data source | With this parsing mode, indexers can generate one-to-one or one-to-many search documents from Markdown files in Azure Storage. Available in the [Create or Update Indexer (2024-11-01-preview)](/rest/api/searchservice/indexers/create-or-update?view=rest-searchservice-2024-11-01-preview&preserve-view=true), the Azure portal, and in the Azure SDK beta packages that provide this feature. |
32
-
|[**Rescoring options for compressed vectors**](vector-search-how-to-quantization.md)| Relevance (scoring) | You can set options to rescore with original vectors instead of compressed vectors. Applies to HNSW and exhaustive KNN vector algorithms, using binary and scalar compression. Available in the [Create or Update Index (2024-11-01-preview)](/rest/api/searchservice/indexes/create-or-update?view=rest-searchservice-2024-09-01-preview&preserve-view=true), the Azure portal, and in the Azure SDK beta packages that provide this feature. |
33
34
|[**2024-11-01-preview**](/rest/api/searchservice/search-service-api-versions?view=rest-searchservice-2024-11-01-preview&preserve-view=true)| API | Preview release of REST APIs for query rewrite, Document Layout skill, keyless billing for skills processing, Markdown parsing mode, and rescoring options for compressed vectors. |
34
35
|[**Portal support for structured data**](search-get-started-portal-import-vectors.md)| Feature | The **Import and vectorize data** wizard now supports Azure SQL, Azure Cosmos DB, and Azure Table Storage.|
0 commit comments