En el artículo anterior expliqué cómo conectar la autenticación de Okta a un servidor BigQuery MCP ejecutándose de forma local; ahora transformamos ese prototipo en una implementación lista para producción, nativa en la nube, ejecutada sobre Kubernetes, asegurada con Okta y gestionada de extremo a extremo por el operador ToolHive. Además haremos que sea accesible de forma remota mediante ngrok para que puedas conectarte desde cualquier lugar usando VS Code.
Requisitos previos: un clúster de Kubernetes (puedes usar kind para pruebas), junto con kubectl y helm instalados. Necesitas una cuenta de Okta con un authorization server configurado, y un proyecto en Google Cloud con BigQuery habilitado. Configura Workload Identity Federation en tu proyecto de Google Cloud para que Google confíe en tokens emitidos por Okta y pueda entregar credenciales temporales para acceder a BigQuery. Finalmente instala la CLI de ToolHive thv y crea una cuenta en ngrok para exponer más adelante el servicio.
Despliegue del operador ToolHive: crea un clúster local con kind por ejemplo con el comando kind create cluster --name toolhive y a continuación instala los CRD y el operador con helm upgrade --install toolhive-operator-crds oci://ghcr.io/stacklok/toolhive/toolhive-operator-crds y helm upgrade --install toolhive-operator oci://ghcr.io/stacklok/toolhive/toolhive-operator --namespace toolhive-system --create-namespace. Comprueba que el operador esté en ejecución con kubectl get pods -n toolhive-system.
Almacenamiento seguro del secreto de Okta: en lugar de incrustar secretos, crea un Secret de Kubernetes que contenga tu client secret de Okta y aplícalo con kubectl apply. ToolHive leerá ese secreto para que el proxy valide tokens entrantes sin exponer credenciales en texto plano.
Configuración del intercambio de tokens: para permitir que Okta intercambie su token por credenciales de Google Cloud hay que crear un MCPExternalAuthConfig que apunte al endpoint de Security Token Service de Google. Ese recurso indica a ToolHive cómo solicitar tokens de acceso a BigQuery usando audience y subjectTokenType id_token, y qué scopes son necesarios como https://www.googleapis.com/auth/bigquery y https://www.googleapis.com/auth/cloud-platform. Aplica la configuración con kubectl apply -f.
Despliegue del servidor MCP para BigQuery: crea un recurso MCPServer que combine la imagen del servidor, variables de entorno como el identificador del proyecto GCP, la configuración OIDC con issuer y clientId, la referencia al secret de Okta y la referencia al externalAuthConfig que gestiona el token exchange. El servidor y el proxy serán gestionados por Kubernetes y el operador ToolHive. Exponemos un endpoint público resourceURL que luego enlazaremos con ngrok para acceso remoto.
Exponer el servicio públicamente: primero realiza un port-forward al proxy localmente con kubectl port-forward -n default svc/NOMBRE_DEL_PROXY 8000:8000 para tener acceso en https://127.0.0.1:8000. Luego abre un túnel seguro con la CLI thv proxy tunnel https://127.0.0.1:8000 tunnel --tunnel-provider ngrok --provider-args con tu auth token de ngrok y el dominio deseado. ToolHive creará el túnel y te mostrará la URL pública que usarás como resourceUrl en el MCPServer.
Verificación: comprueba que ambos pods del MCP estén en estado Running con kubectl get pods -n default -l toolhive-name=NOMBRE_DEL_MCP y revisa los logs del proxy con kubectl logs para observar la validación de tokens y el intercambio con STS. Una vez todo en marcha podrás conectar desde VS Code usando la configuración MCP y la URL pública proporcionada por ngrok; durante el flujo se solicitarán client id y client secret de la aplicación en Okta para completar el flujo OIDC y obtener autorización para acceder a BigQuery.
Beneficios de esta aproximación: evitas gestionar claves de cuentas de servicio de Google a largo plazo, habilitas credenciales de corta duración y con atribución a usuario, cumples el principio de menor privilegio y obtienes un despliegue escalable y gestionado por Kubernetes. ToolHive simplifica el ciclo de vida de las instancias MCP, incluyendo actualizaciones y el proxy seguro que valida tokens.
Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software que crea aplicaciones a medida y soluciones de software a medida adaptadas a las necesidades de cada cliente. Ofrecemos experiencia en inteligencia artificial y servicios para ia para empresas, agentes IA y soluciones de inteligencia de negocio como Power BI. Si tu proyecto requiere una app personalizada acorde a tu flujo de negocio consulta nuestra propuesta en desarrollo de aplicaciones y software multiplataforma y si necesitas migrar o gestionar infraestructuras cloud revisa nuestros servicios en servicios cloud AWS y Azure. También brindamos servicios de ciberseguridad y pentesting, automatización de procesos y consultoría en inteligencia artificial para empresas que quieren adoptar agentes IA o soluciones avanzadas de análisis.
Conclusión: convertir un prototipo local con autenticación Okta en un despliegue productivo en Kubernetes requiere coordinar Okta, Workload Identity Federation de Google, el operador ToolHive y un túnel seguro cuando necesitas acceso remoto. El resultado es un servidor BigQuery MCP seguro, escalable y fácil de gestionar que mejora los flujos de trabajo de desarrollo remoto y protege las credenciales. Si te interesa que desde Q2BSTUDIO implementemos este tipo de arquitecturas o integramos capacidades de inteligencia artificial y Power BI en tu entorno contáctanos para diseñar la solución a medida adecuada a tus objetivos.

.jpg)



