次の方法で共有

在查询时执行 Azure Purview 敏感度标签在 Azure AI 搜索中的实施

注释

此功能目前处于公开预览状态。 此预览版未随附服务级别协议,建议不要用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅适用于 Azure 预览版的补充使用条款

在查询时,Azure AI 搜索会强制实施在 Purview Microsoft 中定义的敏感度标签策略。 这些策略包括评估绑定到每个文档的 READ 使用权限。 因此,用户只能检索允许查看的文档。

此功能扩展 文档级访问控制 ,以符合组织在 Azure Purview 中管理的信息保护和合规性要求。

启用 Purview 敏感度标签索引后,Azure AI 搜索会在查询期间检查每个文档的标签元数据。 它基于 Purview 策略应用访问筛选器,以仅返回请求用户有权访问的结果。

本文介绍查询时敏感度标签强制实施的工作原理,以及如何发出安全搜索查询。

先决条件

在查询启用了敏感度标签的索引之前,必须满足以下条件:

局限性

  • 不支持Microsoft Entra 来宾用户 和跨租户查询。
  • 已启用 Purview 的索引不支持自动完成建议 API。
  • 如果标签评估失败(例如 Purview API 暂时不可用),服务将返回 5xx并且不 返回部分或未筛选的结果集。
  • 目前不支持基于 ACL 的安全筛选器 以及敏感度标签功能。 不要同时启用这两者。 一旦支持组合使用,将会在技术文档中相应记录。
  • 系统仅在上次索引器运行时评估现有的标签;最近的标签更改可能无法立即反映,需等到下一个计划的重新编制索引。

查询时敏感度标签强制执行的工作原理

查询包含 Azure Purview 敏感度标签的索引时,Azure AI 搜索会在返回结果之前检查关联的 Purview 策略。 这样,查询仅返回用户令牌允许访问的文档。

1.用户标识和应用程序角色输入

在查询时,Azure AI 搜索会验证两者:

  • 调用应用程序的 RBAC 角色,在 Authorization 标头中提供。
  • 标头中 x-ms-query-source-authorization 提供的通过令牌的用户标识。

两者都需要授权基于标签的可见性。

输入类型 Description 示例源
应用程序角色 确定调用应用是否有权对索引执行查询。 Authorization: Bearer <app-token>
用户标识 确定允许最终用户访问的敏感度标签。 x-ms-query-source-authorization: Bearer <user-token>

2. 敏感度标签评估

收到查询请求后,Azure AI 搜索将评估:

  1. 每个索引文档中的 sensitivityLabel 字段(在引入期间从 Azure Purview 中提取)。
  2. 用户的有效 Purview 权限,由 Microsoft Entra ID 和 Purview 标签策略定义。

如果用户没有获得具有提取权限的文档敏感度标签的授权,该文档将从查询结果中排除。

注释

在内部,该服务会生成类似于 RBAC 强制的动态访问筛选器。
这些筛选器不可见,无法在查询有效负载中修改。

3.保护结果筛选

Azure AI 搜索在所有用户定义筛选器和评分步骤之后应用安全筛选器。
仅当满足以下条件时,文档才会被包含在最终结果集中。

  • 调用应用程序具有有效的角色分配(通过 RBAC 进行),并且
  • 表示 x-ms-query-source-authorization 的用户标识令牌有效,并允许使用文档的敏感度标签查看内容。

如果任一条件失败,则会从结果中省略文档。

查询示例

下面是使用 Azure Purview 敏感度标签强制执行的查询请求的示例。
查询令牌在请求头中传递。 这两个标头都必须包含表示应用程序和最终用户的有效持有者令牌。

POST  {{endpoint}}/indexes/sensitivity-docs/docs/search?api-version=2025-11-01-preview
Authorization: Bearer {{app-query-token}}
x-ms-query-source-authorization: Bearer {{user-query-token}}
Content-Type: application/json

{
    "search": "*",
    "select": "title,summary,sensitivityLabel",
    "orderby": "title asc"
}

当 Azure AI 搜索使用来自 SharePoint、Azure Blob 等源的敏感度标签为文档内容编制索引时,它将存储内容和标签元数据。 搜索查询返回索引内容以及标识应用于文档的敏感度标签的 GUID,前提是用户对该文档具有数据读取访问权限。 此 GUID 唯一标识标签,但不包括可读属性,例如标签名称或关联权限。

请注意,仅 GUID 就不足以满足包括用户界面的方案,因为敏感度标签通常携带Microsoft Purview 信息保护强制实施的其他策略控制,例如:打印权限或屏幕截图和屏幕捕获限制。 Azure AI 搜索不会呈现这些功能。

若要显示标签名称和/或强制实施特定于 UI 的限制,应用程序必须调用 Azure Purview 信息保护终结点来检索完整的标签元数据和关联权限。

可以使用 Azure AI 搜索返回的 GUID 解析标签属性,并调用 Purview 标签 API 来提取标签名称、说明和策略设置。 此 端到端演示示例 包含演示如何从用户界面调用终结点的代码。 它还演示如何提取标签名称,并将其作为 RAG 应用程序或代理中使用的引文的一部分公开。