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-security-overview.md
+23-14Lines changed: 23 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ ms.service: cognitive-search
10
10
ms.custom:
11
11
- ignite-2023
12
12
ms.topic: conceptual
13
-
ms.date: 11/10/2023
13
+
ms.date: 03/25/2024
14
14
---
15
15
16
16
# Security overview for Azure AI Search
@@ -29,32 +29,41 @@ Azure AI Search has three basic network traffic patterns:
29
29
30
30
### Inbound traffic
31
31
32
-
Inbound requests that target a search service endpoint can be characterized as:
32
+
Inbound requests that target a search service endpoint include:
33
33
34
-
+ Create or manage indexes, indexers, data sources, skillsets, and synonym maps
34
+
+ Create or manage objects on the search service (indexes, indexers, data sources, skillsets, synonym maps)
35
35
+ Trigger indexer or skillset execution
36
-
+ Load or query an index
36
+
+ Load an index
37
+
+ Query an index
37
38
38
39
You can review the [REST APIs](/rest/api/searchservice/) to understand the full range of inbound requests that are handled by a search service.
39
40
40
-
At a minimum, all inbound requests must be authenticated:
41
+
At a minimum, all inbound requests must be authenticated using either of these options:
41
42
42
-
+ Key-based authentication is the default. Inbound requests that include a valid API key are accepted by the search service as originating from a trusted party.
43
-
+Microsoft Entra ID and role-based access control are also widely used for data plane operations.
43
+
+ Key-based authentication (default). Inbound requests provide a valid API key.
44
+
+Role-based access control. Microsoft Entra identities and role assignments authorize access.
44
45
45
46
Additionally, you can add [network security features](#service-access-and-authentication) to further restrict access to the endpoint. You can create either inbound rules in an IP firewall, or create private endpoints that fully shield your search service from the public internet.
46
47
47
48
### Outbound traffic
48
49
49
50
Outbound requests from a search service to other applications are typically made by indexers for text-based indexing, skills-based AI enrichment, and vectorization. Outbound requests include both read and write operations.
50
51
51
-
The following list is a full enumeration of the outbound requests that can be made by a search service. A search service makes requests on its own behalf, and on the behalf of an indexer or custom skill:
52
+
The following list is a full enumeration of the outbound requests that can be made by a search service. A search service makes requests on its own behalf, and on the behalf of an indexer or custom skill.
52
53
53
-
+ Indexers [read from external data sources](search-indexer-securing-resources.md).
54
+
| Operation | Scenario |
55
+
| ----------| -------- |
56
+
| Indexers | Connect to external data sources to retrieve data. For more information, see [Indexer access to content protected by Azure network security](search-indexer-securing-resources.md). |
57
+
| Indexers | Connect to Azure Storage to persist [knowledge stores](knowledge-store-concept-intro.md), [cached enrichments](cognitive-search-incremental-indexing-conceptual.md), [debug sessions](cognitive-search-debug-session.md). |
58
+
| Custom skills | Connect to Azure functions, Azure web apps, or other apps running external code that's hosted off-service. The request for external processing is sent during skillset execution. |
59
+
| Indexers and [integrated vectorization](vector-search-integrated-vectorization.md)| Connect to Azure OpenAI and a deployed embedding model, or it goes through a custom skill to connect to an embedding model that you provide. The search service sends text to embedding models for vectorization during indexing or query execution. |
60
+
| Search service | Connect to Azure Key Vault for customer-managed keys, used to encrypt and decrypt sensitive data. |
61
+
62
+
<!-- + Indexers connect to external data sources. For more information, see [Indexer access to content protected by Azure network security](search-indexer-securing-resources.md).
54
63
+ Indexers write to Azure Storage when creating knowledge stores, persisting cached enrichments, and persisting debug sessions.
55
-
+If you're using custom skills, custom skills connect to an external Azure function or app to run external code that's hosted off-service. The request for external processing is sent during skillset execution.
56
-
+If you're using[integrated vectorization](vector-search-integrated-vectorization.md), the search service connects to Azure OpenAI and a deployed embedding model, or it goes through a custom skill to connect to an embedding model that you provide. The search service sends text to embedding models for vectorization during indexing or query execution.
57
-
+If you're using customer-managed keys, the service connects to an external Azure Key Vault for a customer-managed key used to encrypt and decrypt sensitive data.
64
+
+ Custom skills connect to an external Azure function or app to run external code that's hosted off-service. The request for external processing is sent during skillset execution.
65
+
+ During [integrated vectorization](vector-search-integrated-vectorization.md), the search service connects to Azure OpenAI and a deployed embedding model, or it goes through a custom skill to connect to an embedding model that you provide. The search service sends text to embedding models for vectorization during indexing or query execution.
66
+
+ Search services connect to Azure Key Vault for customer-managed keys, used to encrypt and decrypt sensitive data.-->
58
67
59
68
Outbound connections can be made using a resource's full access connection string that includes a key or a database login, or [a managed identity](search-howto-managed-identities-data-sources.md) if you're using Microsoft Entra ID and role-based access.
60
69
@@ -123,7 +132,7 @@ Azure AI Search provides authorization models for service management and content
123
132
124
133
### Authorize service management
125
134
126
-
Resource management is authorized through [Azure role-based access control (Azure RBAC)](../role-based-access-control/overview.md). Azure RBAC is the authorization system for [Azure Resource Manager](../azure-resource-manager/management/overview.md).
135
+
Resource management is authorized through [role-based access control](../role-based-access-control/overview.md) in your Microsoft Entra tenant.
127
136
128
137
In Azure AI Search, Resource Manager is used to create or delete the service, manage API keys, scale the service, and configure security. As such, Azure role assignments will determine who can perform those tasks, regardless of whether they're using the [portal](search-manage.md), [PowerShell](search-manage-powershell.md), or the [Management REST APIs](/rest/api/searchmanagement).
129
138
@@ -163,7 +172,7 @@ If you require permissioned access over content in search results, there's a tec
163
172
164
173
When you set up a search service, you choose a location or region that determines where customer data is stored and processed. Azure AI Search won't store customer data outside of your specified region unless you configure a feature that has a dependency on another Azure resource, and that resource is provisioned in a different region.
165
174
166
-
Currently, the only external resource that a search service writes customer data to is Azure Storage. The storage account is one that you provide, and it could be in any region. A search service will write to Azure Storage if you use any of the following features: [enrichment cache](cognitive-search-incremental-indexing-conceptual.md), [debug session](cognitive-search-debug-session.md), [knowledge store](knowledge-store-concept-intro.md).
175
+
Currently, the only external resource that a search service writes to is Azure Storage. The storage account is one that you provide, and it could be in any region. A search service will write to Azure Storage if you use any of the following features: [enrichment cache](cognitive-search-incremental-indexing-conceptual.md), [debug session](cognitive-search-debug-session.md), [knowledge store](knowledge-store-concept-intro.md).
0 commit comments