Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
注释
此功能目前处于公开预览状态。 此预览版未随附服务级别协议,建议不要用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Azure 预览版的使用条款。
在查询时,Azure AI 搜索强制实施Microsoft Purview中定义的敏感度标签策略。 这些策略包括评估绑定到每个文档的 READ 使用权限。 因此,用户只能检索允许查看的文档。
此功能扩展了 document 级访问控制,以符合组织在 Azure Purview 中管理的信息保护和合规性要求。
启用 Purview 敏感度标签索引后,Azure AI 搜索在查询期间检查每个文档的标签元数据。 它根据 Purview 策略应用访问筛选器,只返回请求用户被允许访问的结果。
本文介绍查询时敏感度标签强制实施的工作原理,以及如何发出安全搜索查询。
先决条件
Azure AI 搜索服务和发出查询的用户必须位于同一Microsoft Entra租户中。
REST API 的 2025-11-01-preview 版本或等效的预览 SDK 包,用于查询索引。
使用 Azure 基于角色的访问控制(RBAC)而不是 API 密钥对查询进行身份验证。 启用 Purview 敏感度标签后,API 密钥访问仅限于索引架构检索。
局限性
不支持Microsoft Entra Guest 用户和跨租户查询。
如果标签评估失败(例如 Purview API 暂时不可用),服务将返回 5xx ,并且不返回部分或未筛选的结果集。
系统仅在上次索引器运行时评估标签的存在状态。 在下次计划的重新编制索引之前,可能不会反映最近的标签更改。
查询时敏感度标签强制执行的工作原理
查询包含Microsoft 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 搜索计算结果:
- 每个索引文档中的 sensitivityLabel 字段(在摄取期间从 Microsoft Purview 提取)。
- 用户的有效 Purview 权限,由 Microsoft Entra ID 和 Purview 标签策略定义。
如果用户没有获得具有提取权限的文档敏感度标签的授权,该文档将从查询结果中排除。
注释
在内部,该服务会生成类似于 RBAC 强制机制的动态访问筛选器。
这些筛选器不可见,无法在查询有效负载中修改。
3.保护结果筛选
Azure AI 搜索在所有用户定义筛选器和评分步骤之后应用安全筛选器。
仅当满足以下条件时,文档才会被包含在最终结果集中。
- 调用应用程序具有有效的角色分配(通过 RBAC 进行),并且
- 表示
x-ms-query-source-authorization的用户标识令牌有效,并允许使用文档的敏感度标签查看内容。
如果任一条件失败,则会从结果中省略文档。
查询示例
下面是使用Microsoft 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 搜索中的敏感度标签处理
当Azure AI 搜索索引来自源(如 SharePoint、Azure Blob 等)的敏感度标签的文档内容时,它将存储内容和标签元数据。 搜索查询返回索引内容和用于标识文档应用的敏感度标签的GUID,前提是用户对该文档具有读取权限。 此 GUID 唯一标识标签,但不包括可读属性,例如标签名称或关联权限。
请注意,仅靠 GUID 在涉及用户界面的情况下是不够的,因为敏感度标签通常包含其他策略控制,这些策略由 Microsoft Purview 信息保护 强制实施,例如打印权限或屏幕截图和屏幕录制限制。 Azure AI 搜索不会呈现这些功能。
若要显示标签名称和/或强制实施特定于 UI 的限制,应用程序必须调用 Azure Purview 信息保护 终结点才能检索完整的标签元数据和关联权限。
可以使用Azure AI 搜索返回的 GUID 解析标签属性,并调用 Purview 标签 API提取标签名称、说明和策略设置。 此 端到端演示示例 包含演示如何从用户界面调用终结点的代码。 它还演示如何提取标签名称,并将其作为 RAG 应用程序或代理中使用的引文的一部分公开。