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.