Skip to content

Commit 3a22a01

Browse files
committed
trusted exception edits
1 parent 8821f34 commit 3a22a01

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

articles/search/service-configure-firewall.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@ ms.date: 06/27/2024
1515

1616
# Configure network access and firewall rules for Azure AI Search
1717

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.
1919

2020
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:
2121

2222
+ Inbound rules listing the IP addresses, ranges, or subnets from which requests are admitted
2323
+ 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)
2424

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.
2626

2727
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).
2828

2929
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.
3030

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).
3232

3333
## Prerequisites
3434

@@ -42,7 +42,7 @@ There are a few drawbacks to locking down the public endpoint.
4242

4343
+ 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.
4444

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.
4646

4747
<a id="configure-ip-policy"></a>
4848

@@ -119,14 +119,16 @@ A banner informs you that IP rules affect the portal experience. This banner rem
119119

120120
## Grant access to trusted Azure services
121121

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.
123123

124124
The trusted service list for Azure AI Search includes:
125125

126126
+ `Microsoft.CognitiveServices` for Azure OpenAI and Azure AI services
127127
+ `Microsoft.MachineLearningServices` for Azure Machine Learning
128128

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
130132

131133
For managed identities on Azure OpenAI and Azure Machine Learning:
132134

@@ -139,7 +141,11 @@ For managed identities on Azure AI services:
139141
1. On the leftmost pane, under **Resource management**, select **Identity**.
140142
1. Set **System-assigned** to **On**.
141143

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.
143149

144150
> [!NOTE]
145151
> 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
148154

149155
Once a request is allowed through the firewall, it must be authenticated and authorized. You have two options:
150156

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.
152158

153159
+ [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.
154160

0 commit comments

Comments
 (0)