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-how-to-index-logic-apps-indexers.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ After the wizard completes, you have the following components:
41
41
| Component | Location | Description |
42
42
|-----------|----------|------------|
43
43
| Search index | Azure AI Search | Contains indexed content from a supported Logic Apps connector. The index schema is a default index created by the wizard. You can add extra elements, such as scoring profile or semantic configuration, but you can't change existing fields. You view, manage, and access the search index on Azure AI Search. |
44
-
| Logic app resource and workflow | Azure Logic Apps | You can view the running workflow, or you can open the designer in Azure Logic Apps to edit the workflow, as you regularly do if you'd started from Azure Logic Apps instead. You can edit and extend the workflow, but exercise caution so as to not break the indexing pipeline. |
44
+
| Logic app resource and workflow | Azure Logic Apps | You can view the running workflow, or you can open the designer in Azure Logic Apps to edit the workflow, as you regularly do if you'd started from Azure Logic Apps instead. You can edit and extend the workflow, but exercise caution so as to not break the indexing pipeline. The workflow created by the wizard uses the **Consumption** hosting option. |
45
45
| Logic app templates | Azure Logic Apps | Up to two templates created per workflow: one for on-demand indexing, and a second template for scheduled indexing. You can modify the indexing schedule in the **Index multiple documents** step of the workflow. |
46
46
47
47
## Prerequisites
@@ -101,6 +101,7 @@ Currently, the public preview has these limitations:
101
101
+ Vectorization supports text embedding only.
102
102
+ Deletion detection isn't supported. You must manually [delete orphaned documents](search-howto-reindex.md#delete-orphan-documents) from the index.
103
103
+ Duplicate documents in the search index are a known issue in this preview. Consider deleting objects and starting over if this becomes an issue.
104
+
+ No support for private endpoints in the logic app workflow created by the portal wizard. The workflow is hosted using the [**Consumption** hosting option](/azure/logic-apps/single-tenant-overview-compare) and is subject to its constraints. To use the **Standard** hosting option, use a programmatic approach to creating the workflow. Use the [2025-05-01-preview REST API](/rest/api/searchservice/operation-groups?view=rest-searchservice-2025-05-01-preview&preserve-view=true) or a prerelease Azure SDK package that provides the feature.
Copy file name to clipboardExpand all lines: articles/search/search-query-access-control-rbac-enforcement.md
+29-6Lines changed: 29 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,8 @@ Azure Data Lake Storage (ADLS) Gen2 provides an access model that makes fine-gra
29
29
30
30
This section lists the order of operations for ACL enforcement at query time. Operations vary depending on whether you use Azure RBAC scope or Microsoft Entra ID group or user IDs.
31
31
32
-
### 1. User permissions input
32
+
### 1. User permissions input
33
+
33
34
The end-user application sends user permission as part of the search query request. The following table lists the source of the user permissions Azure AI Search uses for ACL enforcement:
34
35
35
36
| Permission type | Source |
@@ -39,19 +40,41 @@ The end-user application sends user permission as part of the search query reque
39
40
| rbacScope | Permissions the user from `x-ms-query-source-authorization` has on a storage container |
40
41
41
42
### 2. Security filter construction
43
+
42
44
Azure AI Search dynamically constructs security filters based on the user permissions provided. These security filters are automatically appended to any filters that might come in with the query if the index has the permission filter option enabled.
43
45
44
-
For Azure RBAC, permissions are list of resource ID strings, and there must an Azure role assignment (Storage Blob Data Reader) on the data the source that grants access to the security principal token in the authorization header. The filter excludes documents if there's no role assignment for the principal behind the access token on the request.
46
+
For Azure RBAC, permissions are lists of resource ID strings, and there must be an Azure role assignment (Storage Blob Data Reader) on the data the source that grants access to the security principal token in the authorization header. The filter excludes documents if there's no role assignment for the principal behind the access token on the request.
45
47
46
-
### 3. Results filtering
48
+
### 3. Results filtering
49
+
47
50
The security filter efficiently matches the userIds, groupIds, and rbacScope from the user against each list of ACLs in every document in the search index to limit the results returned to ones the user has access to. It's important to note that each filter is applied independently and a document is considered authorized if any filter succeeds. For example, if a user has access to a document through userIds but not through groupIds, the document is still considered valid and returned to the user.
48
51
49
52
## Limitations
53
+
50
54
- If ACL evaluation fails (for example, Graph API is unavailable), the service returns **5xx** and does **not** return a partially filtered result set.
51
55
- Document visibility requires both:
52
56
- the calling application’s RBAC role (Authorization header), and
53
57
- the user identity carried by **x-ms-query-source-authorization**.
54
58
55
-
## Next steps
56
-
*[How to Index Permission Information](tutorial-adls-gen2-indexer-acls.md) provides a detailed walkthrough of how to set up an index with ACLs using Azure Search indexers.
57
-
*[Indexing ACLs and RBAC using Push API in Azure AI Search](search-index-access-control-lists-and-rbac-push-api.md) provides a walkthrough of how to set up an index with ACLs using the push API.
59
+
## Query example
60
+
61
+
Here's an example of a query request from [sample code](https://github.com/Azure-Samples/azure-search-rest-samples/tree/main/Quickstart-ACL). The query token is passed in the request header.
62
+
63
+
```http
64
+
POST {{endpoint}}/indexes/stateparks/docs/search?api-version=2025-05-01-preview
65
+
Authorization: Bearer {{search-token}}
66
+
x-ms-query-source-authorization: {{search-token}}
67
+
Content-Type: application/json
68
+
69
+
{
70
+
"search": "*",
71
+
"select": "name,description,location,GroupIds",
72
+
"orderby": "name asc"
73
+
}
74
+
```
75
+
76
+
## Related content
77
+
78
+
-[Tutorial: Index ADLS Gen2 permission metadata](tutorial-adls-gen2-indexer-acls.md) provides a detailed walkthrough of how to set up an index with ACLs using Azure Search indexers.
79
+
80
+
-[Indexing ACLs and RBAC using Push API in Azure AI Search](search-index-access-control-lists-and-rbac-push-api.md) provides a walkthrough of how to set up an index with ACLs using the push indexing approach with the REST APIs.
Copy file name to clipboardExpand all lines: articles/search/service-configure-firewall.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,7 +127,7 @@ For ping, the request times out, but the IP address is visible in the response.
127
127
128
128
A banner informs you that IP rules affect the Azure portal experience. This banner remains visible even after you add the Azure portal's IP address. Remember to wait several minutes for network rules to take effect before testing.
129
129
130
-
:::image type="content" source="media/service-configure-firewall/restricted-access.png" alt-text="Screenshot showing the restricted access banner.":::
Copy file name to clipboardExpand all lines: articles/search/tutorial-adls-gen2-indexer-acls.md
+25-2Lines changed: 25 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure AI Search
4
4
description: Learn how to index Access Control Lists (ACLs) and Azure Role-Based Access Control (RBAC) scope from ADLS Gen2 and query with permission-filtered results in Azure AI Search.
5
5
ms.service: azure-ai-search
6
6
ms.topic: tutorial
7
-
ms.date: 05/08/2025
7
+
ms.date: 05/20/2025
8
8
author: wlifuture
9
9
ms.author: wli
10
10
---
@@ -26,7 +26,7 @@ In this tutorial, you learn how to:
26
26
> + Create and run an indexer to ingest permission information into an index from a data source
27
27
> + Search the index you just created
28
28
29
-
You need a REST client to complete this tutorial. There's no currently no support for ACL indexing in the Azure portal.
29
+
Use a REST client to complete this tutorial and the [2025-05-01-preview](/rest/api/searchservice/operation-groups?view=rest-searchservice-2025-05-01-preview&preserve-view=true) REST API. There's no currently no support for ACL indexing in the Azure portal.
30
30
31
31
## Prerequisites
32
32
@@ -181,3 +181,26 @@ Indexer configuration for permission ingestion is primarily about defining `fiel
181
181
```
182
182
183
183
After indexer creation and immediate run, the file content along with permission metadata information are indexed into the index.
184
+
185
+
## Run a query to check results
186
+
187
+
Now that documents are loaded, you can issue queries against them by using [Documents - Search Post (REST)](/rest/api/searchservice/documents/search-post).
188
+
189
+
The URI is extended to include a query input, which is specified by using the `/docs/search` operator. The query token is passed in the request header. For more information, see [Query-Time ACL and RBAC enforcement](search-query-access-control-rbac-enforcement.md).
190
+
191
+
```http
192
+
POST {{endpoint}}/indexes/stateparks/docs/search?api-version=2025-05-01-preview
0 commit comments