Agentes en Microsoft Foundry: cómo aislar usuarios, conversaciones y archivos

Dos espacios de trabajo separados representan el aislamiento de usuarios y archivos en agentes de Foundry

Un agente empresarial puede atender a muchas personas desde un mismo endpoint. Para que eso sea seguro, hay que distinguir la identidad del usuario, su conversación y el espacio donde se conservan sus archivos. Separar el historial no garantiza separar los documentos cuando varias personas comparten el mismo entorno de ejecución.

Roger Barreto y Tao Chen explican estos controles en una guía de Microsoft publicada el 22 de septiembre de 2026. Incluye ejemplos para Microsoft Agent Framework en .NET y Python. El servicio Foundry Hosted Agents está disponible generalmente, mientras que sus paquetes de integración continúan en prerrelease.

Tres conceptos que conviene separar

Concepto Función
Identidad Representa al usuario que realiza la solicitud.
Conversación Conserva mensajes, llamadas a herramientas y respuestas.
Sesión alojada Identifica el entorno de ejecución y los archivos persistentes mediante agent_session_id.

El framework permite utilizar sesiones creadas por Foundry o asociar una sesión previamente creada por la aplicación. Fuente: guía de aislamiento de Microsoft Agent Framework.

Autenticación y delegación

En el acceso directo, Foundry identifica al llamador mediante su token de Microsoft Entra. Cuando una aplicación autentica a sus propios usuarios, un servicio intermediario de confianza puede enviar una identidad delegada mediante x-ms-user-identity.

La identidad de ese servicio necesita un rol personalizado con el permiso Microsoft.CognitiveServices/accounts/AIServices/agents/endpoints/UserIdentityImpersonation/action. La documentación indica que no está incluido en los roles integrados. El valor del encabezado debe derivarse de la identidad autenticada en el servidor; aceptarlo directamente del navegador permitiría suplantaciones.

La aplicación también debe controlar la asignación de sesiones: la delegación no impide por sí sola que dos usuarios sean dirigidos al mismo espacio de archivos. Fuente: aislamiento por usuario y permisos.

Qué sucede cuando se comparte una sesión

Foundry protege las cadenas de respuestas por usuario. Sin embargo, los archivos, filas y cachés que mantiene el contenedor requieren una partición explícita. Microsoft propone identificar esos datos por la combinación de sesión y usuario, en lugar de emplear solamente el identificador de sesión.

Una prueba documentada consiste en crear dos respuestas como usuario A e intentar continuar esa cadena como usuario B. La continuación debe fallar. Esta prueba valida el historial; debe complementarse con verificaciones de los archivos y datos propios. Se requieren identidades realmente distintas y un agente desplegado: el modo local no aplica el aislamiento de la plataforma.

Fuente: sesiones compartidas, partición de datos y prueba A-A-B.

Preparación del piloto

La integración documenta una suscripción Azure, un proyecto Foundry con un modelo desplegado, Azure Developer CLI y paquetes de alojamiento prerrelease. Según el lenguaje, se requiere .NET 10 o Python 3.10 o posterior. Conviene fijar las versiones y comprobar las dependencias del ejemplo elegido antes de desplegar.

Los servicios Azure, los modelos y los sistemas conectados mantienen sus costos y condiciones de uso. Antes de reutilizar código en un producto, deben revisarse sus licencias. Fuente: requisitos e integración con Agent Framework.

Pruebas de aceptación propuestas

El siguiente plan es una propuesta editorial; no representa un piloto ejecutado ni resultados medidos por Enoiax.

  1. Desplegar un agente mínimo en un proyecto de prueba y registrar las versiones utilizadas.
  2. Asignar inicialmente una sesión diferente a cada usuario y utilizar documentos sintéticos reconocibles.
  3. Comprobar lectura, listado y descarga de archivos con ambas identidades.
  4. Intentar intercambiar identificadores de usuario, sesión y respuesta; verificar los rechazos esperados en cada capa.
  5. Ejecutar llamadas sin permiso de delegación y confirmar que no se acepten como solicitudes autorizadas.
  6. Repetir la prueba después de inactividad y reanudación, y verificar eliminación y contenido de las trazas.

El ciclo de vida merece una comprobación independiente: reutilizar agent_session_id recupera el espacio de trabajo, pero no reproduce por sí solo los mensajes anteriores. Fuente: gestión de sesiones y conversaciones.

Aplicación a asistentes empresariales

Este patrón puede orientar pruebas de asistentes que consultan documentación, incidencias o información de D365FO y Azure DevOps. Es una posibilidad de adaptación: las guías citadas no entregan esas integraciones. La autorización debe comprobarse también en cada sistema de destino.

Para una primera evaluación, recomendamos sesiones separadas y datos sintéticos. Compartir sesiones exige justificar la necesidad y demostrar la separación de archivos, cachés y registros. Un piloto mínimo podría requerir entre dos y tres jornadas; es una estimación orientativa, sujeta al despliegue y a los permisos disponibles.

La replicabilidad es media: existen procedimientos concretos, pero falta comprobar su comportamiento en el entorno elegido. Los principales riesgos son la asignación incorrecta de sesiones, permisos excesivos, información sensible en trazas y cambios de compatibilidad en dependencias prerrelease.

Recomendación: probar. Utilizar las verificaciones como criterio de aceptación antes de incorporar datos reales. Una demostración funcional no reemplaza las pruebas de acceso cruzado.

Scroll al inicio