Español
  • control de acceso mcp
  • mcp rbac
  • token de acceso personal

Empodera tu negocio: Conecta herramientas de IA a tu servicio existente con control de acceso

Aprende cómo empoderar tu negocio conectando de manera segura herramientas de IA a tus servicios existentes usando Tokens de Acceso Personal y el Protocolo de Contexto de Modelo (MCP), con código fuente completo y ejemplos prácticos.

Yijun
Yijun
Developer

Deja de perder semanas en la autenticación de usuarios
Lanza aplicaciones seguras más rápido con Logto. Integra la autenticación de usuarios en minutos y concéntrate en tu producto principal.
Comenzar
Product screenshot

¡Bienvenido a la guía sobre cómo conectar herramientas de IA a tus servicios existentes con control de acceso!

Exploraremos cómo preparar tus servicios existentes para herramientas de IA, especialmente a través de la integración con LLM (usando el Protocolo de Contexto de Modelo)) y varios agentes de IA, abordando los desafíos del control de acceso.

A través de esta guía, ganarás:

  • Integración fluida de IA: Aprende cómo conectar herramientas de IA a tus servicios, haciendo que tus datos y funcionalidad estén disponibles en entornos de IA.
  • Seguridad mejorada de API: Mejora tus interfaces API para proteger los datos y la privacidad del usuario con un control de acceso eficaz.
  • Experiencia de IA personalizada para tu usuario: Crea experiencias únicas asistidas por IA para cada usuario a través de los Tokens de Acceso Personal.

Proporcionamos recursos completos de tutorial, PROYECTO DEMO COMPLETO CÓDIGO FUENTE (FRONTEND, BACKEND Y SERVIDOR MCP INCLUIDOS), e incluso guías prácticas para ayudarte a construir servicios preparados para IA desde cero.

Así es como esta guía puede mejorar tu negocio:

  • Ventaja competitiva: Mejora las capacidades técnicas y la experiencia del usuario de tu servicio para destacar en un mercado competitivo.
  • Mejora del valor para el usuario: Permite a los usuarios descubrir un valor más profundo en tu producto a través de herramientas de IA, aumentando las tasas de retención y satisfacción.
  • Servicios preparados para el futuro: Integra sin problemas tus servicios con el ecosistema de IA, preparándote para el próximo paisaje empresarial impulsado por IA y abriendo caminos de crecimiento innovadores.

¡Comencemos!

¿Qué es MCP y cómo conecta herramientas de IA a tu servicio

MCP (Protocolo de Contexto de Modelo) es un protocolo universal abierto que estandariza cómo las aplicaciones proporcionan información de contexto a modelos de lenguaje extensos (LLMs).

MCP consta de varios componentes clave que trabajan juntos para permitir que las herramientas de IA accedan a tus servicios:

En esta guía, solo necesitas saber que el Servidor MCP es el punto clave de conexión entre tu servicio y las herramientas de IA. Es responsable de proporcionar una serie de herramientas para que el LLM las use, y estas herramientas interactuarán con tus propios servicios. Para más detalles sobre MCP, puedes referirte a Qué es MCP (Protocolo de Contexto de Modelo) y cómo funciona. Aquí, nos centraremos solo en el Servidor MCP.

Usaremos un Sistema de Gestión de Contenidos (CMS) que ha integrado políticas de Control de Acceso Basado en Roles (RBAC) como nuestro ejemplo. Crearemos un Servidor MCP para él y definiremos una herramienta get-available-article-count que permite al LLM recuperar la cantidad de artículos disponibles para el usuario actual en el CMS:

Este es el código clave para conectar el Servidor MCP a tu servicio. En esta implementación de herramienta, envía una solicitud al endpoint api/articles del servicio y devuelve el resultado.

Sin embargo, esto está lejos de ser suficiente, porque la API de tu servicio puede no ser pública. Cada endpoint necesita control de acceso, y diferentes usuarios pueden acceder a diferentes recursos y datos.

Así que a continuación, discutiremos cómo agregar control de acceso a tu servicio.

Cómo implementar control de acceso para el servidor MCP

Es importante entender que los usuarios que acceden a tu sistema a través de herramientas de IA son las mismas personas que podrían usar tu sistema directamente; el Servidor MCP actúa como su representante cuando interactúan a través de herramientas de IA.

Por lo tanto, cuando los usuarios acceden a tus servicios a través de herramientas de IA, surgen dos desafíos prácticos de control de acceso:

  • ¿Cómo inicia sesión el Servidor MCP en tu sistema como un usuario?
  • ¿Debería tu sistema rediseñar todo su mecanismo de control de acceso solo para acomodar el Servidor MCP? Esto sería un costo y un esfuerzo significativos, especialmente cuando tu sistema original ya tiene su propio mecanismo de autenticación.

La clave para resolver estos problemas es:

¿Cómo pueden los usuarios permitir que el Servidor MCP otorgue acceso desde tu servicio sin usar sus credenciales e inicio de sesión interactivo?

Si puedes resolver este problema, puedes interactuar directamente con tu servicio a través del Servidor MCP, y tu servicio puede seguir usando el mecanismo de control de acceso previamente diseñado para los usuarios, ¡sin necesidad de rediseñar un nuevo sistema solo para el Servidor MCP!

¿Pero esto es posible?

¡Por supuesto que lo es! Podemos resolver este problema perfectamente utilizando Tokens de Acceso Personal!

Los tokens de acceso personal (PATs) proporcionan una forma segura para que los usuarios otorguen un token de acceso sin usar sus credenciales e inicio de sesión interactivo. Esto es útil para CI/CD, scripts o aplicaciones que necesitan acceder a recursos de manera programática.

Así es como luce el flujo de trabajo:

Entonces, siempre que tu sistema sea compatible con Tokens de Acceso Personal (PAT), puedes resolver perfectamente los desafíos de control de acceso entre herramientas de IA y tus servicios existentes sin rediseñar tus mecanismos de autenticación, mientras aseguras la seguridad de los datos y la protección de la privacidad de tus usuarios.

Ahora, veamos cómo implementar esto en la práctica.

Implementación del control de acceso en el servidor MCP

En esta sección, implementaremos el control de acceso para un servidor MCP usando un sistema CMS existente como nuestra base.

Puedes consultar el tutorial completo del ejemplo de CMS y el código fuente en RBAC en la práctica: Implementando una autorización segura para tu aplicación, pero esto no es obligatorio, cubriremos todos los principios esenciales aquí.

La muestra de CMS se basa en Logto, una plataforma de identidad de código abierto popular que proporciona una solución integral de autenticación y autorización, pero la implementación técnica no es el enfoque de este artículo.

Diseñar políticas de permisos y control de acceso para tu servicio

El primer paso para implementar el control de acceso es diseñar permisos y políticas de control de acceso para tu sistema.

En nuestro ejemplo de CMS, hemos diseñado los siguientes endpoints de API basados en RBAC (Control de Acceso Basado en Roles) y especificado los permisos requeridos para acceder a cada endpoint:

EndpointLógica de control de acceso
GET /api/articles- Cualquiera con el permiso list:articles, O autores pueden ver sus propios artículos
GET /api/articles/:id- Cualquiera con el permiso read:articles, O autor del artículo
POST /api/articles- Cualquiera con el permiso create:articles
PATCH /api/articles/:id- Cualquiera con el permiso update:articles, O autor del artículo
DELETE /api/articles/:id- Cualquiera con el permiso delete:articles, O autor del artículo
PATCH /api/articles/:id/published- Solo usuarios con permiso publish:articles

El diseño de permisos del sistema es el siguiente:

PermisoDescripción
list:articlesVer la lista de todos los artículos del sistema
read:articlesLeer el contenido completo de cualquier artículo
create:articlesCrear nuevos artículos
update:articlesModificar cualquier artículo
delete:articlesEliminar cualquier artículo
publish:articlesCambiar el estado de publicación

Basado en estos permisos, hemos definido los siguientes roles para nuestro sistema de CMS:

Permiso/Rol👑 Admin📝 Publisher✍️ Author
DescripciónAcceso completo al sistema para gestión de contenidoPuede ver todos los artículos y controlar el estado de publicaciónPuede crear nuevos artículos en el sistema
list:articles
read:articles
create:articles
update:articles
delete:articles
publish:articles

Nota: Los autores tienen automáticamente permisos de lectura/actualización/eliminación para sus propios artículos, independientemente de los permisos del rol.

A continuación, asignaremos roles a los usuarios en nuestro sistema (usando el demo de CMS como ejemplo):

UsuarioRol
AlexAdmin
BobPublisher
CharlieAuthor

Y en Logto, como se menciona en el artículo RBAC en la práctica anterior, hemos configurado roles para nuestros usuarios.

Roles de Logto

Aplicar la política de control de acceso a tu API de servicio

Así es como los usuarios inician sesión en nuestra muestra de CMS:

Entonces, aplicar el control de acceso a tu API de servicio es tan simple como agregar un middleware para validar el token de acceso y verificar los permisos en el paso 9.

La implementación central es la siguiente (consulta la implementación completa en Muestra RBAC - Backend):

Y aplica el middleware a los endpoints API que requieren autenticación:

Ahora hemos agregado control de acceso a nuestro sistema CMS y asignado roles a nuestros usuarios.

Después de que los usuarios inician sesión y obtienen su Token de Acceso para la API del CMS, pueden usar este token para acceder a la API del CMS. El Token de Acceso contiene la información de permisos del usuario. Esto nos permite controlar qué datos devolver según los permisos del usuario.

Nuestro próximo paso es implementar el Servidor MCP para usar Tokens de Acceso Personal.

Comprendiendo cómo el Token de Acceso Personal representa a los usuarios

Refiere al flujo de autenticación del CMS anterior, los usuarios obtienen un Token de Acceso para la API del CMS después de iniciar sesión. Este Token de Acceso es su credencial para acceder a la API del CMS.

Solo necesitamos obtener un Token de Acceso similar al que obtienen los usuarios después de iniciar sesión. Luego podemos usarlo para acceder a la API del CMS.

Aquí es donde entran los Tokens de Acceso Personal. Nos ayudan a obtener el mismo tipo de Token de Acceso que los usuarios obtienen normalmente después de iniciar sesión.

Esto es lo que necesitamos hacer:

  1. Crear un Token de Acceso Personal para un usuario
  2. Usar este Token de Acceso Personal para solicitar un token de intercambio en el endpoint del token del Servicio de Autenticación. Esto nos da un Token de Acceso como el que obtienen los usuarios después de iniciar sesión.
  3. Usar este Token de Acceso en nuestra herramienta de Servicio MCP para acceder a la API del CMS.

En este ejemplo, usamos Logto para la demostración, ya que Logto admite Tokens de Acceso Personal e intercambio de tokens. Si no estás usando Logto, puedes seguir este enfoque para implementar tu propio soporte para Tokens de Acceso Personal.

Crear Token de Acceso Personal para tu usuario

En Logto Console > Gestión de usuarios, puedes crear un Token de Acceso Personal para un usuario desde su página de detalles:

Crear Token de Acceso Personal en Logto Console

Al crear un Token de Acceso Personal, puedes establecer su tiempo de expiración según sea necesario.

Uso de Token de Acceso Personal en el servidor MCP

Ahora que tenemos el Token de Acceso Personal del usuario, podemos usarlo en nuestro Servidor MCP.

Primero, sigamos la documentación de Token de Acceso Personal de Logto, obtendremos un Token de Acceso para acceder a la API del CMS desde el endpoint del token de Logto. Puedes consultar el código fuente completo aquí.

En el Servidor MCP, usamos el Token de Acceso de la función exchangeAccessToken para obtener datos de la API del CMS.

De esta manera, el Servidor MCP no necesita las credenciales de inicio de sesión del usuario para acceder a la API del CMS. En su lugar, utiliza el Token de Acceso Personal del usuario.

Puedes encontrar el código completo en Muestra RBAC - mcp-server

Para aprender cómo implementar este Servidor MCP localmente con Claude Desktop, consulta el:Guía de implementación del Servidor MCP

También puedes implementar este Servidor en varios IDEs de IA como Cursor, Cline, Windsurf, etc.

Probar el control de acceso

Probemos esta implementación en Claude Desktop.

En nuestro CMS, tanto Alex como Charles han creado un artículo cada uno.

Dado que Alex tiene el rol de Admin, puede ver todos los artículos. Charles, siendo un Autor, solo puede ver sus propios artículos.

Cuando le preguntamos a Claude cuántos artículos disponibles hay, Claude usará la herramienta get-available-article-count y pedirá nuestro permiso:

Solicitar usar la herramienta

Cuando usamos el Token de Acceso Personal de Alex en MCP y le preguntamos a Claude sobre la cantidad de artículos disponibles, Claude llama a la herramienta get-available-article-count y nos dice que hay 2 artículos.

Respuesta para Alex

Cuando cambiamos al Token de Acceso Personal de Charles y hacemos la misma pregunta, Claude nos dice que solo hay 1 artículo.

Respuesta para Charles

¡Genial! Hemos usado con éxito Tokens de Acceso Personal para acceder a la API del CMS y obtener los datos correctos.

Esto es exactamente lo que queríamos: creamos un Token de Acceso Personal para cada usuario, y cuando los usuarios configuran su Servidor MCP con su token, creamos una experiencia de IA personalizada para ellos.

Déjame ayudarte a escribir la sección de Resumen:

Resumen

En esta guía, hemos explorado cómo conectar herramientas de IA a tus servicios existentes manteniendo un control de acceso adecuado. Demostramos esto utilizando un sistema CMS con implementación RBAC, mostrando cómo los Tokens de Acceso Personal (PATs) pueden resolver elegantemente los desafíos de autenticación.

Puedes encontrar el código fuente completo de esta implementación en nuestro repositorio de muestra RBAC, que incluye la implementación del backend, frontend y servidor MCP del CMS.

Al distribuir tu servidor MCP a los usuarios, recuerda hacer configurable el Token de Acceso Personal. Esto permite que cada usuario:

  • Configure su propio PAT en el servidor MCP
  • Acceda a los recursos según sus permisos específicos
  • Obtenga experiencias personalizadas de IA que reflejen su rol y niveles de acceso

Este enfoque asegura que tu integración de IA permanezca segura mientras proporciona una experiencia personalizada para cada usuario basada en sus permisos y rol en tu sistema.

¡Te deseamos un tremendo éxito en tu negocio a medida que te embarcas en este viaje de integración de IA! ¡Que tus servicios prosperen y crezcan con estas nuevas capacidades de IA! 🚀