Skip to main content

文档权限与安全

MimirQ 支持文档级 ACL(Access Control List),在数据集权限之下提供更细粒度的访问控制,支持 Security Trimming 场景。

访问模式

文档的 access_mode 字段控制文档级权限:

access_mode含义
NULL / inherit继承数据集权限(默认)
only_me仅 owner 可访问
partial_membersowner + 白名单用户/组
all_team_members租户内所有成员(仍受数据集权限约束)

Security Trimming 流程

双层过滤

Security Trimming 是后过滤:先从 Milvus 检索,再按权限过滤。如果大量文档被过滤,有效结果可能不足 top_k。建议合理规划数据集权限粒度。

文档权限数据模型

用户白名单

document_permissions 表:

字段类型说明
idUUID主键
tenant_idUUID租户 ID
document_idUUID文档 ID
account_idString被授权用户

唯一约束:(document_id, account_id)

组白名单

document_group_permissions 表:

字段类型说明
tenant_idUUID租户 ID
document_idUUID文档 ID
group_idUUIDTenantGroup ID

唯一约束:(tenant_id, document_id, group_id)

权限管理 API

方法路径说明
GET/{document_id}/access获取当前权限设置
PUT/{document_id}/access设置权限(覆盖)
POST/batch/access批量设置文档权限

权限检查时序

info

批量权限更新 (POST /batch/access) 接受 DocumentBatchAccessUpdateRequest,可一次性为多个文档设置相同的 access_mode 和白名单。

相关链接