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-rbac.md
+16-20Lines changed: 16 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,25 +8,25 @@ author: HeidiSteen
8
8
ms.author: heidist
9
9
ms.service: cognitive-search
10
10
ms.topic: how-to
11
-
ms.date: 01/05/2024
11
+
ms.date: 04/29/2024
12
12
ms.custom:
13
13
- subject-rbac-steps
14
14
- references_regions
15
15
- ignite-2023
16
16
---
17
17
18
-
# Connect to Azure AI Search using Azure role-based access control (Azure RBAC)
18
+
# Connect to Azure AI Search using Azure role-based access control
19
19
20
20
Azure provides a global [role-based access control authorization system](../role-based-access-control/role-assignments-portal.yml) for all services running on the platform. In Azure AI Search, you can use Azure roles for:
21
21
22
22
+ Control plane operations (service administration tasks through Azure Resource Manager).
23
23
24
24
+ Data plane operations, such as creating, loading, and querying indexes.
25
25
26
-
Per-user access over search results (sometimes referred to as row-level security or document-level security) isn't supported. As a workaround, [create security filters](search-security-trimming-for-azure-search.md) that trim results by user identity, removing documents for which the requestor shouldn't have access.
26
+
Per-user access over search results (sometimes referred to as *row-level security* or *document-level security*) isn't supported. As a workaround, [create security filters](search-security-trimming-for-azure-search.md) that trim results by user identity, removing documents for which the requestor shouldn't have access.
27
27
28
28
> [!NOTE]
29
-
> In Azure AI Search, "control plane" refers to operations supported in the [Management REST API](/rest/api/searchmanagement/) or equivalent client libraries. The "data plane" refers to operations against the search service endpoint, such as indexing or queries, or any other operation specified in the [Search REST API](/rest/api/searchservice/) or equivalent client libraries.
29
+
> A quick note about terminology. *Control plane* refers to operations supported in the [Management REST API](/rest/api/searchmanagement/) or equivalent client libraries. *Data plane* refers to operations against the search service endpoint, such as indexing or queries, or any other operation specified in the [Search REST API](/rest/api/searchservice/) or equivalent client libraries.
30
30
31
31
## Built-in roles used in Search
32
32
@@ -37,12 +37,12 @@ The following roles are built in. If these roles are insufficient, [create a cus
37
37
|[Owner](../role-based-access-control/built-in-roles.md#owner)| Control & Data | Full access to the control plane of the search resource, including the ability to assign Azure roles. Only the Owner role can enable or disable authentication options or manage roles for other users. Subscription administrators are members by default. </br></br>On the data plane, this role has the same access as the Search Service Contributor role. It includes access to all data plane actions except the ability to query or index documents.|
38
38
|[Contributor](../role-based-access-control/built-in-roles.md#contributor)| Control & Data | Same level of control plane access as Owner, minus the ability to assign roles or change authentication options. </br></br>On the data plane, this role has the same access as the Search Service Contributor role. It includes access to all data plane actions except the ability to query or index documents.|
39
39
|[Reader](../role-based-access-control/built-in-roles.md#reader)| Control & Data | Read access across the entire service, including search metrics, content metrics (storage consumed, number of objects), and the object definitions of data plane resources (indexes, indexers, and so on). However, it can't read API keys or read content within indexes. |
40
-
|[Search Service Contributor](../role-based-access-control/built-in-roles.md#search-service-contributor)| Control & Data | Read-write access to object definitions (indexes, synonym maps, indexers, data sources, and skillsets). See [`Microsoft.Search/searchServices/*`](../role-based-access-control/resource-provider-operations.md#microsoftsearch)for the permissions list. This role can't access content in an index, so no querying or indexing, but it can create, delete, and list indexes, return index definitions and statistics, and test analyzers. This role is for search service administrators who need to manage the search service and its objects, but without content access. |
41
-
|[Search Index Data Contributor](../role-based-access-control/built-in-roles.md#search-index-data-contributor)| Data | Read-write access to content in all indexes on the search service. This role is for developers or index owners who need to import, refresh, or query the documents collection of an index. |
42
-
|[Search Index Data Reader](../role-based-access-control/built-in-roles.md#search-index-data-reader)| Data | Read-only access to all search indexes on the search service. This role is for apps and users who run queries. |
40
+
|[Search Service Contributor](../role-based-access-control/built-in-roles.md#search-service-contributor)| Control & Data | Read-write access to object definitions (indexes, aliases, synonym maps, indexers, data sources, and skillsets). This role is for developers who create objects, and for administrators who manage a search service and its objects, but without access to index content. Use this role to create, delete, and list indexes, get index definitions, get service information (statistics and quotas), test analyzers, create and manage synonym maps, indexers, data sources, and skillsets. See [`Microsoft.Search/searchServices/*`](../role-based-access-control/resource-provider-operations.md#microsoftsearch) for the permissions list. |
41
+
|[Search Index Data Contributor](../role-based-access-control/built-in-roles.md#search-index-data-contributor)| Data | Read-write access to content in indexes. This role is for developers or index owners who need to import, refresh, or query the documents collection of an index. This role doesn't support index creation or management. By default, this role is for all indexes on a search service. See [Grant access to a single index](#grant-access-to-a-single-index) to narrow the scope. |
42
+
|[Search Index Data Reader](../role-based-access-control/built-in-roles.md#search-index-data-reader)| Data | Read-only access for querying search indexes. This role is for apps and users who run queries. This role doesn't support read access to object definitions. For example, you can't read a search index definition or get search service statistics. By default, this role is for all indexes on a search service. See [Grant access to a single index](#grant-access-to-a-single-index) to narrow the scope. |
43
43
44
44
> [!NOTE]
45
-
> If you disable Azure role-based access, built-in roles for the control plane (Owner, Contributor, Reader) continue to be available. Disabling Azure RBAC removes just the data-related permissions associated with those roles. In a disabled-RBAC scenario, Search Service Contributor is equivalent to control-plane Contributor.
45
+
> If you disable Azure role-based access, built-in roles for the control plane (Owner, Contributor, Reader) continue to be available. Disabling role-based access removes just the data-related permissions associated with those roles. If data plane roles are disabled, Search Service Contributor is equivalent to control-plane Contributor.
46
46
47
47
## Limitations
48
48
@@ -193,11 +193,11 @@ Make sure that you [register your client application with Microsoft Entra ID](se
193
193
194
194
1. On the Overview page, select the **Indexes** tab:
195
195
196
-
+ Contributors can view and create any object, but can't query an index using Search Explorer.
196
+
+Search Service Contributors can view and create any object, but can't load documents or query an index. To verify permissions, [create a search index](search-how-to-create-search-index.md#create-an-index).
197
197
198
-
+ Search Index Data Readers can use Search Explorer to query the index. You can use any API version to check for access. You should be able to send queries and view results, but you shouldn't be able to view the index definition.
198
+
+ Search Index Data Contributors can load and query documents. To verify permissions, use [Search explorer](search-explorer.md) to query documents. There's no load documents option in the portal outside of Import data wizard. Because the wizard also creates objects, you would need Search Service Contributor, plus Search Index Data Contributor.
199
199
200
-
+ Search Service Contributors can select **New Index** to create a new index. Saving a new index verifies write access on the service.
200
+
+ Search Index Data Readers can query the index. To verify permissions, use [Search explorer](search-explorer.md). You should be able to send queries and view results, but you shouldn't be able to view the index definition.
201
201
202
202
### [**REST API**](#tab/test-rest)
203
203
@@ -253,10 +253,6 @@ For more information on how to acquire a token for a specific environment, see [
253
253
254
254
1. Use [Azure.Identity for .NET](/dotnet/api/overview/azure/identity-readme) for token authentication. Microsoft recommends [`DefaultAzureCredential()`](/dotnet/api/azure.identity.defaultazurecredential) for most scenarios.
255
255
256
-
+ When obtaining the OAuth token, the scope is "https://search.azure.com/.default". The SDK requires the audience to be "https://search.azure.com". The ".default" is a Microsoft Entra convention.
257
-
258
-
+ The SDK validates that the user has the "user_impersonation" scope, which must be granted by your app, but the SDK itself just asks for "https://search.azure.com/.default".
259
-
260
256
1. Here's an example of a client connection using `DefaultAzureCredential()`.
261
257
262
258
```csharp
@@ -362,7 +358,7 @@ The portal doesn't currently support role assignments at this level of granulari
362
358
363
359
InPowerShell, use [New-AzRoleAssignment](/powershell/module/az.resources/new-azroleassignment), providingtheAzureuserorgroupname, andthescopeoftheassignment.
Copy file name to clipboardExpand all lines: articles/search/search-what-is-azure-search.md
+4-12Lines changed: 4 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,7 @@ Azure AI Search is well suited for the following application scenarios:
55
55
56
56
+ Use it for traditional full text search and next-generation vector similarity search. Back your generative AI apps with information retrieval that leverages the strength of keyword and similarity search. Use both modalities to retrieve the most relevant results.
57
57
58
-
+ Consolidate heterogeneous content into a user-defined and populated search index composed of vectors and text. You own and control what's searchable.
58
+
+ Consolidate heterogeneous content into a user-defined and populated search index composed of vectors and text. You maintain ownership and control over what's searchable.
59
59
60
60
+[Integrate data chunking and vectorization](vector-search-integrated-vectorization.md) for generative AI and RAG apps.
61
61
@@ -109,18 +109,10 @@ Customers often ask how Azure AI Search compares with other search-related solut
109
109
110
110
Key strengths include:
111
111
112
-
+ Store, index, and search vector embeddings for sentences, images, graphs, and more.
113
-
+ Find information that’s semantically similar to search queries, even if the search terms aren’t exact matches.
114
-
+ Use hybrid search for the best of keyword and vector search.
115
-
+ Relevance tuning through semantic ranking and scoring profiles.
116
-
+ Data integration (crawlers) at the indexing layer.
112
+
+ Support for vector and nonvector (text) indexing and queries. With vector similarity search, you can find information that’s semantically similar to search queries, even if the search terms aren’t exact matches. Use hybrid search for the best of keyword and vector search.
113
+
+ Ranking and relevance tuning through semantic ranking and scoring profiles. Query syntax supports term boosting and field prioritization.
114
+
+ Azure data integration (crawlers) at the indexing layer.
117
115
+ Azure AI integration for transformations that make content text and vector searchable.
118
116
+ Microsoft Entra security for trusted connections, and Azure Private Link for private connections in no-internet scenarios.
119
117
+[Full search experience](search-features-list.md): Linguistic and custom text analysis in 56 languages. Faceting, autocomplete queries and suggested results, and synonyms.
120
118
+ Azure scale, reliability, and global reach.
121
-
122
-
<!-- ## Watch this video
123
-
124
-
In this 15-minute video, review the main capabilities of Azure AI Search.
0 commit comments