Cómo utilizar Okta para autenticar a distancia en tu servidor BigQuery MCP
Este artículo explica paso a paso cómo utilizar Okta para autenticar a distancia un servidor MCP que consulta Google BigQuery, aprovechando ToolHive para gestionar la federación de identidades y el intercambio de tokens. La solución evita gestionar claves de cuentas de servicio, permite acceso efímero con el principio de privilegio mínimo y mantiene auditoría por usuario, ideal para arquitecturas modernas que requieren seguridad, trazabilidad y escalabilidad.
Escenario resumido: ejecutas un servidor MCP que recibe solicitudes de usuarios autenticados por Okta y necesita ejecutar consultas en BigQuery. Requisitos clave: atribución por usuario, roles de mínimo privilegio, acceso seguro y corto plazo, y federación entre Okta y Google Cloud. Aunque mostramos Okta y Google Cloud, el flujo es adaptable a cualquier IdP y proveedor de cloud compatible con STS y pools de identidad.
Requisitos previos: acceso de administrador a Okta para crear una app OIDC y un Authorization Server; un proyecto de Google Cloud con BigQuery habilitado y permisos para crear un Workforce Identity Pool; ToolHive CLI instalado y en el path; un runtime de contenedores como Docker o Podman; y un cliente MCP compatible como Claude Code u otro que implemente el protocolo MCP.
Paso 1 Configurar Okta como proveedor de identidad En el Admin Console de Okta crea una nueva integración de aplicación eligiendo OIDC OpenID Connect y Web Application como tipo. Configura el redirect URI de signin en http://localhost:8666/callback para la callback del proxy MCP. Anota el client ID y client secret de la app para pasos posteriores.
Paso 2 Crear un Authorization Server en Okta Crea un Authorization Server nuevo que emita tokens para tu MCP. Pon un nombre descriptivo como BigQuery MCP Server y ajusta la audience para que coincida con la esperada por tu configuración MCP, por ejemplo mcpserver. Añade un scope gcp.access y configura políticas de acceso y emisión de tokens incluyendo la habilitación de Token Exchange. Anota la issuer URL del Authorization Server.
Paso 3 Crear Workforce Identity Pool en Google Cloud En la consola de Google Cloud crea un Workforce Identity Pool y un proveedor que apunte al issuer URL de Okta. Define audiencias permitidas e incluye el client ID de Okta como audiencia adicional. Mapea usuarios Okta a miembros IAM de Google Cloud y asigna el rol necesario, por ejemplo roles/bigquery.dataViewer, de forma individual por cada cuenta Okta que necesite acceso.
Paso 4 Desplegar el servidor MCP y el proxy con autenticación remota usando ToolHive Crea un grupo en ToolHive para separar la configuración automática de servidores gestionados: thv group create toolbox-group. Arranca el servidor MCP Toolbox para BigQuery con ToolHive y activa el proxy interno exponiendo un puerto local, por ejemplo: thv run --group toolbox-group database-toolbox --env BIGQUERY_PROJECT=TU_PROYECTO_ID --env BIGQUERY_USE_CLIENT_OAUTH=true --proxy-port 6000 -- --prebuilt bigquery --address 0.0.0.0. A continuación inicia el proxy que gestiona la autenticación Okta y el intercambio de tokens hacia Google STS: thv proxy --target-uri http://127.0.0.1:6000 --remote-auth-client-id TU_OKTA_CLIENT_ID --remote-auth-client-secret TU_OKTA_CLIENT_SECRET --remote-auth okta --remote-auth-issuer TU_OKTA_ISSUER_URL --remote-auth-callback-port 8666 --remote-auth-scopes openid,profile,email,gcp.access --port 62614 --token-exchange-url https://sts.googleapis.com/v1/token --token-exchange-scopes https://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platform --token-exchange-audience //iam.googleapis.com/projects/TU_NUMERO_PROYECTO/locations/global/workloadIdentityPools/okta-pool/providers/okta-provider. Al abrir el navegador el proxy te pedirá iniciar sesión en Okta, obtendrá tokens OIDC, realizará el intercambio contra Google STS y reenviará las solicitudes al servidor MCP con credenciales Google temporales y con los scopes adecuados para BigQuery.
Paso 5 Conectar un cliente MCP Usa tu cliente MCP preferido, por ejemplo Claude Code. Añade manualmente la configuración del endpoint proxy autenticado: claude mcp add --scope user --transport http database-toolbox http://127.0.0.1:62614/mcp y luego ejecuta el cliente. El servidor Toolbox usará el token suministrado por el proxy ToolHive y Google ejecutará las consultas con la identidad federada del usuario Okta, preservando la auditoría y los permisos por usuario.
Por qué esta arquitectura es potente Simple para clientes Apps y agentes IA se conectan al proxy ToolHive igual que a cualquier servidor MCP. Flujo de autenticación seguro El proxy obliga a iniciar sesión en Okta, así cada petición lleva identidad de usuario verificada. Acceso federado a Google Cloud Se evita incrustar claves estáticas de cuentas de servicio; el proxy realiza el token exchange con el Workforce Identity Pool. Principio de mínimo privilegio y auditabilidad Las consultas BigQuery se ejecutan bajo la identidad federada del usuario, permitiendo registros claros del tipo usuario arroba dominio ejecutó una consulta en lugar de una cuenta de servicio genérica. Separación de responsabilidades El servidor MCP se centra en herramientas y consultas, mientras el proxy gestiona auth, intercambio de tokens y enrutado, resultando en una arquitectura más limpia y segura.
Cómo puede ayudar Q2BSTUDIO En Q2BSTUDIO somos expertos en desarrollar soluciones seguras y a medida que integran autenticación federada, servicios cloud y automatización. Si necesitas una implementación personalizada de este flujo, auditoría avanzada o integración con pipelines de datos y BI, nuestro equipo puede diseñar la solución que mejor se adapte a tu organización. Ofrecemos desarrollo de aplicaciones a medida y software a medida para proyectos que requieren inteligencia artificial, agentes IA y analítica avanzada. También desplegamos arquitecturas en la nube y gestionamos servicios cloud aws y azure para asegurar escalabilidad y continuidad.
Servicios recomendados Si tu foco es desarrollar plataformas a medida con seguridad y capacidades de IA te recomendamos explorar nuestras soluciones de desarrollo de aplicaciones a medida en desarrollo de aplicaciones y software a medida. Si además buscas desplegar esta arquitectura en la nube con buenas prácticas de seguridad y costos optimizados consulta nuestros servicios cloud en servicios cloud AWS y Azure. Para protección proactiva y pruebas de intrusión contamos con experiencia en ciberseguridad y pentesting que complementan cualquier despliegue.
Palabras clave integradas Aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi para mejorar la visibilidad y el valor de tus datos. Si quieres que implementemos un piloto o una integración completa con Okta, ToolHive y Google BigQuery trabajando bajo los requisitos de tu organización contacta con Q2BSTUDIO y te acompañamos desde el diseño hasta la puesta en marcha.
Conclusión Este patrón de federación y token exchange permite un acceso seguro, auditable y con privilegios mínimos a BigQuery desde servidores MCP. La combinación de ToolHive para proxy de autenticación, Okta como IdP y Google Workforce Identity Pools ofrece una solución robusta y adaptable. En Q2BSTUDIO podemos ayudarte a implementar esta arquitectura, integrarla con procesos de automatización y business intelligence y aplicar técnicas de inteligencia artificial para extraer valor real de tus datos.
Comentarios