Implementación de aislamiento de inquilinos usando agentes para Amazon Bedrock en un entorno multi-inquilino

Elena Digital López

El número de características de inteligencia artificial generativa (IA) dentro de las ofertas de software está en aumento, especialmente después de que los modelos fundamentales (FMs) líderes en el mercado se hicieron accesibles a través de una API utilizando Amazon Bedrock. Amazon Bedrock es un servicio totalmente gestionado que ofrece una selección de modelos fundamentales de alto rendimiento de compañías líderes en IA como AI21 Labs, Anthropic, Cohere, Meta, Stability AI y Amazon, a través de una única API, junto con un amplio conjunto de capacidades para construir aplicaciones de IA generativa con seguridad, privacidad y IA responsable.

Los agentes para Amazon Bedrock permiten a los desarrolladores de software completar acciones y tareas basadas en la entrada del usuario y los datos de la organización. Un desafío común en las ofertas multialquiler, como los productos de software como servicio (SaaS), es la protección de los inquilinos (tenant isolation). La protección de los inquilinos asegura que cada inquilino pueda acceder únicamente a sus propios recursos, incluso si todos los inquilinos operan sobre una infraestructura compartida.

Puedes aislar inquilinos en una aplicación utilizando diferentes patrones de arquitectura multialquiler. En algunos casos, la protección se logra dedicando pilas enteras de recursos a un solo inquilino (modelo silo) con políticas de grano grueso para evitar el acceso entre inquilinos. En otros escenarios, puedes tener recursos agrupados (como una tabla de base de datos que contiene filas de diferentes inquilinos) que requieren políticas de grano fino para controlar el acceso. A menudo, los clientes de Amazon Web Services (AWS) diseñan sus aplicaciones usando una mezcla de ambos modelos para balancear las compensaciones de los modelos.

La protección de inquilinos en un modelo agrupado se logra utilizando información de contexto del inquilino en diferentes componentes de la aplicación. El contexto del inquilino puede ser inyectado por una fuente autorizada, como el proveedor de identidad (IdP) durante la autenticación de un usuario. La integridad del contexto del inquilino debe ser preservada a lo largo del sistema para evitar que usuarios malintencionados actúen en nombre de un inquilino al que no deberían tener acceso, resultando en la exposición o modificación de datos potencialmente sensibles.

Los modelos fundamentales actúan sobre datos no estructurados y responden de manera probabilística. Estas propiedades hacen que los FMs no sean aptos para manejar de manera segura el contexto del inquilino. Por ejemplo, los FMs son susceptibles a la inyección de prompt, que puede ser utilizada por actores maliciosos para cambiar el contexto del inquilino. En lugar de ello, el contexto de inquilino debe ser pasado de manera segura entre componentes determinísticos de una aplicación, los cuales pueden consumir capacidades de FM, dando al FM únicamente información que ya está delimitada al inquilino específico.

En este artículo, aprenderás cómo implementar la protección de inquilinos utilizando agentes Amazon Bedrock en un entorno multiinquilino. Demostraremos esto usando una aplicación de comercio electrónico multiinquilino que proporciona un servicio para varios inquilinos para crear tiendas online. Esta aplicación utiliza agentes Amazon Bedrock para desarrollar un asistente de IA o chatbot capaz de proporcionar información específica del inquilino, como políticas de devolución e información específica del usuario como conteo de pedidos y actualizaciones de estado. Esta arquitectura muestra cómo puedes usar agentes Amazon Bedrock agrupados y aplicar la protección de inquilinos tanto a nivel de inquilino para la información de política de devolución como a nivel de usuario para los datos relacionados con el usuario, proporcionando una experiencia segura y personalizada para cada inquilino y sus usuarios.

El enfoque presentado aquí destaca cómo las capacidades de IA generativa pueden integrarse de manera segura en aplicaciones multiinquilino, asegurando al mismo tiempo la privacidad y seguridad de los datos de cada inquilino.

Scroll al inicio