Saltar al contenido
Cursos/RAG avanzado y seguro/Qdrant y permisos
Revisión pendiente desde 21 ago 20263 fuentes primarias

Qdrant multiusuario y permisos

El fallo más peligroso en RAG multiusuario no es responder mal: es recuperar el documento correcto de la persona equivocada. Los permisos deben aplicarse antes de mandar contexto al modelo.

Qué vas a conseguir ahora

Una decisión o prueba aplicada a «Qdrant multiusuario y permisos».

  1. 1Entiende el criterio
  2. 2Haz una práctica pequeña
  3. 3Guarda una evidencia
Evidencia

Una nota breve con qué hiciste, qué salió bien, qué falló y qué revisarías después.

Objetivos de aprendizaje
  • Diseñar payloads para aislar clientes, usuarios y documentos.
  • Aplicar filtros antes de recuperar chunks.
  • Evitar una colección por cliente cuando no hace falta.
En cristiano: payload. Son los metadatos que acompañan a cada vector: cliente, usuario, documento, página, permisos, fecha o tipo de contenido.

Payload mínimo

Terminal
{
  "tenant_id": "cliente_acme",
  "workspace_id": "legal",
  "document_id": "contrato-001",
  "page": 12,
  "visibility": "internal",
  "allowed_roles": ["admin", "legal"],
  "source": "contratos/contrato-001.pdf"
}
Idea clave. Qdrant recomienda normalmente una colección por modelo de embeddings y separar tenants con payload/filtros. Es más manejable que crear cientos de colecciones pequeñas sin necesidad.

Filtro antes de buscar

Terminal
from qdrant_client import QdrantClient, models

client = QdrantClient("http://localhost:6333")

filtro = models.Filter(
    must=[
        models.FieldCondition(
            key="tenant_id",
            match=models.MatchValue(value="cliente_acme"),
        ),
        models.FieldCondition(
            key="allowed_roles",
            match=models.MatchAny(any=["legal"]),
        ),
    ]
)

resultados = client.query_points(
    collection_name="documentos",
    query=[0.01, 0.02, 0.03],
    query_filter=filtro,
    limit=5,
)
Cuidado. No recuperes todo y filtres después en el prompt. Si el texto prohibido llega al modelo, ya perdiste el aislamiento.

Prueba de fuga

Terminal
Caso:
- Usuario A pertenece a cliente_acme
- Usuario B pertenece a cliente_beta
- Ambos tienen una pregunta parecida

Test:
1. Indexa documentos con tenant_id distinto.
2. Pregunta como usuario A.
3. Verifica que ningún chunk de cliente_beta aparece en la traza.
Comprueba que funciona. Antes de producción, crea tests con documentos casi iguales en dos tenants. Si el sistema mezcla resultados, para y corrige filtros.
Guardar y reabrir el proyecto.
Permisos en RAG significan “filtrar antes de recuperar”. El prompt puede reforzar, pero no sustituye al control de acceso.

Si has guardado la evidencia de esta lección, continúa con «Prompt injection en RAG». Si no, repite la comprobación antes de avanzar.

Mapa completo de AulafyConsulta cómo encaja esta lección sin salir de tu ruta.

Mapa completo de Aulafy

Cómo se relacionan todos los cursos

No es una lista que debas completar. Empieza por la base, elige un resultado y profundiza solo cuando tu proyecto necesite más control.

  1. 1Comprender
  2. 2Aplicar o construir
  3. 3Operar con confianza
01

Empieza aquí

Crea una base común: qué puede hacer la IA, cómo pedir resultados y cómo comprobarlos antes de especializarte.

Desde esta base puedes aplicar la IA a una tarea o aprender a construir con código.

02

Elige una aplicación

Convierte la base en un resultado visible: una web, una mejora de negocio, contenido o una experiencia interactiva.

Si necesitas mantener código, datos o infraestructura, continúa por la rama técnica.

03

Construye con código

Prepara el entorno, trabaja con agentes de programación y aprende a ejecutar modelos con control sobre tus proyectos.

Esta rama prepara los conocimientos necesarios para diseñar y operar sistemas de IA fiables.

04

Lleva sistemas a producción

Combina recuperación, agentes, evaluación, seguridad, despliegue y adaptación de modelos cuando el problema lo exija.

No es obligatorio completarlo todo: elige solo la pieza que tu sistema necesita y vuelve al mapa cuando crezca.

Ver catálogo completo