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.

Netskope NPA MCP 服务器

用于通过大型语言模型 (LLM) 管理 Netskope 网络私有访问 (NPA) 基础设施的模型上下文协议 (MCP) 服务器。

警告

要使所有 50 种工具投入使用,仍有许多工作要做,我强烈建议不要在任何生产环境中使用这些工具

示范

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

安装

选项 1:NPM 包

使用 npm 安装包:

npm install @johnneerdael/netskope-mcp

选项 2:本地开发

克隆存储库并安装依赖项:

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

MCP 配置

将以下配置添加到您的 MCP 设置文件:

带有 WSL 的 Windows

对于 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" ] } } }

对于本地开发:

{ "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 和 macOS

对于 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" } } } }

对于本地开发:

{ "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" } } } }

环境变量

Netskope NPA MCP 服务器需要配置以下环境变量才能正常运行:

必需变量

  • NETSKOPE_BASE_URL
    • 描述:您的 Netskope 租户的基本 URL
    • 格式:包含协议的完整 URL
    • 例如https://your-tenant.goskope.com
    • 用途:用于与 Netskope 租户的所有 API 通信
    • 注意:必须是完整的租户 URL,不包含任何路径组件
  • NETSKOPE_API_密钥
    • 描述:用于 Netskope 服务身份验证的 API 令牌
    • 格式:来自 Netskope 管理控制台的字符串令牌
    • 例如030f31f7d57fd94834af57a3edc4bbda
    • 用途:验证所有 API 请求所需
    • 安全注意事项:请妥善保管此令牌,切勿将其提交到版本控制中

配置示例

开发环境

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

生产环境

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

警报工具

  • 获取警报配置
    • 描述:检索发布者的当前警报配置设置,包括升级和连接状态更改等各种事件的通知首选项。
    • 必需参数:无
    • 响应模式
      { adminUsers: string[], // Array of admin user emails to notify eventTypes: string[], // Array of event types to monitor selectedUsers: string // Additional users to notify }
    • 事件类型
      • UPGRADE_WILL_START :发布商升级开始前的通知
      • UPGRADE_STARTED :升级过程启动时的通知
      • UPGRADE_SUCCEEDED :升级成功完成后通知
      • UPGRADE_FAILED :升级过程失败时通知
      • CONNECTION_FAILED :发布者连接出现问题时通知
    • 使用示例
      1. “检查哪些管理员配置为接收升级通知:使用getAlertConfig返回当前管理员用户列表及其通知偏好设置。”
      2. “在计划的维护时段之前验证警报配置:使用getAlertConfig确保正确的团队成员将收到升级事件的通知。”
      3. “审核发布者监控设置:使用getAlertConfig显示正在跟踪哪些关键事件以及谁接收通知。”
  • 更新警报配置
    • 描述:更新发布者的警报配置设置,允许自定义各种系统事件(包括升级和连接状态变化)的通知首选项。
    • 必需参数
      { 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 }
    • 响应架构:与 getAlertConfig 相同
    • 使用示例
      1. “配置通知:更新警报设置以确保正确监控关键事件。”
      2. 修改收件人:调整接收特定类型警报的管理员列表。
      3. “事件选择:自定义哪些事件类型会针对不同的用户组触发通知。”

本地经纪人工具

  • 本地经纪人列表
    • 描述:列出 Netskope 环境中所有已配置的本地代理。本地代理用于本地零信任网络访问 (ZTNA) 场景,其中最终用户连接到本地代理(而非云代理)来访问本地托管的私有应用程序。
    • 必需参数:无
    • 可选参数
      • fields :响应中返回的特定字段数组
    • 响应模式
      { 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 }> }
    • 使用示例
      1. 通过列出您当地的经纪人来监控您当地的经纪人部署,以获得所有注册经纪人及其当前状态的概览。
      2. “验证高可用性设置:通过查看已部署的代理列表来检查每个站点是否配置了多个本地代理。”
      3. “审计经纪人注册:列出所有本地经纪人,以识别任何需要注意的未注册实例。”
  • 创建本地代理
    • 描述:创建一个新的本地代理实例,用于处理本地 ZTNA 流量。这通常用于设置新站点或扩展现有位置的容量。
    • 必需参数
      { name: string // Name for the new local broker }
    • 响应模式
      { 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 } }
    • 使用示例
      1. “部署新站点:创建两次本地代理以确保新办公地点的高可用性。”
      2. “扩展容量:通过创建新的代理实例来添加额外的本地代理来处理增加的本地流量。”
      3. “初始化 HA 设置:创建多个本地代理,并使用描述性名称来指示其站点和角色。”
  • 获取本地代理
    • 描述:通过 ID 检索特定本地代理的详细信息。使用此方法可以监控各个代理实例的状态和配置。
    • 必需参数
      • id :要检索的本地代理的数字标识符
    • 响应模式
      { 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 } }
    • 使用示例
      1. “检查代理健康状况:检索特定代理详细信息以验证其注册状态和配置。”
      2. “排除连接故障:获取有关遇到问题的经纪人的详细信息。”
      3. “验证部署:通过检索新代理的详细信息来确认其已成功创建。”
  • 更新本地代理
    • 描述:更新现有本地代理的配置。这允许您修改代理设置(例如其名称),同时保留其身份和连接。
    • 必需参数
      { id: number, // Identifier of broker to update name: string // New name for the broker }
    • 响应模式
      { 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 } }
    • 使用示例
      1. “重命名以便更清晰:更新经纪人的名称以更好地反映其在您的基础设施中的位置或作用。”
      2. “标准化命名:修改经纪人名称以遵循整个组织更新的命名约定。”
      3. “更新 HA 对:调整代理名称以清楚地指示主要和次要角色。”
  • 删除本地代理
    • 描述:从 Netskope 配置中删除本地代理。停用代理或清理未使用的实例时请使用此功能。
    • 必需参数
      • id :要删除的本地代理的数字标识符
    • 响应模式
      { status: 'success' | 'not found' }
    • 使用示例
      1. “停用旧代理:删除不再需要或已被替换的代理。”
      2. “清理测试实例:删除为测试目的创建的临时代理。”
      3. “场地合并:从退役地点移除经纪人,同时维持活跃场地的服务。”
  • 获取BrokerConfig
    • 描述:检索本地代理的全局配置设置,包括影响所有代理实例的主机名配置。
    • 必需参数:无
    • 响应模式
      { status: 'success' | 'not found', data: { hostname: string // Global hostname configuration } }
    • 使用示例
      1. “检查全局设置:检查影响所有本地代理的当前主机名配置。”
      2. “为变化做好准备:在计划更新之前验证现有配置。”
      3. “审核配置:确保主机名设置与您的网络架构一致。”
  • 更新BrokerConfig
    • 描述:更新所有本地代理的全局配置设置,允许您修改系统范围的代理行为。
    • 必需参数
      { hostname: string // New hostname configuration }
    • 响应模式
      { status: 'success' | 'not found', data: { hostname: string // Updated hostname configuration } }
    • 使用示例
      1. “修改全局设置:更新主机名配置以反映网络变化。”
      2. “基础设施更新:调整代理配置以适应新的网络要求。”
      3. “标准化设置:确保所有代理实例的主机名配置一致。”
  • 生成本地代理注册令牌
    • 描述:为特定的本地代理生成新的注册令牌,从而实现与 Netskope 管理平面的安全注册。
    • 必需参数
      • id :本地代理的数字标识符
    • 响应模式
      { status: 'success' | 'not found', data: { token: string // Generated registration token } }
    • 使用示例
      1. “安全的新代理:生成一个令牌以安全地注册新部署的本地代理。”
      2. “重新注册经纪人:需要重新建立经纪人注册时创建一个新的令牌。”
      3. “令牌轮换:作为安全维护的一部分,生成新的注册令牌。”

政策工具

  • 列表规则
    • 描述:列出您在 Netskope Private Access 环境中配置的所有策略规则。这些规则使用零信任网络访问 (ZTNA) 原则定义私有应用程序的访问控制。
    • 必需参数:无
    • 可选参数
      • fields :要返回的特定字段的数组
      • filter :规则的过滤条件
      • limit :返回的最大规则数
      • offset :要跳过的规则数
      • sortby :排序依据的字段
      • sortorder :排序方向('asc' 或 'desc')
    • 响应模式
      { 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 }
    • 使用示例
      1. “审计访问策略以审查所有配置的规则及其条件,以确保适当的访问控制。”
      2. “优先考虑规则:列出按优先级排序的规则,以了解策略评估的顺序并识别潜在的冲突。”
      3. “过滤特定策略:使用过滤参数检索与特定应用程序或用户组相关的规则。”
  • 获取规则
    • 描述:通过 ID 检索特定策略规则的详细信息。使用此方法可以检查单个规则的配置和条件。
    • 必需参数
      • id :策略规则的数字标识符
    • 可选参数
      • fields :要返回的特定字段的数组
    • 响应模式
      { 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' }
    • 使用示例
      1. “解决访问问题:检查特定规则的详细信息,以了解为什么访问可能被阻止或允许。”
      2. “验证规则条件:检查为关键访问策略配置的确切条件。”
      3. “审查规则历史记录:检查创建和更新时间戳以跟踪政策变化。”
  • 创建规则
    • 描述:创建新的策略规则,以控制对私人应用程序的访问。规则可以基于各种条件,包括用户身份、设备状态和位置。
    • 必需参数
      { 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[] }> }
    • 使用示例
      1. “实施最小特权访问:根据用户角色和设备状态创建仅授予特定应用程序访问权限的规则。”
      2. “设置基于位置的策略:定义根据用户位置限制访问的规则以满足合规性要求。”
      3. “配置基于组的访问:创建允许特定用户组访问指定的私人应用程序的规则。”
  • 更新规则
    • 描述:更新现有策略规则的配置。用于修改访问控制、条件或规则属性。
    • 必需参数
      • id :要更新的规则的数字标识符
      • data :按照与 create_rule 相同的模式更新规则配置
    • 响应模式
      { data: { // Updated rule details (same as get_rule response) }, status: 'success' | 'error' }
    • 使用示例
      1. 调整访问条件:修改规则条件以适应新的安全要求或组织变化。
      2. “更新规则优先级:更改规则的优先级以确保正确的策略评估顺序。”
      3. “启用/禁用规则:在维护期间或实施政策变更时切换规则状态。”
  • 删除规则
    • 描述:从您的配置中删除策略规则。请谨慎使用,因为这会永久删除访问控制策略。
    • 必需参数
      • id :要删除的规则的数字标识符
    • 响应模式
      { status: 'success' | 'error' }
    • 使用示例
      1. “清理过时的政策:删除不再需要或已被新政策取代的规则。”
      2. 策略合并:合并策略配置后删除冗余规则。
      3. “删除临时规则:清理为特定项目或维护创建的临时访问策略。”

PrivateApps工具

  • 创建私人应用
    • 描述:在您的 Netskope 环境中创建一个新的私有应用程序。这允许您定义和配置可通过零信任网络访问 (ZTNA) 基础架构访问的应用程序。
    • 必需参数
      { 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 }
    • 响应模式
      { 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' }
    • 使用示例
      1. “部署内部应用程序:为具有特定协议和安全设置的内部 Web 服务创建私有应用程序定义。”
      2. “配置高可用性:设置具有多个发布者的私有应用程序以实现冗余。”
      3. “启用安全访问:创建具有严格安全设置和特定绕过规则的私人应用程序。”
  • 更新私人应用
    • 描述:更新现有私人应用程序的配置,允许修改访问设置、协议和安全参数。
    • 必需参数
      { id: number, // Application ID // All other fields same as create_private_app }
    • 响应模式:与 create_private_app 相同
    • 使用示例
      1. “修改安全设置:更新证书信任设置和 CORS 配置以增强安全性。”
      2. “调整访问参数:更新协议或绕过规则以适应不断变化的需求。”
      3. “发布者重新分配:修改处理应用程序流量的发布者列表。”
  • 删除私人应用
    • 描述:从您的 Netskope 配置中移除一个私有应用程序。此操作将永久删除应用程序定义及相关的访问控制。
    • 必需参数
      • id :私有应用程序的数字标识符
    • 响应模式
      { status: number, result: string }
    • 使用示例
      1. “停用服务:删除不再使用的私人应用程序。”
      2. “清理测试应用:删除用于测试的临时应用程序。”
      3. “删除已弃用的服务:在基础设施更新期间清理旧的应用程序定义。”
  • 获取私人应用
    • 描述:检索有关特定私人应用程序的详细配置信息。
    • 必需参数
      • id :私有应用程序的数字标识符
    • 响应模式:与 create_private_app 响应相同
    • 使用示例
      1. “审计配置:审查私人应用程序的详细设置以进行合规性检查。”
      2. “解决访问问题:检查应用程序配置以解决连接问题。”
      3. “验证设置:对应用程序进行更改后确认配置正确。”
  • 列出私人应用程序
    • 描述:检索所有已配置的私人应用程序及其配置的列表。
    • 必需参数:无
    • 可选参数
      • fields :要返回的特定字段
      • filter :过滤条件
      • query :搜索查询
      • limit :最大结果数
      • offset :要跳过的结果数
    • 响应模式
      { data: Array<{ // Same fields as get_private_app response }>, status: 'success' | 'not found', total: number }
    • 使用示例
      1. “库存应用程序:获取所有私人应用程序的完整列表,以供审计目的。”
      2. “按条件过滤:搜索具有特定配置或标签的应用程序。”
      3. “分页审查:以可管理的块形式检索应用程序以进行大规模部署。”
  • 获取PrivateAppTags
    • 描述:检索与私人应用程序相关的所有标签,对于组织和分类应用程序很有用。
    • 必需参数:无
    • 可选参数
      • query :搜索标签查询
      • limit :最大标签数量
      • offset :要跳过的标签数
    • 响应模式
      { data: Array<{ tag_id: number, tag_name: string }>, status: 'success' | 'not found' }
    • 使用示例
      1. “列出类别:检索所有标签以了解应用程序分类。”
      2. “搜索标签:查找符合特定条件的特定标签。”
      3. “标签清单:审查所有可用的标签,以实现标准化。”
  • 创建PrivateAppTags
    • 描述:将新标签与私人应用程序关联,以便更好地组织和管理。
    • 必需参数
      • id :应用程序标识符
      • tags :标签对象数组
    • 使用示例
      1. “对应用程序进行分类:添加组织标签以对相关应用程序进行分组。”
      2. 环境标签:根据应用程序的部署环境对其进行标记。
      3. “团队分配:添加标签以指示哪个团队拥有或管理该应用程序。”
  • 更新PrivateAppTags
    • 描述:更新与一个或多个私人应用程序相关的标签。
    • 必需参数
      • ids :应用程序标识符数组
      • tags :更新的标签对象数组
    • 使用示例
      1. “批量标签更新:同时修改多个应用程序的标签。”
      2. 标签标准化:更新标签以符合新的命名约定。
      3. “所有权变更:更新标签以反映新的团队任务。”
  • 更新PrivateAppPublishers
    • 描述:更新私有应用程序的发布者分配,控制哪些发布者处理应用程序流量。
    • 必需参数
      { private_app_ids: string[], // Application IDs publisher_ids: string[] // Publisher IDs }
    • 使用示例
      1. “负载平衡:在多个发布者之间分配应用程序流量。”
      2. “发布者迁移:将应用程序移至新的或不同的发布者。”
      3. “HA 配置:添加备份发布者以实现高可用性。”
  • 删除PrivateAppPublishers
    • 描述:从私人应用程序中删除发布者分配。
    • 必需参数
      { private_app_ids: string[], // Application IDs publisher_ids: string[] // Publisher IDs to remove }
    • 使用示例
      1. “发布者退役:从应用程序配置中删除旧的发布者。”
      2. “清理任务:删除不必要的发布者任务。”
      3. “重新配置路由:在流量更新期间删除发布者。”
  • 获取发现设置
    • 描述:检索私有应用程序的当前发现设置,这些设置控制如何发现和监控应用程序。
    • 必需参数:无
    • 使用示例
      1. “审查发现:检查当前应用程序发现配置。”
      2. “审计设置:验证发现参数是否合规。”
      3. “监控配置:检查应用程序是如何被发现和跟踪的。”
  • 获取PolicyInUse
    • 描述:检索与指定的私人应用程序相关的活动策略。
    • 必需参数
      • ids :应用程序标识符数组
    • 使用示例
      1. “政策审计:审查哪些政策正在影响特定的应用程序。”
      2. “访问控制审查:验证策略分配是否符合安全要求。”
      3. “排除访问故障:调查访问问题时检查政策。”

出版商工具

  • 列表出版商
    • 描述:列出 Netskope 环境中配置的所有发布者。发布者是处理私有应用程序流量的组件,需要进行适当的管理才能获得最佳性能。
    • 必需参数:无
    • 可选参数
      • fields :响应中返回的特定字段
    • 响应模式
      { 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 }
    • 使用示例
      1. “监控部署:列出所有发布者以检查其连接状态和功能。”
      2. “审核配置:审查发布者设置和相关应用程序。”
      3. “容量规划:检查应用程序的数量和跨发布商的负载。”
  • 获取发布者
    • 描述:检索有关特定发布者的详细信息,包括其配置、状态和功能。
    • 必需参数
      • id :发布者的数字标识符
    • 响应模式:与 list_publishers 响应中的单个发布者相同
    • 使用示例
      1. “健康检查:获取特定发布者的详细状态信息。”
      2. “排除连接故障:检查发布者功能和连接状态。”
      3. “版本验证:检查发布者版本和升级状态。”
  • 创建发布者
    • 描述:在您的 Netskope 环境中创建一个新的发布者实例。
    • 必需参数
      { name: string, // Publisher name lbrokerconnect?: boolean, // Optional local broker connection publisher_upgrade_profiles_id?: number // Optional upgrade profile assignment }
    • 响应模式:与 get_publisher 响应相同
    • 使用示例
      1. “部署新的发布者:为新的数据中心位置创建发布者。”
      2. “扩大容量:添加发布者来处理增加的应用程序流量。”
      3. “配置 HA:为高可用性设置创建额外的发布者。”
  • 补丁发布者
    • 描述:部分更新发布者的配置,允许修改特定设置同时保留其他设置。
    • 必需参数
      { name: string, // Publisher name id?: number, // Optional publisher ID lbrokerconnect?: boolean, // Optional local broker connection publisher_upgrade_profiles_id?: number // Optional upgrade profile assignment }
    • 响应模式:与 get_publisher 响应相同
    • 使用示例
      1. “更新名称:更改发布者名称以符合新的命名约定。”
      2. “修改连接:更新本地代理连接设置。”
      3. “分配配置文件:将发布者链接到升级配置文件。”
  • 更新发布者
    • 描述:对发布者的配置进行完整更新,用提供的值替换所有设置。
    • 必需参数
      { id: number, // Publisher ID name: string, // Publisher name lbrokerconnect?: boolean, // Optional local broker connection tags?: Array<{ // Optional tags tag_id: number, tag_name: string }> }
    • 响应模式:与 get_publisher 响应相同
    • 使用示例
      1. “完全重新配置:立即更新所有发布者设置。”
      2. 标签管理:同时更新发布者标签和配置。
      3. “重置设置:用新值替换现有配置。”
  • 删除发布者
    • 描述:从您的 Netskope 配置中移除发布者。请谨慎使用,因为这会影响应用程序访问。
    • 必需参数
      • id :要删除的发布者的数字标识符
    • 响应模式
      { status: 'success' | 'error' }
    • 使用示例
      1. “停用发布者:删除即将停用的发布者。”
      2. “清理测试实例:删除用于测试的发布者。”
      3. “删除未使用的:清理不再需要的发布者。”
  • 批量升级发布者
    • 描述:同时启动多个发布者的升级。
    • 必需参数
      { publishers: { apply: { upgrade_request: boolean // Whether to request upgrade }, id: string[] // Array of publisher IDs } }
    • 响应模式
      { data: { publishers: Array<PublisherResponse> }, status: 'success' | 'not found' }
    • 使用示例
      1. “批量升级:升级特定区域内的所有发布商。”
      2. “分阶段推出:一次性升级一部分发布商。”
      3. “紧急修补:向多个发布者应用关键更新。”
  • 获取发布
    • 描述:检索有关可用发布者版本的信息。
    • 必需参数:无
    • 响应模式
      { data: Array<{ docker_tag: string, is_recommended: boolean, release_type: 'Beta' | 'Latest' | 'Latest-1' | 'Latest-2', version: string }>, status: 'success' | 'not found' }
    • 使用示例
      1. “版本规划:检查可用的版本以进行升级规划。”
      2. “发布跟踪:监控新版本和建议。”
      3. “兼容性检查:升级前验证版本类型。”
  • 获取私人应用程序
    • 描述:检索与特定发布者相关的私人应用程序列表。
    • 必需参数
      • publisherId :发布者的数字标识符
    • 响应模式:特定于应用程序的响应
    • 使用示例
      1. “应用程序清单:列出发布者处理的所有应用程序。”
      2. “负载评估:检查发布商的应用程序数量和类型。”
      3. “迁移计划:在迁移到其他发布商之前,请先检查应用程序。”
  • 生成发布者注册令牌
    • 描述:为发布者创建一个新的注册令牌,从而能够通过 Netskope 控制平面进行安全注册。
    • 必需参数
      • publisherId :发布者的数字标识符
    • 响应模式
      { data: { token: string // Registration token }, status: string }
    • 使用示例
      1. “初始设置:为新发布者注册生成令牌。”
      2. “重新注册:为发布者重新连接创建新的令牌。”
      3. “安全刷新:定期轮换注册令牌。”

升级配置文件工具

  • 列出升级配置文件
    • 描述:列出 Netskope 环境中配置的所有升级配置文件。升级配置文件定义了发布者升级的执行时间和方式。
    • 必需参数:无
    • 响应模式
      { 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 }
    • 使用示例
      1. “查看升级计划:列出所有配置文件,以了解不同发布商的升级计划时间。”
      2. “审核配置:检查所有升级配置文件的设置和计划的一致性。”
      3. “监控升级状态:查看哪些配置文件正在主动升级或计划更新。”
  • 获取升级配置文件
    • 描述:检索有关特定升级配置文件的详细信息,包括其计划和配置。
    • 必需参数
      • id :升级配置文件的数字标识符
    • 响应模式:与 list_upgrade_profiles 中的个人资料相同
    • 使用示例
      1. “验证设置:在升级窗口之前检查特定的配置文件配置。”
      2. “解决升级问题:调查升级问题时检查配置文件详细信息。”
      3. “监控进度:跟踪正在进行的升级过程的状态。”
  • 创建升级配置文件
    • 描述:创建一个新的升级配置文件,用于管理自动发布者升级。配置文件控制何时以及如何将更新应用于发布者。
    • 必需参数
      { 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' }
    • 使用示例
      1. “安排维护:创建配置文件以便在非工作时间定期进行升级。”
      2. “Beta 测试:设置配置文件,用于在选定的发布商上测试新版本。”
      3. “区域更新:创建与不同时区维护窗口相一致的配置文件。”
  • 更新升级配置文件
    • 描述:更新现有升级配置文件的配置,允许修改时间表、发布类型和其他设置。
    • 必需参数
      • id :配置文件标识符
      • data :更新的配置文件配置(与 create_upgrade_profile 相同的模式)
    • 响应模式
      { data: { // Updated profile details (same as get_upgrade_profile response) }, status: 'success' | 'not found' }
    • 使用示例
      1. “调整时间表:修改升级时间以更好地与维护窗口保持一致。”
      2. “更改发布轨道:更新配置文件以使用不同的发布类型。”
      3. “启用/禁用升级:在变更冻结期间切换配置文件状态。”
  • 删除升级配置文件
    • 描述:从您的配置中移除升级配置文件。请谨慎使用,因为这会影响自动升级计划。
    • 必需参数
      • id :要删除的配置文件的数字标识符
    • 响应模式
      { status: 'success' | 'not found' }
    • 使用示例
      1. “删除过时的配置文件:清理未使用的升级配置。”
      2. “配置文件合并:合并升级计划后删除冗余配置文件。”
      3. “清理测试配置文件:删除用于升级测试的临时配置文件。”

转向工具

  • 更新发布者协会
    • 描述:更新私有应用程序和发布者之间的关联,允许您修改哪些发布者处理特定的应用程序流量。
    • 必需参数
      { private_app_ids: string[], // Array of private application IDs publisher_ids: string[] // Array of publisher IDs }
    • 响应模式
      { status: 'success' | 'error', data: { private_app_ids: string[], publisher_ids: string[] } }
    • 使用示例
      1. “重新分配发布者:更新哪些发布者处理特定的私人应用程序。”
      2. “负载分配:修改发布者分配以实现更好的流量分配。”
      3. “HA 配置:设置多个发布者以实现应用程序冗余。”
  • 删除PublisherAssociation
    • 描述:删除私人应用程序和发布者之间的关联,有效阻止这些发布者处理应用程序的流量。
    • 必需参数
      { private_app_ids: string[], // Array of private application IDs publisher_ids: string[] // Array of publisher IDs to remove }
    • 响应模式:与 update_publisher_association 相同
    • 使用示例
      1. “删除关联:阻止特定发布商处理某些应用程序。”
      2. “清理配置:删除不必要的发布者分配。”
      3. “准备退役:在发布者退出之前删除应用程序。”
  • 获取用户诊断
    • 描述:检索有关用户访问私人应用程序的诊断信息,帮助解决连接问题。
    • 必需参数:无
    • 响应模式
      { 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 }> } }
    • 使用示例
      1. “访问故障排除:调查用户与私人应用程序的连接问题。”
      2. “审计访问模式:审查用户通过哪些发布商进行连接。”
      3. “监控性能:检查连接状态和用户访问时间。”
  • 获取设备诊断
    • 描述:检索有关设备访问特定私人应用程序的诊断信息。
    • 必需参数
      • deviceId :设备标识符
      • privateAppId :私有应用程序标识符
    • 响应模式
      { status: 'success' | 'error', data: { device_id: string, private_app_id: string, diagnostics: Array<{ publisher_id: string, publisher_name: string, status: string, timestamp: string }> } }
    • 使用示例
      1. “设备故障排除:调查特定的设备连接问题。”
      2. “应用程序访问:检查设备特定于私人应用程序的访问权限。”
      3. “连接历史:查看设备连接模式和状态。”

验证工具

  • 验证名称
    • 描述:验证各种资源(发布者、私人应用程序、政策等)的名称,以确保它们符合命名要求。
    • 必需参数
      { resourceType: 'publisher' | 'private_app' | 'policy' | 'policy_group' | 'upgrade_profile', name: string, tagType?: 'publisher' | 'private_app' }
    • 响应模式
      { status: 'success' | 'error', data: { valid: boolean, message?: string } }
    • 使用示例
      1. “名称验证:检查建议的资源名称是否符合要求。”
      2. “标签验证:创建之前验证标签名称。”
      3. “策略命名:确保策略名称遵循约定。”
  • 验证资源
    • 描述:在创建或更新操作之前验证完整的资源配置。
    • 必需参数
      { resourceType: 'publisher' | 'private_app' | 'policy' | 'policy_group' | 'upgrade_profile', data: { name: string, // Additional resource-specific fields } }
    • 响应模式
      { status: 'success' | 'error', data: { valid: boolean, errors?: string[] } }
    • 使用示例
      1. “配置验证:创建之前验证资源设置。”
      2. “更新验证:在应用更新之前验证更改。”
      3. “合规性检查:确保资源符合要求的标准。”
  • 搜索资源
    • 描述:根据指定条件搜索发布者或私人应用程序。
    • 必需参数
      { resourceType: 'publishers' | 'private_apps', query: string }
    • 响应模式:特定资源的响应格式
    • 使用示例
      1. “资源搜索:查找符合特定条件的资源。”
      2. “出版商查找:按名称或属性搜索出版商。”
      3. “应用程序发现:查找符合搜索条件的私人应用程序。”
ID: fbsq8oidqv