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/service-configure-firewall.md
+14-8Lines changed: 14 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,20 +15,20 @@ ms.date: 06/27/2024
15
15
16
16
# Configure network access and firewall rules for Azure AI Search
17
17
18
-
By default, Azure AI Search is configured for connections over a public endpoint. Access to a search service *through* the public endpoint is protected by authentication and authorization protocols, but the endpoint itself is open to the internet at the network layer.
18
+
By default, Azure AI Search is configured to allow connections over a public endpoint. Access to a search service *through* the public endpoint is protected by authentication and authorization protocols, but the endpoint itself is open to the internet at the network layer.
19
19
20
20
If you aren't hosting a public web site, you might want to configure network access to automatically refuse requests unless they originate from an approved set of devices and cloud services. There are two mechanisms:
21
21
22
22
+ Inbound rules listing the IP addresses, ranges, or subnets from which requests are admitted
23
23
+ Exceptions to network rules, where requests are admitted with no checks, as long as the request originates from a [trusted service](#grant-access-to-trusted-azure-services)
24
24
25
-
Network rules aren't required, but it's a security best practice to add them if you use Azure AI Search for intranet or internal corporate network scenarios.
25
+
Network rules aren't required, but it's a security best practice to add them if you use Azure AI Search for surfacing private or internal corporate content.
26
26
27
27
Network rules are scoped to data plane operations against the search service's public endpoint. Data plane operations include creating or querying indexes, and all other actions described by the [Search REST APIs](/rest/api/searchservice/). Control plane operations target service administration. Those operations specify resource provider endpoints, which are subject to the [network protections supported by Azure Resource Manager](/security/benchmark/azure/baselines/azure-resource-manager-security-baseline).
28
28
29
29
This article explains how to configure network access to a search service's public endpoint. To block *all* data plane access to the public endpoint, use [private endpoints](service-create-private-endpoint.md) and an Azure virtual network.
30
30
31
-
This article assumes the Azure portal for network access configuration. You can also use the [Management REST API](/rest/api/searchmanagement/), [Azure PowerShell](/powershell/module/az.search), or the [Azure CLI](/cli/azure/search).
31
+
This article assumes the Azure portal to explain network access options. You can also use the [Management REST API](/rest/api/searchmanagement/), [Azure PowerShell](/powershell/module/az.search), or the [Azure CLI](/cli/azure/search).
32
32
33
33
## Prerequisites
34
34
@@ -42,7 +42,7 @@ There are a few drawbacks to locking down the public endpoint.
42
42
43
43
+ It takes time to fully identify IP ranges and set up firewalls, and if you're in early stages of proof-of-concept testing and investigation and using sample data, you might want to defer network access controls until you actually need them.
44
44
45
-
+ Some workflows require access to a public endpoint. Specifically, the [Import and vectorize data wizard](search-get-started-portal-import-vectors.md) in the Azure portal currently connects to embedding models over the public endpoint. You can switch to code or script to complete the same tasks, but if you want to try the wizard, the public endpoint must be available.
45
+
+ Some workflows require access to a public endpoint. Specifically, the [Import and vectorize data wizard](search-get-started-portal-import-vectors.md) in the Azure portal currently connects to embedding models over the public endpoint, and the response from the embedding model is returned over the public endpoint. You can switch to code or script to complete the same tasks, but if you want to try the wizard, the public endpoint must be available.
46
46
47
47
<aid="configure-ip-policy"></a>
48
48
@@ -119,14 +119,16 @@ A banner informs you that IP rules affect the portal experience. This banner rem
119
119
120
120
## Grant access to trusted Azure services
121
121
122
-
Did you select the trusted services exception? If yes, your Azure resource must have a managed identity (either system or user-assigned, but usually system), and you must use role-based access controls.
122
+
Did you select the trusted services exception? If yes, your search service admits requests and responses from a trusted Azure resource without checking for an IP address. A trusted resource must have a managed identity (either system or user-assigned, but usually system). A trusted resource must have a role assignment on Azure AI Search that gives it permission to data and operations.
123
123
124
124
The trusted service list for Azure AI Search includes:
125
125
126
126
+`Microsoft.CognitiveServices` for Azure OpenAI and Azure AI services
127
127
+`Microsoft.MachineLearningServices` for Azure Machine Learning
128
128
129
-
Workflows for this network exception are requests originating *from* Azure AI Studio, Azure OpenAI Studio, or other AML features *to* Azure AI Search, typically in [Azure OpenAI On Your Data](/azure/ai-services/openai/concepts/use-your-data) scenarios for retrieval augmented generation (RAG) and playground environments.
129
+
Workflows for this network exception are requests originating *from* Azure AI Studio, Azure OpenAI Studio, or other AML features *to* Azure AI Search, typically in [Azure OpenAI On Your Data](/azure/ai-services/openai/concepts/use-your-data) scenarios for retrieval augmented generation (RAG) and playground environments.
130
+
131
+
### Trusted resources must have a managed identity
130
132
131
133
For managed identities on Azure OpenAI and Azure Machine Learning:
132
134
@@ -139,7 +141,11 @@ For managed identities on Azure AI services:
139
141
1. On the leftmost pane, under **Resource management**, select **Identity**.
140
142
1. Set **System-assigned** to **On**.
141
143
142
-
Once your Azure resource has a managed identity, [assign roles on Azure AI Search](search-security-rbac.md) to grant permissions to data and operations. We recommend Search Index Data Reader.
144
+
### Trusted resources must have a role assignment
145
+
146
+
Once your Azure resource has a managed identity, [assign roles on Azure AI Search](keyless-connections.md) to grant permissions to data and operations.
147
+
148
+
The application layer of a RAG solution typically needs query-only permissions (Search Index Data Reader) on Azure AI Search. But the trusted services are used for vectorization workloads: generating vectors from text and image content, and sending payloads back to the search service for query execution or indexing. If you need to load a search index with vectors generated by an embedding model, assign the Search Index Data Contributor role to your trusted resource.
143
149
144
150
> [!NOTE]
145
151
> This article covers the trusted exception for admitting requests to your search service, but Azure AI Search is itself on the trusted services list of other Azure resources. Specifically, you can use the trusted service exception for [connections from Azure AI Search to Azure Storage](search-indexer-howto-access-trusted-service-exception.md).
@@ -148,7 +154,7 @@ Once your Azure resource has a managed identity, [assign roles on Azure AI Searc
148
154
149
155
Once a request is allowed through the firewall, it must be authenticated and authorized. You have two options:
150
156
151
-
+[Key-based authentication](search-security-api-keys.md), where an admin or query API key is provided on the request. This is the default.
157
+
+[Key-based authentication](search-security-api-keys.md), where an admin or query API key is provided on the request. This option is the default.
152
158
153
159
+[Role-based access control](search-security-rbac.md) using Microsoft Entra ID, where the caller is a member of a security role on a search service. This is the most secure option. It uses Microsoft Entra ID for authentication and role assignments on Azure AI Search for permissions to data and operations.
0 commit comments