Netskope MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Used for publisher release management and versioning of Netskope components, with capabilities to configure and deploy specific Docker tags for upgrade profiles.

  • Allows installation of the Netskope NPA MCP server package via npm, though this is an installation method rather than a core integration.

  • Referenced as part of the deployment process for the MCP server, though this is a setup tool rather than a core integration.

Servidor Netskope NPA MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) para administrar la infraestructura de Acceso Privado de Red (NPA) de Netskope a través de Modelos de Lenguaje Grandes (LLM).

Advertencia

Aún queda mucho trabajo por hacer para que las 50 herramientas estén operativas. Recomiendo encarecidamente no utilizar esto en ningún entorno de producción.

Demostración

https://github.com/johnneerdael/netskope-mcp/raw/refs/heads/main/demo.mov

Instalación

Opción 1: Paquete NPM

Instale el paquete usando npm:

npm install @johnneerdael/netskope-mcp

Opción 2: Desarrollo local

Clonar el repositorio e instalar las dependencias:

git clone https://github.com/johnneerdael/netskope-mcp.git cd netskope-mcp npm install npm run build

Configuración de MCP

Agregue la siguiente configuración a su archivo de configuración de MCP:

Ventanas con WSL

Para la instalación de NPM:

{ "mcpServers": { "netskope-mcp": { "command": "wsl.exe", "args": [ "bash", "-c", "source ~/.nvm/nvm.sh && NETSKOPE_BASE_URL=https://your-tenant.goskope.com NETSKOPE_API_KEY=your-token npx -y @johnneerdael/netskope-mcp" ] } } }

Para el desarrollo local:

{ "mcpServers": { "netskope-mcp": { "command": "wsl.exe", "args": [ "bash", "-c", "cd /path/to/netskope-mcp && NETSKOPE_BASE_URL=https://your-tenant.goskope.com NETSKOPE_API_KEY=your-token node dist/cli.js" ] } } }

Linux y macOS

Para la instalación de NPM:

{ "mcpServers": { "netskope-mcp": { "command": "npx", "args": ["-y", "@johnneerdael/netskope-mcp"], "env": { "NETSKOPE_BASE_URL": "https://your-tenant.goskope.com", "NETSKOPE_API_KEY": "your-token" } } } }

Para el desarrollo local:

{ "mcpServers": { "netskope-mcp": { "command": "node", "args": ["dist/cli.js"], "cwd": "/path/to/netskope-mcp", "env": { "NETSKOPE_BASE_URL": "https://your-tenant.goskope.com", "NETSKOPE_API_KEY": "your-token" } } } }

Variables de entorno

El servidor Netskope NPA MCP requiere que se configuren las siguientes variables de entorno para su correcto funcionamiento:

Variables requeridas

  • URL BASE DE NETSKOPE
    • Descripción : La URL base de su inquilino de Netskope
    • Formato : URL completa incluido el protocolo
    • Ejemplo : https://your-tenant.goskope.com
    • Uso : Se utiliza para todas las comunicaciones API con su inquilino de Netskope
    • Nota : Debe ser la URL completa del inquilino sin ningún componente de ruta
  • CLAVE DE API DE NETSKOPE
    • Descripción : Token API para la autenticación con los servicios de Netskope
    • Formato : Token de cadena de la consola de administración de Netskope
    • Ejemplo : 030f31f7d57fd94834af57a3edc4bbda
    • Uso : Necesario para autenticar todas las solicitudes de API
    • Nota de seguridad : mantenga este token seguro y nunca lo envíe al control de versiones

Ejemplos de configuración

Entorno de desarrollo

export NETSKOPE_BASE_URL="https://dev-tenant.goskope.com" export NETSKOPE_API_KEY="your-development-token"

Entorno de producción

export NETSKOPE_BASE_URL="https://prod-tenant.goskope.com" export NETSKOPE_API_KEY="your-production-token"

Herramientas de alertas

  • obtenerConfigAlert
    • Descripción : Recupera la configuración de alertas actual para los editores, incluidas las preferencias de notificación para diversos eventos, como actualizaciones y cambios de estado de conexión.
    • Parámetros requeridos : Ninguno
    • Esquema de respuesta :
      { adminUsers: string[], // Array of admin user emails to notify eventTypes: string[], // Array of event types to monitor selectedUsers: string // Additional users to notify }
    • Tipos de eventos :
      • UPGRADE_WILL_START : Notificación antes de que comience una actualización del editor
      • UPGRADE_STARTED : Notificación cuando se inicia el proceso de actualización
      • UPGRADE_SUCCEEDED : Notificación tras la finalización exitosa de la actualización
      • UPGRADE_FAILED : Notificación si falla el proceso de actualización
      • CONNECTION_FAILED : Notificación cuando ocurren problemas de conexión del editor
    • Ejemplos de uso :
      1. "Verifique qué administradores están configurados para recibir notificaciones de actualización: use getAlertConfig para devolver la lista actual de usuarios administradores y sus preferencias de notificación".
      2. Verifique la configuración de alertas antes de una ventana de mantenimiento planificada: use getAlertConfig para garantizar que los miembros correctos del equipo sean notificados de los eventos de actualización.
      3. "Audite la configuración de monitoreo del editor: use getAlertConfig para mostrar qué eventos críticos se están rastreando y quién recibe notificaciones".
  • actualizarAlertConfig
    • Descripción : Actualiza la configuración de alertas para los editores, lo que permite personalizar las preferencias de notificación para diversos eventos del sistema, incluidas actualizaciones y cambios en el estado de la conexión.
    • Parámetros requeridos :
      { adminUsers: string[], // Array of admin user emails to receive notifications eventTypes: string[], // Array of event types to monitor selectedUsers: string // Additional users to receive notifications }
    • Esquema de respuesta : igual que getAlertConfig
    • Ejemplos de uso :
      1. Configurar notificaciones: actualice la configuración de alertas para garantizar que los eventos críticos se monitoreen correctamente.
      2. "Modificar destinatarios: ajuste la lista de administradores que reciben tipos específicos de alertas".
      3. Selección de eventos: personalice qué tipos de eventos activan notificaciones para diferentes grupos de usuarios.

Herramientas de agente local

  • lista de corredores locales
    • Descripción : Enumera todos los agentes locales configurados en su entorno Netskope. Los agentes locales se utilizan en escenarios locales de acceso a red de confianza cero (ZTNA), donde los usuarios finales se conectan a un agente local en lugar de a un agente en la nube para acceder a aplicaciones privadas alojadas localmente.
    • Parámetros requeridos : Ninguno
    • Parámetros opcionales :
      • fields : Matriz de campos específicos para devolver en la respuesta
    • Esquema de respuesta :
      { status: 'success' | 'not found', total: number, data: Array<{ id: number, // Unique identifier for the local broker name: string, // Display name of the local broker common_name: string, // Common name used for broker identification registered: boolean // Registration status of the broker }> }
    • Ejemplos de uso :
      1. Supervise la implementación de su bróker local listando a sus brókeres locales para obtener una descripción general de todos los brókeres registrados y su estado actual.
      2. "Verificar la configuración de alta disponibilidad: verifique si tiene varios agentes locales configurados por sitio revisando la lista de agentes implementados".
      3. "Auditar registro de corredores: enumere todos los corredores locales para identificar cualquier instancia no registrada que requiera atención".
  • crearLocalBroker
    • Descripción : Crea una nueva instancia de agente local para gestionar el tráfico de ZTNA local. Esto se suele usar al configurar nuevos sitios o ampliar la capacidad de las ubicaciones existentes.
    • Parámetros requeridos :
      { name: string // Name for the new local broker }
    • Esquema de respuesta :
      { status: 'success' | 'not found', data: { id: number, // Assigned unique identifier name: string, // Configured broker name common_name: string, // Assigned common name registered: boolean // Initial registration status } }
    • Ejemplos de uso :
      1. Implementar un nuevo sitio: crear un agente local dos veces para garantizar una alta disponibilidad para una nueva ubicación de oficina.
      2. Ampliar la capacidad: agregue agentes locales adicionales para gestionar el aumento del tráfico local mediante la creación de nuevas instancias de agente.
      3. Inicializar la configuración de alta disponibilidad: crear varios agentes locales con nombres descriptivos que indiquen su sitio y función.
  • obtenerLocalBroker
    • Descripción : Obtiene información detallada sobre un bróker local específico por su ID. Úselo para supervisar el estado y la configuración de cada instancia del bróker.
    • Parámetros requeridos :
      • id : Identificador numérico del bróker local a recuperar
    • Esquema de respuesta :
      { status: 'success' | 'not found', data: { id: number, // Broker's unique identifier name: string, // Broker's display name common_name: string, // Broker's common name registered: boolean // Current registration status } }
    • Ejemplos de uso :
      1. Verificar el estado del bróker: recupera detalles específicos del bróker para verificar su estado de registro y configuración.
      2. Solucionar problemas de conectividad: obtenga información detallada sobre un bróker que esté experimentando problemas.
      3. "Verificar implementación: Confirme la creación exitosa de un nuevo bróker recuperando sus detalles".
  • actualizarLocalBroker
    • Descripción : Actualiza la configuración de un bróker local existente. Esto permite modificar la configuración del bróker, como su nombre, manteniendo su identidad y conexiones.
    • Parámetros requeridos :
      { id: number, // Identifier of broker to update name: string // New name for the broker }
    • Esquema de respuesta :
      { status: 'success' | 'not found', data: { id: number, // Broker's identifier name: string, // Updated broker name common_name: string, // Broker's common name registered: boolean // Current registration status } }
    • Ejemplos de uso :
      1. Cambiar el nombre para mayor claridad: actualice el nombre de un corredor para reflejar mejor su ubicación o función en su infraestructura.
      2. Estandarizar los nombres: modifique los nombres de los agentes para que cumplan con las convenciones de nombres actualizadas en toda la organización.
      3. "Actualizar par HA: ajustar los nombres de los intermediarios para indicar claramente los roles principales y secundarios".
  • eliminarLocalBroker
    • Descripción : Elimina un agente local de la configuración de Netskope. Úselo para dar de baja agentes o limpiar instancias no utilizadas.
    • Parámetros requeridos :
      • id : Identificador numérico del broker local a eliminar
    • Esquema de respuesta :
      { status: 'success' | 'not found' }
    • Ejemplos de uso :
      1. "Desmantelar corredores antiguos: eliminar corredores que ya no sean necesarios o que hayan sido reemplazados".
      2. "Limpiar instancias de prueba: eliminar intermediarios temporales creados para fines de prueba".
      3. Consolidación de sitios: eliminar intermediarios de ubicaciones desmanteladas mientras se mantiene el servicio en sitios activos.
  • obtenerBrokerConfig
    • Descripción : Recupera la configuración global de los agentes locales, incluidas las configuraciones de nombre de host que afectan a todas las instancias del agente.
    • Parámetros requeridos : Ninguno
    • Esquema de respuesta :
      { status: 'success' | 'not found', data: { hostname: string // Global hostname configuration } }
    • Ejemplos de uso :
      1. Revisar la configuración global: verificar la configuración actual del nombre de host que afecta a todos los brokers locales.
      2. Prepárese para los cambios: verifique la configuración existente antes de planificar actualizaciones.
      3. "Configuración de auditoría: asegúrese de que la configuración del nombre de host se alinee con la arquitectura de su red".
  • actualizarBrokerConfig
    • Descripción : Actualiza la configuración global de todos los agentes locales, lo que le permite modificar el comportamiento del agente en todo el sistema.
    • Parámetros requeridos :
      { hostname: string // New hostname configuration }
    • Esquema de respuesta :
      { status: 'success' | 'not found', data: { hostname: string // Updated hostname configuration } }
    • Ejemplos de uso :
      1. "Modificar la configuración global: actualizar la configuración del nombre de host para reflejar los cambios de red".
      2. "Actualizaciones de infraestructura: ajuste las configuraciones del broker para adaptarse a los nuevos requisitos de red".
      3. "Estandarizar la configuración: garantizar que la configuración del nombre de host sea coherente en todas las instancias del agente".
  • generar token de registro de corredor local
    • Descripción : Genera un nuevo token de registro para un bróker local específico, lo que permite un registro seguro con el plano de administración de Netskope.
    • Parámetros requeridos :
      • id : Identificador numérico del bróker local
    • Esquema de respuesta :
      { status: 'success' | 'not found', data: { token: string // Generated registration token } }
    • Ejemplos de uso :
      1. "Asegurar un nuevo bróker: generar un token para registrar de forma segura un bróker local recién implementado".
      2. Volver a registrar el corredor: crea un nuevo token cuando necesites restablecer el registro del corredor.
      3. Rotación de tokens: generar nuevos tokens de registro como parte del mantenimiento de la seguridad.

Herramientas de políticas

  • listaReglas
    • Descripción : Enumera todas las reglas de políticas configuradas en su entorno de Netskope Private Access. Estas reglas definen los controles de acceso para aplicaciones privadas mediante los principios de acceso a red de confianza cero (ZTNA).
    • Parámetros requeridos : Ninguno
    • Parámetros opcionales :
      • fields : Matriz de campos específicos para devolver
      • filter : Criterios de filtrado para las reglas
      • limit : Número máximo de reglas a devolver
      • offset : Número de reglas a omitir
      • sortby : Campo por el que ordenar
      • sortorder : Dirección de ordenación ('asc' o 'desc')
    • Esquema de respuesta :
      { data: { rules: Array<{ id: number, name: string, description?: string, enabled: boolean, action: 'allow' | 'block', policy_group_id: number, priority: number, conditions: Array<{ type: 'private_app' | 'user' | 'group' | 'organization_unit' | 'location' | 'device', operator: 'in' | 'not_in' | 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'starts_with' | 'ends_with', value: string | string[] | number | number[] }>, created_at: string, updated_at: string }> }, status: 'success' | 'error', total: number }
    • Ejemplos de uso :
      1. "Auditar las políticas de acceso para revisar todas las reglas configuradas y sus condiciones para garantizar controles de acceso adecuados".
      2. Priorizar reglas: Enumere las reglas ordenadas por prioridad para comprender el orden de evaluación de políticas e identificar posibles conflictos.
      3. "Filtrar políticas específicas: recupera reglas relacionadas con aplicaciones o grupos de usuarios específicos mediante el parámetro de filtro".
  • obtenerRegla
    • Descripción : Obtiene información detallada sobre una regla de política específica por su ID. Úselo para examinar las configuraciones y condiciones de cada regla.
    • Parámetros requeridos :
      • id : Identificador numérico de la regla de política
    • Parámetros opcionales :
      • fields : Matriz de campos específicos para devolver
    • Esquema de respuesta :
      { data: { id: number, name: string, description?: string, enabled: boolean, action: 'allow' | 'block', policy_group_id: number, priority: number, conditions: Array<{ type: 'private_app' | 'user' | 'group' | 'organization_unit' | 'location' | 'device', operator: 'in' | 'not_in' | 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'starts_with' | 'ends_with', value: string | string[] | number | number[] }>, created_at: string, updated_at: string }, status: 'success' | 'error' }
    • Ejemplos de uso :
      1. Solucionar problemas de acceso: Examine los detalles de reglas específicas para comprender por qué se podría bloquear o permitir el acceso.
      2. "Verificar las condiciones de la regla: verifique las condiciones exactas configuradas para una política de acceso crítica".
      3. Revisar el historial de reglas: verificar las marcas de tiempo de creación y actualización para realizar un seguimiento de los cambios en las políticas.
  • crearRegla
    • Descripción : Crea una nueva regla de política para controlar el acceso a aplicaciones privadas. Las reglas pueden basarse en diversas condiciones, como la identidad del usuario, el estado del dispositivo y la ubicación.
    • Parámetros requeridos :
      { name: string, // Rule name description?: string, // Optional rule description enabled: boolean, // Rule status action: 'allow' | 'block', // Access action policy_group_id: number, // Associated policy group priority: number, // Rule priority conditions: Array<{ type: 'private_app' | 'user' | 'group' | 'organization_unit' | 'location' | 'device', operator: 'in' | 'not_in' | 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'starts_with' | 'ends_with', value: string | string[] | number | number[] }> }
    • Ejemplos de uso :
      1. Implementar acceso con privilegios mínimos: crear reglas que otorguen acceso solo a aplicaciones específicas según los roles del usuario y el estado del dispositivo.
      2. "Configurar políticas basadas en la ubicación: definir reglas que restrinjan el acceso en función de la ubicación del usuario para cumplir con los requisitos de cumplimiento".
      3. "Configurar el acceso basado en grupos: cree reglas que permitan a grupos de usuarios específicos acceder a aplicaciones privadas designadas".
  • actualizarRegla
    • Descripción : Actualiza la configuración de una regla de política existente. Úselo para modificar controles de acceso, condiciones o propiedades de la regla.
    • Parámetros requeridos :
      • id : Identificador numérico de la regla a actualizar
      • data : Configuración de regla actualizada siguiendo el mismo esquema que create_rule
    • Esquema de respuesta :
      { data: { // Updated rule details (same as get_rule response) }, status: 'success' | 'error' }
    • Ejemplos de uso :
      1. "Ajustar las condiciones de acceso: modificar las condiciones de las reglas para adaptarse a nuevos requisitos de seguridad o cambios organizativos".
      2. "Actualizar la prioridad de la regla: cambia la prioridad de una regla para garantizar el orden adecuado de evaluación de políticas".
      3. "Habilitar/deshabilitar reglas: alternar el estado de la regla durante el mantenimiento o al implementar cambios de política".
  • eliminarRegla
    • Descripción : Elimina una regla de política de su configuración. Úselo con precaución, ya que elimina permanentemente la política de control de acceso.
    • Parámetros requeridos :
      • id : Identificador numérico de la regla a eliminar
    • Esquema de respuesta :
      { status: 'success' | 'error' }
    • Ejemplos de uso :
      1. "Limpiar políticas obsoletas: eliminar reglas que ya no son necesarias o que han sido reemplazadas por nuevas políticas".
      2. "Consolidación de políticas: eliminar reglas redundantes después de fusionar configuraciones de políticas".
      3. "Eliminar reglas temporales: limpie las políticas de acceso temporales creadas para proyectos o mantenimientos específicos".

Herramientas de aplicaciones privadas

  • crearAplicaciónPrivada
    • Descripción : Crea una nueva aplicación privada en su entorno Netskope. Esto le permite definir y configurar aplicaciones accesibles a través de su infraestructura de acceso a red de confianza cero (ZTNA).
    • Parámetros requeridos :
      { app_name: string, // Name of the private application host: string, // Host address of the application clientless_access: boolean, // Enable clientless access is_user_portal_app: boolean, // Show in user portal protocols: Array<{ port: string, // Port number type: 'tcp' | 'udp' // Protocol type }>, publisher_tags?: Array<{ // Optional publisher tags tag_name: string }>, publishers: Array<{ // Associated publishers publisher_id: string, publisher_name: string }>, trust_self_signed_certs: boolean, // Trust self-signed certificates use_publisher_dns: boolean, // Use publisher DNS allow_unauthenticated_cors?: boolean, // Optional CORS settings allow_uri_bypass?: boolean, // Optional URI bypass bypass_uris?: string[], // Optional bypass URIs real_host?: string, // Optional real host app_option?: Record<string, unknown> // Additional options }
    • Esquema de respuesta :
      { data: { allow_unauthenticated_cors: boolean, allow_uri_bypass: boolean, uribypass_header_value: string, bypass_uris: string[], app_option: Record<string, unknown>, clientless_access: boolean, host: string, id: number, is_user_portal_app: boolean, name: string, protocols: Array<{ ports: string[], type: string }>, real_host: string, service_publisher_assignments: Array<{ primary: boolean, publisher_id: number, publisher_name: string, reachability: { error_code: number, error_string: string, reachable: boolean }, service_id: number }>, tags: Array<{ tag_id: number, tag_name: string }>, trust_self_signed_certs: boolean, use_publisher_dns: boolean }, status: 'success' | 'not found' }
    • Ejemplos de uso :
      1. Implementar una aplicación interna: crear una definición de aplicación privada para un servicio web interno con un protocolo específico y configuraciones de seguridad.
      2. Configurar alta disponibilidad: configure una aplicación privada con múltiples publicadores para redundancia.
      3. Habilitar acceso seguro: crear una aplicación privada con configuraciones de seguridad estrictas y reglas de omisión específicas.
  • actualizarAplicaciónPrivada
    • Descripción : Actualiza la configuración de una aplicación privada existente, permitiendo modificar configuraciones de acceso, protocolos y parámetros de seguridad.
    • Parámetros requeridos :
      { id: number, // Application ID // All other fields same as create_private_app }
    • Esquema de respuesta : Igual que create_private_app
    • Ejemplos de uso :
      1. "Modificar la configuración de seguridad: actualizar la configuración de confianza del certificado y la configuración de CORS para mejorar la seguridad".
      2. "Ajustar los parámetros de acceso: actualizar los protocolos o eludir las reglas para adaptarse a los requisitos cambiantes".
      3. "Reasignación de editor: modificar la lista de editores que manejan el tráfico de la aplicación".
  • eliminarAplicaciónPrivada
    • Descripción : Elimina una aplicación privada de la configuración de Netskope. Esta acción elimina permanentemente la definición de la aplicación y los controles de acceso asociados.
    • Parámetros requeridos :
      • id : Identificador numérico de la aplicación privada
    • Esquema de respuesta :
      { status: number, result: string }
    • Ejemplos de uso :
      1. "Desmantelamiento de servicio: eliminar una aplicación privada que ya no se utiliza".
      2. "Limpiar aplicaciones de prueba: elimine las aplicaciones temporales utilizadas para pruebas".
      3. "Eliminar servicios obsoletos: limpie las definiciones de aplicaciones antiguas durante las actualizaciones de infraestructura".
  • obtenerAplicaciónPrivada
    • Descripción : Recupera información de configuración detallada sobre una aplicación privada específica.
    • Parámetros requeridos :
      • id : Identificador numérico de la aplicación privada
    • Esquema de respuesta : Igual que la respuesta create_private_app
    • Ejemplos de uso :
      1. "Configuración de auditoría: revise la configuración detallada de una aplicación privada para realizar comprobaciones de cumplimiento".
      2. "Solucionar problemas de acceso: examinar la configuración de la aplicación para resolver problemas de conectividad".
      3. "Verificar configuración: Confirme que la configuración sea correcta después de realizar cambios en la aplicación".
  • listaAplicacionesPrivadas
    • Descripción : Recupera una lista de todas las aplicaciones privadas configuradas con sus configuraciones.
    • Parámetros requeridos : Ninguno
    • Parámetros opcionales :
      • fields : Campos específicos para devolver
      • filter : Criterios de filtro
      • query : Consulta de búsqueda
      • limit : Número máximo de resultados
      • offset : Número de resultados a omitir
    • Esquema de respuesta :
      { data: Array<{ // Same fields as get_private_app response }>, status: 'success' | 'not found', total: number }
    • Ejemplos de uso :
      1. "Aplicaciones de inventario: Obtenga una lista completa de todas las aplicaciones privadas para fines de auditoría".
      2. Filtrar por criterios: buscar aplicaciones con configuraciones o etiquetas específicas.
      3. Revisión paginada: Cómo recuperar aplicaciones en fragmentos manejables para implementaciones de gran tamaño.
  • obtener etiquetas de aplicaciones privadas
    • Descripción : Recupera todas las etiquetas asociadas con aplicaciones privadas, útil para organizar y categorizar aplicaciones.
    • Parámetros requeridos : Ninguno
    • Parámetros opcionales :
      • query : consulta de búsqueda de etiquetas
      • limit : Número máximo de etiquetas
      • offset : Número de etiquetas a omitir
    • Esquema de respuesta :
      { data: Array<{ tag_id: number, tag_name: string }>, status: 'success' | 'not found' }
    • Ejemplos de uso :
      1. "Enumerar categorías: recuperar todas las etiquetas para comprender la categorización de la aplicación".
      2. Buscar etiquetas: encuentre etiquetas específicas que coincidan con determinados criterios.
      3. "Inventario de etiquetas: revise todas las etiquetas disponibles para fines de estandarización".
  • crearEtiquetasDeAplicaciónPrivadas
    • Descripción : Asocia nuevas etiquetas a una aplicación privada para una mejor organización y gestión.
    • Parámetros requeridos :
      • id : identificador de la aplicación
      • tags : Matriz de objetos de etiqueta
    • Ejemplos de uso :
      1. "Categorizar aplicaciones: agregar etiquetas organizativas para agrupar aplicaciones relacionadas".
      2. "Etiquetado del entorno: etiquete las aplicaciones en función de su entorno de implementación".
      3. "Asignación de equipo: agregue etiquetas para indicar qué equipo posee o administra la aplicación".
  • actualizarEtiquetasDeAplicaciónPrivada
    • Descripción : Actualiza las etiquetas asociadas con una o más aplicaciones privadas.
    • Parámetros requeridos :
      • ids : Matriz de identificadores de aplicación
      • tags : Matriz de objetos de etiqueta actualizados
    • Ejemplos de uso :
      1. "Actualización masiva de etiquetas: modifica etiquetas para múltiples aplicaciones simultáneamente".
      2. "Estandarización de etiquetas: actualizar las etiquetas para que se ajusten a las nuevas convenciones de nomenclatura".
      3. Cambios de propiedad: actualizar las etiquetas para reflejar las nuevas asignaciones del equipo.
  • actualizarEditoresDeAplicacionesPrivadas
    • Descripción : Actualiza las asignaciones de editores para aplicaciones privadas, controlando qué editores manejan el tráfico de la aplicación.
    • Parámetros requeridos :
      { private_app_ids: string[], // Application IDs publisher_ids: string[] // Publisher IDs }
    • Ejemplos de uso :
      1. Equilibrio de carga: distribuya el tráfico de aplicaciones entre múltiples publicadores.
      2. "Migración de editores: trasladar aplicaciones a editores nuevos o diferentes".
      3. "Configuración de alta disponibilidad: agregue publicadores de respaldo para lograr alta disponibilidad".
  • eliminarPrivateAppPublishers
    • Descripción : Elimina las asignaciones de editor de aplicaciones privadas.
    • Parámetros requeridos :
      { private_app_ids: string[], // Application IDs publisher_ids: string[] // Publisher IDs to remove }
    • Ejemplos de uso :
      1. "Retirada de editores: elimine los editores antiguos de las configuraciones de la aplicación".
      2. "Limpiar asignaciones: eliminar asignaciones de editor innecesarias".
      3. "Reconfigurar el enrutamiento: eliminar publicadores durante las actualizaciones del flujo de tráfico".
  • obtenerConfiguración de descubrimiento
    • Descripción : Recupera la configuración de descubrimiento actual para aplicaciones privadas, que controla cómo se descubren y monitorean las aplicaciones.
    • Parámetros requeridos : Ninguno
    • Ejemplos de uso :
      1. "Revisar descubrimiento: verificar la configuración actual de descubrimiento de aplicaciones".
      2. "Configuración de auditoría: verificar el cumplimiento de los parámetros de descubrimiento".
      3. Configuración del monitor: Examine cómo se detectan y rastrean las aplicaciones.
  • obtenerPolíticaEnUso
    • Descripción : Recupera las políticas activas asociadas con aplicaciones privadas especificadas.
    • Parámetros requeridos :
      • ids : Matriz de identificadores de aplicación
    • Ejemplos de uso :
      1. "Auditoría de políticas: revise qué políticas afectan a aplicaciones específicas".
      2. "Revisión del control de acceso: verificar las asignaciones de políticas para garantizar el cumplimiento de la seguridad".
      3. Solucionar problemas de acceso: verifique las políticas al investigar problemas de acceso.

Herramientas para editores

  • lista de editores
    • Descripción : Enumera todos los publicadores configurados en su entorno Netskope. Los publicadores son los componentes que gestionan el tráfico privado de aplicaciones y requieren una gestión adecuada para un rendimiento óptimo.
    • Parámetros requeridos : Ninguno
    • Parámetros opcionales :
      • fields : Campos específicos para devolver en la respuesta
    • Esquema de respuesta :
      { data: { publishers: Array<{ apps_count: number, assessment: { ca_certs_status: { hashes: string[], last_modified: number }, eee_support: boolean, hdd_free: string, hdd_total: string, ip_address: string, latency: number, version: string }, capabilities: { DTLS: boolean, EEE: boolean, auto_upgrade: boolean, nwa_ba: boolean, pull_nsconfig: { orgkey_exist: boolean, orguri_exist: boolean } }, common_name: string, connected_apps: string[], id: number, lbrokerconnect: boolean, name: string, publisher_upgrade_profiles_id: number, registered: boolean, status: 'connected' | 'not registered', stitcher_id: number, sticher_pop: string, upgrade_request: boolean, upgrade_status: { upstat: string } }> }, status: 'success' | 'not found', total: number }
    • Ejemplos de uso :
      1. "Supervisar la implementación: enumerar todos los publicadores para verificar su estado de conexión y capacidades".
      2. "Configuración de auditoría: revisar la configuración del editor y las aplicaciones asociadas".
      3. Planificación de la capacidad: verifique la cantidad de aplicaciones y la carga entre los editores.
  • obtenerEditor
    • Descripción : Recupera información detallada sobre un editor específico, incluida su configuración, estado y capacidades.
    • Parámetros requeridos :
      • id : Identificador numérico del editor
    • Esquema de respuesta : Igual que el editor individual en la respuesta list_publishers
    • Ejemplos de uso :
      1. "Control de salud: obtenga información detallada sobre el estado de un editor específico".
      2. "Solucionar problemas de conectividad: Examine las capacidades del editor y el estado de la conexión".
      3. "Verificación de versión: comprobar la versión del editor y el estado de actualización".
  • crearEditor
    • Descripción : Crea una nueva instancia de publicador en su entorno de Netskope.
    • Parámetros requeridos :
      { name: string, // Publisher name lbrokerconnect?: boolean, // Optional local broker connection publisher_upgrade_profiles_id?: number // Optional upgrade profile assignment }
    • Esquema de respuesta : Igual que la respuesta get_publisher
    • Ejemplos de uso :
      1. "Implementar nuevo publicador: crear un publicador para una nueva ubicación de centro de datos".
      2. Ampliar la capacidad: añadir publicadores para gestionar el aumento del tráfico de aplicaciones.
      3. "Configurar HA: crear publicadores adicionales para la configuración de alta disponibilidad".
  • editor de parches
    • Descripción : Actualiza parcialmente la configuración de un editor, lo que permite modificar configuraciones específicas mientras mantiene otras.
    • Parámetros requeridos :
      { name: string, // Publisher name id?: number, // Optional publisher ID lbrokerconnect?: boolean, // Optional local broker connection publisher_upgrade_profiles_id?: number // Optional upgrade profile assignment }
    • Esquema de respuesta : Igual que la respuesta get_publisher
    • Ejemplos de uso :
      1. "Actualizar nombre: cambiar el nombre del editor para que coincida con la nueva convención de nomenclatura".
      2. "Modificar conexión: Actualizar la configuración de conexión del agente local".
      3. "Asignar perfil: vincular al editor a un perfil de actualización".
  • updatePublisher
    • Descripción : Realiza una actualización completa de la configuración de un editor, reemplazando todas las configuraciones con los valores proporcionados.
    • Parámetros requeridos :
      { id: number, // Publisher ID name: string, // Publisher name lbrokerconnect?: boolean, // Optional local broker connection tags?: Array<{ // Optional tags tag_id: number, tag_name: string }> }
    • Esquema de respuesta : Igual que la respuesta get_publisher
    • Ejemplos de uso :
      1. "Reconfiguración completa: actualice todas las configuraciones del editor a la vez".
      2. "Gestión de etiquetas: actualice las etiquetas del editor y la configuración de forma conjunta".
      3. "Restablecer configuración: reemplazar la configuración existente con nuevos valores".
  • eliminarEditor
    • Descripción : Elimina un publicador de la configuración de Netskope. Úselo con precaución, ya que afecta el acceso a la aplicación.
    • Parámetros requeridos :
      • id : Identificador numérico del editor a eliminar
    • Esquema de respuesta :
      { status: 'success' | 'error' }
    • Ejemplos de uso :
      1. "Dar de baja a un editor: eliminar un editor que se está retirando".
      2. "Limpiar instancias de prueba: eliminar los publicadores utilizados para las pruebas".
      3. "Eliminar no utilizados: limpia los editores que ya no son necesarios".
  • Editores de actualización masiva
    • Descripción : Inicia actualizaciones para múltiples editores simultáneamente.
    • Parámetros requeridos :
      { publishers: { apply: { upgrade_request: boolean // Whether to request upgrade }, id: string[] // Array of publisher IDs } }
    • Esquema de respuesta :
      { data: { publishers: Array<PublisherResponse> }, status: 'success' | 'not found' }
    • Ejemplos de uso :
      1. "Actualización masiva: actualiza todos los editores en una región específica".
      2. Implementación por etapas: actualizar un subconjunto de editores a la vez.
      3. "Aplicación de parches de emergencia: aplicar actualizaciones críticas a varios editores".
  • obtener lanzamientos
    • Descripción : Recupera información sobre los lanzamientos de editores disponibles.
    • Parámetros requeridos : Ninguno
    • Esquema de respuesta :
      { data: Array<{ docker_tag: string, is_recommended: boolean, release_type: 'Beta' | 'Latest' | 'Latest-1' | 'Latest-2', version: string }>, status: 'success' | 'not found' }
    • Ejemplos de uso :
      1. "Planificación de versiones: consulte las versiones disponibles para planificar la actualización".
      2. Seguimiento de versiones: monitoree nuevas versiones y recomendaciones.
      3. "Comprobación de compatibilidad: verificar los tipos de versión antes de actualizar".
  • obtenerAplicacionesPrivadas
    • Descripción : Recupera la lista de aplicaciones privadas asociadas con un editor específico.
    • Parámetros requeridos :
      • publisherId : Identificador numérico del editor
    • Esquema de respuesta : respuesta específica de la aplicación
    • Ejemplos de uso :
      1. "Inventario de aplicaciones: enumera todas las aplicaciones manejadas por un editor".
      2. "Evaluación de carga: verificar la cantidad y el tipo de aplicaciones de un editor".
      3. "Planificación de la migración: revise las aplicaciones antes de migrarlas a otro editor".
  • generarPublisherRegistrationToken
    • Descripción : Crea un nuevo token de registro para un editor, lo que permite un registro seguro con el plano de control de Netskope.
    • Parámetros requeridos :
      • publisherId : Identificador numérico del editor
    • Esquema de respuesta :
      { data: { token: string // Registration token }, status: string }
    • Ejemplos de uso :
      1. "Configuración inicial: Generar token para el registro de un nuevo editor".
      2. "Reinscripción: crear un nuevo token para la reconexión del editor".
      3. "Actualización de seguridad: rotar los tokens de registro periódicamente".

Herramientas de actualización de perfil

  • listaActualizarPerfiles
    • Descripción : Enumera todos los perfiles de actualización configurados en su entorno Netskope. Los perfiles de actualización definen cuándo y cómo se realizan las actualizaciones del editor.
    • Parámetros requeridos : Ninguno
    • Esquema de respuesta :
      { data: { upgrade_profiles: Array<{ id: number, external_id: number, name: string, docker_tag: string, enabled: boolean, frequency: string, // Cron format: minute hour day * DAY_OF_WEEK timezone: string, // Standard timezone identifier release_type: 'Beta' | 'Latest' | 'Latest-1' | 'Latest-2', created_at: string, updated_at: string, next_update_time?: number, num_associated_publisher: number, upgrading_stage?: number, will_start?: boolean }> }, status: 'success' | 'not found', total: number }
    • Ejemplos de uso :
      1. Revisar los cronogramas de actualizaciones: enumerar todos los perfiles para comprender cuándo los diferentes editores tienen programadas actualizaciones.
      2. Configuraciones de auditoría: verificar la coherencia de todos los perfiles de actualización en las configuraciones y programaciones.
      3. "Supervisar el estado de actualización: vea qué perfiles se están actualizando activamente o tienen actualizaciones programadas".
  • obtenerActualizarPerfil
    • Descripción : Recupera información detallada sobre un perfil de actualización específico, incluida su programación y configuración.
    • Parámetros requeridos :
      • id : Identificador numérico del perfil de actualización
    • Esquema de respuesta : Igual que el perfil individual en list_upgrade_profiles
    • Ejemplos de uso :
      1. "Verificar configuración: verificar la configuración del perfil específico antes de una ventana de actualización".
      2. Solucionar problemas de actualizaciones: Examine los detalles del perfil al investigar problemas de actualización.
      3. Monitorear el progreso: seguir el estado de un proceso de actualización en curso.
  • crearPerfilDeActualización
    • Descripción : Crea un nuevo perfil de actualización para gestionar las actualizaciones automatizadas de los editores. Los perfiles controlan cuándo y cómo se aplican las actualizaciones a los editores.
    • Parámetros requeridos :
      { name: string, // Profile name enabled: boolean, // Profile status docker_tag: string, // Docker image tag for upgrade frequency: string, // Cron schedule format timezone: string, // Timezone for schedule release_type: 'Beta' | 'Latest' | 'Latest-1' | 'Latest-2' }
    • Ejemplos de uso :
      1. "Programar mantenimiento: crear un perfil para actualizaciones periódicas fuera del horario laboral".
      2. Pruebas beta: configura un perfil para probar nuevos lanzamientos en editoriales seleccionadas.
      3. Actualizaciones regionales: cree perfiles alineados con las ventanas de mantenimiento de diferentes zonas horarias.
  • actualizarPerfilActualizado
    • Descripción : Actualiza la configuración de un perfil de actualización existente, lo que permite modificar la programación, el tipo de lanzamiento y otras configuraciones.
    • Parámetros requeridos :
      • id : Identificador de perfil
      • data : Configuración de perfil actualizada (mismo esquema que create_upgrade_profile)
    • Esquema de respuesta :
      { data: { // Updated profile details (same as get_upgrade_profile response) }, status: 'success' | 'not found' }
    • Ejemplos de uso :
      1. Ajustar el cronograma: modificar los tiempos de actualización para que coincidan mejor con las ventanas de mantenimiento.
      2. "Cambiar el tipo de lanzamiento: actualizar el perfil para utilizar un tipo de lanzamiento diferente".
      3. "Habilitar/deshabilitar actualizaciones: alternar el estado del perfil durante los períodos de congelamiento de cambios".
  • eliminarActualizarPerfil
    • Descripción : Elimina un perfil de actualización de su configuración. Úselo con precaución, ya que afecta la programación automática de actualizaciones.
    • Parámetros requeridos :
      • id : Identificador numérico del perfil a eliminar
    • Esquema de respuesta :
      { status: 'success' | 'not found' }
    • Ejemplos de uso :
      1. "Eliminar perfiles obsoletos: limpiar configuraciones de actualización no utilizadas".
      2. "Consolidación de perfiles: elimine los perfiles redundantes después de consolidar los cronogramas de actualización".
      3. "Limpiar perfiles de prueba: elimine los perfiles temporales utilizados para las pruebas de actualización".

Herramientas de dirección

  • actualizarAsociaciónDeEditores
    • Descripción : Actualiza la asociación entre aplicaciones privadas y editores, lo que le permite modificar qué editores manejan el tráfico de aplicaciones específicas.
    • Parámetros requeridos :
      { private_app_ids: string[], // Array of private application IDs publisher_ids: string[] // Array of publisher IDs }
    • Esquema de respuesta :
      { status: 'success' | 'error', data: { private_app_ids: string[], publisher_ids: string[] } }
    • Ejemplos de uso :
      1. "Reasignar editores: actualizar qué editores manejan aplicaciones privadas específicas".
      2. Distribución de carga: modificar las asignaciones de los publicadores para una mejor distribución del tráfico.
      3. "Configuración de alta disponibilidad: configurar varios publicadores para la redundancia de aplicaciones".
  • eliminarAsociaciónDeEditores
    • Descripción : Elimina las asociaciones entre aplicaciones privadas y editores, impidiendo así que dichos editores manejen el tráfico de las aplicaciones.
    • Parámetros requeridos :
      { private_app_ids: string[], // Array of private application IDs publisher_ids: string[] // Array of publisher IDs to remove }
    • Esquema de respuesta : Igual que update_publisher_association
    • Ejemplos de uso :
      1. "Eliminar asociaciones: impedir que editores específicos gestionen ciertas aplicaciones".
      2. "Limpiar la configuración: eliminar asignaciones de editor innecesarias".
      3. "Prepárese para el desmantelamiento: elimine aplicaciones antes de retirar a un editor".
  • obtenerDiagnósticosDeUsuario
    • Descripción : Recupera información de diagnóstico sobre el acceso de los usuarios a aplicaciones privadas, lo que ayuda a solucionar problemas de conectividad.
    • Parámetros requeridos : Ninguno
    • Esquema de respuesta :
      { status: 'success' | 'error', data: { user_id: string, diagnostics: Array<{ private_app_id: string, private_app_name: string, publisher_id: string, publisher_name: string, status: string, timestamp: string }> } }
    • Ejemplos de uso :
      1. "Solución de problemas de acceso: investigar problemas de conectividad de los usuarios con aplicaciones privadas".
      2. "Auditar patrones de acceso: revisar a través de qué editores se conectan los usuarios".
      3. "Supervisar el rendimiento: comprobar el estado de la conexión y el tiempo de acceso del usuario".
  • obtenerDiagnósticoDeDispositivo
    • Descripción : Recupera información de diagnóstico sobre el acceso del dispositivo a aplicaciones privadas específicas.
    • Parámetros requeridos :
      • deviceId : Identificador del dispositivo
      • privateAppId : Identificador de aplicación privada
    • Esquema de respuesta :
      { status: 'success' | 'error', data: { device_id: string, private_app_id: string, diagnostics: Array<{ publisher_id: string, publisher_name: string, status: string, timestamp: string }> } }
    • Ejemplos de uso :
      1. Solución de problemas del dispositivo: investigar problemas específicos de conectividad del dispositivo.
      2. "Acceso a aplicaciones: verifica el acceso específico del dispositivo a aplicaciones privadas".
      3. "Historial de conexión: revise los patrones y el estado de conexión del dispositivo".

Herramientas de validación

  • validarNombre
    • Descripción : Valida los nombres de varios recursos (editores, aplicaciones privadas, políticas, etc.) para garantizar que cumplan con los requisitos de nombres.
    • Parámetros requeridos :
      { resourceType: 'publisher' | 'private_app' | 'policy' | 'policy_group' | 'upgrade_profile', name: string, tagType?: 'publisher' | 'private_app' }
    • Esquema de respuesta :
      { status: 'success' | 'error', data: { valid: boolean, message?: string } }
    • Ejemplos de uso :
      1. "Validación de nombre: comprueba si el nombre de un recurso propuesto cumple con los requisitos".
      2. "Verificación de etiquetas: validar los nombres de las etiquetas antes de su creación".
      3. "Nombres de políticas: asegúrese de que los nombres de las políticas sigan las convenciones".
  • ValidarRecurso
    • Descripción : Valida configuraciones completas de recursos antes de las operaciones de creación o actualización.
    • Parámetros requeridos :
      { resourceType: 'publisher' | 'private_app' | 'policy' | 'policy_group' | 'upgrade_profile', data: { name: string, // Additional resource-specific fields } }
    • Esquema de respuesta :
      { status: 'success' | 'error', data: { valid: boolean, errors?: string[] } }
    • Ejemplos de uso :
      1. "Validación de la configuración: verificar la configuración del recurso antes de su creación".
      2. "Verificación de actualización: validar los cambios antes de aplicar las actualizaciones".
      3. "Verificación de cumplimiento: garantizar que los recursos cumplan con los estándares requeridos".
  • Recursos de búsqueda
    • Descripción : Busca editores o aplicaciones privadas según criterios específicos.
    • Parámetros requeridos :
      { resourceType: 'publishers' | 'private_apps', query: string }
    • Esquema de respuesta : formato de respuesta específico del recurso
    • Ejemplos de uso :
      1. "Búsqueda de recursos: encuentre recursos que coincidan con criterios específicos".
      2. Búsqueda de editores: busca editores por nombre o atributos.
      3. Descubrimiento de aplicaciones: encuentre aplicaciones privadas que coincidan con los términos de búsqueda.
ID: fbsq8oidqv