Skip to content

Commit e8785b8

Browse files
committed
Repositioned encryption example and limitations
1 parent 6ed6fec commit e8785b8

11 files changed

+214
-215
lines changed

articles/search/cognitive-search-how-to-debug-skillset.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,6 @@ For background on how a debug session works, see [Debug sessions in Azure AI Sea
3030

3131
+ An existing enrichment pipeline, including a data source, a skillset, an indexer, and an index.
3232

33-
## Security and permissions
34-
35-
+ To save a debug session to Azure storage, the search service identity must have **Storage Blob Data Contributor** permissions on Azure Storage. Otherwise, plan on choosing a full access connection string for the debug session connection to Azure Storage.
36-
37-
+ If the Azure Storage account is behind a firewall, configure it to [allow search service access](search-indexer-howto-access-ip-restricted.md).
38-
3933
## Limitations
4034

4135
Debug sessions work with all generally available [indexer data sources](search-data-sources-gallery.md) and most preview data sources, with the following exceptions:
@@ -50,6 +44,12 @@ Debug sessions work with all generally available [indexer data sources](search-d
5044

5145
+ For custom skills, a user-assigned managed identity isn't supported for a debug session connection to Azure Storage. As stated in the prerequisites, you can use a system managed identity, or specify a full access connection string that includes a key. For more information, see [Connect a search service to other Azure resources using a managed identity](search-how-to-managed-identities.md).
5246

47+
## Security and permissions
48+
49+
+ To save a debug session to Azure storage, the search service identity must have **Storage Blob Data Contributor** permissions on Azure Storage. Otherwise, plan on choosing a full access connection string for the debug session connection to Azure Storage.
50+
51+
+ If the Azure Storage account is behind a firewall, configure it to [allow search service access](search-indexer-howto-access-ip-restricted.md).
52+
5353
## Create a debug session
5454

5555
1. Sign in to the [Azure portal](https://portal.azure.com) and [find your search service](https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Search%2FsearchServices).

articles/search/search-how-to-index-azure-blob-one-to-many.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Similar to the previous example, this mapping doesn't result in four documents s
138138

139139
## Limitations
140140

141-
When a document entry in the index is created from a line in a file, as explained in this article, deleting that line from the file does'nt automatically remove the corresponding entry from the index. To delete the document entry, you must manually submit a deletion request to the index using the [REST API deletion operation](/rest/api/searchservice/addupdate-or-delete-documents).
141+
When a document entry in the index is created from a line in a file, as explained in this article, deleting that line from the file doesn't automatically remove the corresponding entry from the index. To delete the document entry, you must manually submit a deletion request to the index using the [REST API deletion operation](/rest/api/searchservice/addupdate-or-delete-documents).
142142

143143
## Next steps
144144

articles/search/search-how-to-index-azure-data-lake-storage.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ For a code sample in C#, see [Index Data Lake Gen2 using Microsoft Entra ID](htt
3737

3838
+ Use a [REST client](search-get-started-text.md) to formulate REST calls similar to the ones shown in this article.
3939

40+
## Limitations
41+
42+
+ Unlike blob indexers, ADLS Gen2 indexers can't use container-level SAS tokens for enumerating and indexing content from a storage account. This is because the indexer makes a check to determine if the storage account has hierarchical namespaces enabled by calling the [Filesystem - Get properties API](/rest/api/storageservices/datalakestoragegen2/filesystem/get-properties). For storage accounts where hierarchical namespaces are not enabled, customers are instead recommended to utilize [blob indexers](search-how-to-index-azure-blob-storage.md) to ensure performant enumeration of blobs.
43+
44+
+ If the property `metadata_storage_path` is mapped to be the index key field, blobs are not guaranteed to get reindexed upon a directory rename. If you desire to reindex the blobs that are part of the renamed directories, update the `LastModified` timestamps for all of them.
45+
4046
<a name="SupportedFormats"></a>
4147

4248
## Supported document formats
@@ -306,12 +312,6 @@ PUT /indexers/[indexer name]?api-version=2025-09-01
306312
|"failOnUnprocessableDocument" | true or false | If the indexer is unable to process a document of an otherwise supported content type, specify whether to continue or fail the job. |
307313
| "indexStorageMetadataOnlyForOversizedDocuments" | true or false | Oversized blobs are treated as errors by default. If you set this parameter to true, the indexer will try to index its metadata even if the content cannot be indexed. For limits on blob size, see [service Limits](search-limits-quotas-capacity.md). |
308314

309-
## Limitations
310-
311-
1. Unlike blob indexers, ADLS Gen2 indexers cannot utilize container level SAS tokens for enumerating and indexing content from a storage account. This is because the indexer makes a check to determine if the storage account has hierarchical namespaces enabled by calling the [Filesystem - Get properties API](/rest/api/storageservices/datalakestoragegen2/filesystem/get-properties). For storage accounts where hierarchical namespaces are not enabled, customers are instead recommended to utilize [blob indexers](search-how-to-index-azure-blob-storage.md) to ensure performant enumeration of blobs.
312-
313-
2. If the property `metadata_storage_path` is mapped to be the index key field, blobs are not guaranteed to get reindexed upon a directory rename. If you desire to reindex the blobs that are part of the renamed directories, update the `LastModified` timestamps for all of them.
314-
315315
## Next steps
316316

317317
You can now [run the indexer](search-howto-run-reset-indexers.md), [monitor status](search-monitor-indexers.md), or [schedule indexer execution](search-howto-schedule-indexers.md). The following articles apply to indexers that pull content from Azure Storage:

articles/search/search-how-to-index-onelake-files.md

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,22 @@ This article uses the REST APIs to illustrate each step.
4848

4949
+ A [REST client](search-get-started-text.md) to formulate REST calls similar to the ones shown in this article.
5050

51+
## Limitations
52+
53+
+ Parquet (including delta parquet) file types aren't currently supported.
54+
55+
+ File deletion isn't supported for Amazon S3 and Google Cloud Storage shortcuts.
56+
57+
+ This indexer doesn't support OneLake workspace Table location content.
58+
59+
+ This indexer doesn't support SQL queries, but the query used in the data source configuration is exclusively to add optionally the folder or shortcut to access.
60+
61+
+ There's no support to ingest files from **My Workspace** workspace in OneLake since this is a personal repository per user.
62+
63+
+ Microsoft Purview Sensitivity Labels applied via Data Map are not currently supported. If sensitivity labels are applied to artifacts in OneLake using [Microsoft Purview Data Map](/purview/data-map-sensitivity-labels-apply), the indexer may fail to execute properly. To bypass this restriction, an exception must be granted by your organization’s IT team responsible for managing Purview sensitivity labels and Data Map configurations.
64+
65+
+ Workspace role-based permissions in Microsoft OneLake may affect indexer access to files. Ensure that the Azure AI Search service principal (managed identity) has sufficient permissions over the files you intend to access in the target [Microsoft Fabric workspace](/fabric/fundamentals/workspaces).
66+
5167
## Supported tasks
5268

5369
You can use this indexer for the following tasks:
@@ -78,23 +94,6 @@ The following OneLake shortcuts are supported by the OneLake files indexer:
7894

7995
+ [Google Cloud Storage shortcut](/fabric/onelake/create-gcs-shortcut)
8096

81-
## Limitations
82-
83-
+ Parquet (including delta parquet) file types aren't currently supported.
84-
85-
+ File deletion isn't supported for Amazon S3 and Google Cloud Storage shortcuts.
86-
87-
+ This indexer doesn't support OneLake workspace Table location content.
88-
89-
+ This indexer doesn't support SQL queries, but the query used in the data source configuration is exclusively to add optionally the folder or shortcut to access.
90-
91-
+ There's no support to ingest files from **My Workspace** workspace in OneLake since this is a personal repository per user.
92-
93-
+ Microsoft Purview Sensitivity Labels applied via Data Map are not currently supported. If sensitivity labels are applied to artifacts in OneLake using [Microsoft Purview Data Map](/purview/data-map-sensitivity-labels-apply), the indexer may fail to execute properly. To bypass this restriction, an exception must be granted by your organization’s IT team responsible for managing Purview sensitivity labels and Data Map configurations.
94-
95-
+ Workspace role-based permissions in Microsoft OneLake may affect indexer access to files. Ensure that the Azure AI Search service principal (managed identity) has sufficient permissions over the files you intend to access in the target [Microsoft Fabric workspace](/fabric/fundamentals/workspaces).
96-
97-
9897
## Prepare data for indexing
9998

10099
Before you set up indexing, review your source data to determine whether any changes should be made to your data in the lakehouse. An indexer can index content from one container at a time. By default, all files in the container are processed. You have several options for more selective processing:

articles/search/search-howto-managed-identities-cosmos-db.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ You can use a system-assigned managed identity or a user-assigned managed identi
2424

2525
* [Create a managed identity](search-how-to-managed-identities.md) for your search service.
2626

27+
## Limitations
28+
29+
* Indexers that connect to Azure Cosmos DB for Gremlin and MongoDB (currently in preview) only support the _legacy_ approach.
30+
2731
## Supported approaches for managed identity authentication
2832

2933
Azure AI Search supports two mechanisms to connect to Azure Cosmos DB using managed identity.
@@ -34,10 +38,6 @@ Azure AI Search supports two mechanisms to connect to Azure Cosmos DB using mana
3438

3539
Indexers that connect to Azure Cosmos DB for NoSQL support both the _legacy_ and the _modern_ approach - the _modern_ approach is recommended.
3640

37-
## Limitations
38-
39-
* Indexers that connect to Azure Cosmos DB for Gremlin and MongoDB (currently in preview) only support the _legacy_ approach.
40-
4141
## Connect to Azure Cosmos DB for NoSQL
4242

4343
This section outlines the steps to configure connecting to Azure Cosmos DB for NoSQL via the _modern_ approach.

articles/search/search-query-access-control-rbac-enforcement.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Azure Data Lake Storage (ADLS) Gen2 provides an access model that makes fine-gra
1717

1818
This article explains how to set up queries that use permission metadata to filter results.
1919

20-
## Requirements
20+
## Prerequisites
2121

2222
- Permission metadata must be in `filterable` string fields. You won't use the filter in your queries, but the search engine builds a filter internally to exclude unauthorized content.
2323

@@ -27,6 +27,14 @@ This article explains how to set up queries that use permission metadata to filt
2727

2828
- The latest preview REST API (2025-08-01-preview) or a preview package of an Azure SDK to query the index. This API version supports internal queries that filter out unauthorized results.
2929

30+
## Limitations
31+
32+
- If ACL evaluation fails (for example, the Graph API is unavailable), the service returns **5xx** and does **not** return a partially filtered result set.
33+
34+
- Document visibility requires both:
35+
- the calling application’s RBAC role (Authorization header)
36+
- the user identity carried by **x-ms-query-source-authorization**
37+
3038
## How query-time enforcement works
3139

3240
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.
@@ -51,14 +59,6 @@ For Azure RBAC, permissions are lists of resource ID strings. There must be an A
5159

5260
The security filter efficiently matches the userIds, groupIds, and rbacScope from the request 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.
5361

54-
## Limitations
55-
56-
- If ACL evaluation fails (for example, the Graph API is unavailable), the service returns **5xx** and does **not** return a partially filtered result set.
57-
58-
- Document visibility requires both:
59-
- the calling application’s RBAC role (Authorization header)
60-
- the user identity carried by **x-ms-query-source-authorization**
61-
6262
## Query example
6363

6464
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. The query token is the personal access token of a user or a group identity behind the request.

0 commit comments

Comments
 (0)