Netskope NPA MCP サーバー
Large Language Models (LLM) を通じて Netskope Network Private Access (NPA) インフラストラクチャを管理するための Model Context Protocol (MCP) サーバー。
警告
50個のツールすべてが動作するにはまだ多くの作業が必要です。本番環境では使用しないことを強くお勧めします。
Related MCP server: MCP Server for Spinnaker
デモンストレーション
https://github.com/johnneerdael/netskope-mcp/raw/refs/heads/main/demo.mov
インストール
オプション1: NPMパッケージ
npm を使用してパッケージをインストールします。
オプション2:地域開発
リポジトリをクローンし、依存関係をインストールします。
MCP構成
MCP 設定ファイルに次の構成を追加します。
WSL 搭載の Windows
NPM インストールの場合:
地域開発の場合:
LinuxとmacOS
NPM インストールの場合:
地域開発の場合:
環境変数
Netskope NPA MCP サーバーが適切に動作するには、次の環境変数を構成する必要があります。
必須変数
NETSKOPE_BASE_URL
説明: NetskopeテナントのベースURL
形式: プロトコルを含む完全なURL
例:
https://your-tenant.goskope.com使用方法: NetskopeテナントとのすべてのAPI通信に使用されます
注: パスコンポーネントを含まない完全なテナント URL である必要があります
NETSKOPE_API_KEY
説明: Netskope サービスでの認証用の API トークン
フォーマット: Netskope管理コンソールからの文字列トークン
例:
030f31f7d57fd94834af57a3edc4bbda使用法: すべてのAPIリクエストの認証に必要
セキュリティに関する注意: このトークンを安全に保管し、バージョン管理にコミットしないでください。
設定例
開発環境
生産環境
アラートツール
アラート設定の取得
説明: アップグレードや接続ステータスの変更などのさまざまなイベントの通知設定を含む、パブリッシャーの現在のアラート構成設定を取得します。
必須パラメータ: なし
レスポンススキーマ:
{ 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: パブリッシャーの接続に問題が発生した場合の通知
使用例:
「アップグレード通知を受信するように設定されている管理者を確認します。getAlertConfig
getAlertConfig使用して、管理者ユーザーの現在のリストとその通知設定を返します。」計画されたメンテナンス期間の前にアラート構成を確認します。getAlertConfig
getAlertConfig使用して、適切なチーム メンバーにアップグレード イベントが通知されるようにします。「パブリッシャーの監視設定を監査します。getAlertConfig
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 と同じ
使用例:
「通知を構成する: 重要なイベントが適切に監視されるようにアラート設定を更新します。」
「受信者の変更: 特定の種類のアラートを受信する管理者のリストを調整します。」
「イベントの選択: さまざまなユーザー グループに対して通知をトリガーするイベント タイプをカスタマイズします。」
ローカルブローカーツール
ローカルブローカー一覧
説明: 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 }> }使用例:
「ローカル ブローカーを一覧表示して、登録されているすべてのブローカーとその現在のステータスの概要を取得し、ローカル ブローカーの展開を監視します。」
「高可用性設定の確認: 展開されたブローカーのリストを確認して、サイトごとに複数のローカル ブローカーが構成されているかどうかを確認します。」
「ブローカー登録の監査: すべてのローカル ブローカーを一覧表示して、注意が必要な未登録のインスタンスを特定します。」
ローカルブローカーを作成する
説明:オンプレミスの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 } }使用例:
「新しいサイトを展開する: 新しいオフィスの場所の高可用性を確保するために、ローカル ブローカーを 2 回作成します。」
「容量の拡張: 新しいブローカー インスタンスを作成して、オンプレミスのトラフィックの増加に対応するためにローカル ブローカーを追加します。」
「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 } }使用例:
「ブローカーの健全性を確認する: 特定のブローカーの詳細を取得して、その登録ステータスと構成を確認します。」
「接続のトラブルシューティング: 問題が発生しているブローカーに関する詳細情報を取得します。」
「デプロイメントの検証: 詳細を取得して、新しいブローカーが正常に作成されたことを確認します。」
ローカルブローカーの更新
説明: 既存のローカルブローカーの設定を更新します。これにより、ブローカーのIDと接続を維持しながら、名前などの設定を変更できます。
必須パラメータ:
{ 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 } }使用例:
「わかりやすくするために名前を変更する: ブローカーの名前を更新して、インフラストラクチャ内の場所や役割をより適切に反映します。」
「命名の標準化: 組織全体で更新された命名規則に従ってブローカー名を変更します。」
「HA ペアの更新: ブローカー名を調整して、プライマリとセカンダリの役割を明確に示します。」
ローカルブローカーの削除
説明: Netskope 構成からローカルブローカーを削除します。ブローカーを廃止する場合や、使用されていないインスタンスをクリーンアップする場合に使用します。
必須パラメータ:
id: 削除するローカルブローカーの数値識別子
レスポンススキーマ:
{ status: 'success' | 'not found' }使用例:
「古いブローカーの廃止: 不要になったブローカーや置き換えられたブローカーを削除します。」
「テスト インスタンスのクリーンアップ: テスト目的で作成された一時ブローカーを削除します。」
「サイトの統合: アクティブなサイトでのサービスを維持しながら、廃止された場所からブローカーを削除します。」
ブローカー設定を取得する
説明: すべてのブローカー インスタンスに影響するホスト名構成を含む、ローカル ブローカーのグローバル構成設定を取得します。
必須パラメータ: なし
レスポンススキーマ:
{ status: 'success' | 'not found', data: { hostname: string // Global hostname configuration } }使用例:
「グローバル設定の確認: すべてのローカル ブローカーに影響する現在のホスト名の構成を確認します。」
「変更の準備: 更新を計画する前に既存の構成を確認してください。」
「監査構成: ホスト名の設定がネットワーク アーキテクチャと一致していることを確認します。」
ブローカー設定の更新
説明: すべてのローカル ブローカーのグローバル構成設定を更新し、システム全体のブローカーの動作を変更できるようにします。
必須パラメータ:
{ hostname: string // New hostname configuration }レスポンススキーマ:
{ status: 'success' | 'not found', data: { hostname: string // Updated hostname configuration } }使用例:
「グローバル設定の変更: ネットワークの変更を反映するためにホスト名の設定を更新します。」
「インフラストラクチャの更新: 新しいネットワーク要件に対応するためにブローカーの構成を調整します。」
「セットアップの標準化: すべてのブローカー インスタンス間で一貫したホスト名構成を確保します。」
ローカルブローカー登録トークンを生成する
説明: 特定のローカル ブローカーの新しい登録トークンを生成し、Netskope 管理プレーンへの安全な登録を可能にします。
必須パラメータ:
id: ローカルブローカーの数値識別子
レスポンススキーマ:
{ status: 'success' | 'not found', data: { token: string // Generated registration token } }使用例:
「新しいブローカーのセキュリティ保護: 新しくデプロイされたローカル ブローカーを安全に登録するためのトークンを生成します。」
「ブローカーの再登録: ブローカーの登録を再度確立する必要がある場合は、新しいトークンを作成します。」
「トークンのローテーション: セキュリティメンテナンスの一環として、新しい登録トークンを生成します。」
ポリシーツール
リストルール
説明: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 }使用例:
「アクセス ポリシーを監査して、構成されたすべてのルールとその条件を確認し、適切なアクセス制御を確保します。」
「ルールの優先順位付け: 優先度順に並べたルールを一覧表示して、ポリシー評価の順序を理解し、潜在的な競合を特定します。」
「特定のポリシーをフィルタリングする: フィルタパラメータを使用して、特定のアプリケーションまたはユーザーグループに関連するルールを取得します。」
ルールを取得する
説明: 特定のポリシールールの詳細情報を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' }使用例:
「アクセスの問題のトラブルシューティング: 特定のルールの詳細を調べて、アクセスがブロックまたは許可される理由を理解します。」
「ルール条件の確認: 重要なアクセス ポリシーに設定されている正確な条件を確認します。」
「ルール履歴を確認する: 作成および更新のタイムスタンプをチェックして、ポリシーの変更を追跡します。」
ルールを作成する
説明: プライベートアプリケーションへのアクセスを制御するための新しいポリシールールを作成します。ルールは、ユーザーID、デバイスの状態、場所など、さまざまな条件に基づいて設定できます。
必須パラメータ:
{ 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[] }> }使用例:
「最小権限アクセスを実装する: ユーザーの役割とデバイスのステータスに基づいて、特定のアプリケーションへのアクセスのみを許可するルールを作成します。」
「場所ベースのポリシーを設定する: コンプライアンス要件に応じて、ユーザーの場所に基づいてアクセスを制限するルールを定義します。」
「グループベースのアクセスを構成する: 特定のユーザー グループが指定されたプライベート アプリケーションにアクセスできるようにするルールを作成します。」
更新ルール
説明: 既存のポリシールールの設定を更新します。アクセス制御、条件、またはルールのプロパティを変更する場合に使用します。
必須パラメータ:
id: 更新するルールの数値識別子data: create_ruleと同じスキーマに従ってルール設定を更新しました
レスポンススキーマ:
{ data: { // Updated rule details (same as get_rule response) }, status: 'success' | 'error' }使用例:
「アクセス条件の調整: 新しいセキュリティ要件や組織の変更に対応するためにルール条件を変更します。」
「ルールの優先度を更新: 適切なポリシー評価順序を確保するためにルールの優先度を変更します。」
「ルールの有効化/無効化: メンテナンス中またはポリシー変更の実装時にルールのステータスを切り替えます。」
削除ルール
説明: 設定からポリシールールを削除します。これによりアクセス制御ポリシーが永久に削除されるため、注意して使用してください。
必須パラメータ:
id: 削除するルールの数値識別子
レスポンススキーマ:
{ status: 'success' | 'error' }使用例:
「古いポリシーをクリーンアップする: 不要になったルールや新しいポリシーに置き換えられたルールを削除します。」
「ポリシーの統合: ポリシー構成をマージした後、冗長なルールを削除します。」
「一時ルールの削除: 特定のプロジェクトまたはメンテナンス用に作成された一時アクセス ポリシーをクリーンアップします。」
プライベートアプリツール
プライベートアプリを作成する
説明: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' }使用例:
「内部アプリケーションをデプロイする: 特定のプロトコルとセキュリティ設定を使用して、内部 Web サービスのプライベート アプリ定義を作成します。」
「高可用性を構成する: 冗長性を確保するために、複数の発行元を持つプライベート アプリケーションを設定します。」
「安全なアクセスを有効にする: 厳格なセキュリティ設定と特定のバイパス ルールを備えたプライベート アプリを作成します。」
プライベートアプリの更新
説明: 既存のプライベート アプリケーションの構成を更新し、アクセス設定、プロトコル、およびセキュリティ パラメータの変更を可能にします。
必須パラメータ:
{ id: number, // Application ID // All other fields same as create_private_app }レスポンススキーマ: create_private_appと同じ
使用例:
「セキュリティ設定の変更: セキュリティを強化するために、証明書信頼設定と CORS 構成を更新します。」
「アクセス パラメータを調整する: 変化する要件に対応するためにプロトコルを更新するか、ルールをバイパスします。」
「パブリッシャーの再割り当て: アプリケーション トラフィックを処理するパブリッシャーのリストを変更します。」
プライベートアプリの削除
説明:Netskope構成からプライベートアプリケーションを削除します。このアクションにより、アプリケーション定義と関連するアクセス制御が完全に削除されます。
必須パラメータ:
id: プライベートアプリケーションの数値識別子
レスポンススキーマ:
{ status: number, result: string }使用例:
「サービスの廃止: 使用されなくなったプライベート アプリケーションを削除します。」
「テスト アプリをクリーンアップ: テストに使用した一時的なアプリケーションを削除します。」
「非推奨のサービスを削除する: インフラストラクチャの更新中に古いアプリケーション定義をクリーンアップします。」
プライベートアプリを取得する
説明: 特定のプライベート アプリケーションに関する詳細な構成情報を取得します。
必須パラメータ:
id: プライベートアプリケーションの数値識別子
レスポンススキーマ: create_private_appレスポンスと同じ
使用例:
「監査構成: コンプライアンス チェックのためにプライベート アプリケーションの詳細設定を確認します。」
「アクセスのトラブルシューティング: アプリケーション構成を調べて接続の問題を解決します。」
「設定の確認: アプリケーションに変更を加えた後、適切な構成を確認します。」
プライベートアプリ一覧
説明: 構成されたすべてのプライベート アプリケーションとその構成のリストを取得します。
必須パラメータ: なし
オプションパラメータ:
fields: 返される特定のフィールドfilter: フィルター条件query: 検索クエリlimit: 結果の最大数offset: スキップする結果の数
レスポンススキーマ:
{ data: Array<{ // Same fields as get_private_app response }>, status: 'success' | 'not found', total: number }使用例:
「アプリケーションのインベントリ: 監査の目的で、すべてのプライベート アプリケーションの完全なリストを取得します。」
「基準でフィルタリング: 特定の構成またはタグを持つアプリケーションを検索します。」
「ページ分割されたレビュー: 大規模な展開の場合、管理しやすいチャンクでアプリケーションを取得します。」
プライベートアプリタグを取得する
説明: プライベート アプリケーションに関連付けられたすべてのタグを取得します。これは、アプリケーションの整理と分類に役立ちます。
必須パラメータ: なし
オプションパラメータ:
query: タグの検索クエリlimit: タグの最大数offset: スキップするタグの数
レスポンススキーマ:
{ data: Array<{ tag_id: number, tag_name: string }>, status: 'success' | 'not found' }使用例:
「カテゴリの一覧表示: アプリケーションの分類を理解するためにすべてのタグを取得します。」
「タグの検索: 特定の条件に一致する特定のタグを検索します。」
「タグインベントリ: 標準化の目的で利用可能なすべてのタグを確認します。」
プライベートアプリタグを作成する
説明: 整理と管理を改善するために、新しいタグをプライベート アプリケーションに関連付けます。
必須パラメータ:
id: アプリケーション識別子tags: タグオブジェクトの配列
使用例:
「アプリを分類する: 関連するアプリケーションをグループ化するために組織タグを追加します。」
「環境ラベル付け: デプロイメント環境に基づいてアプリケーションにタグを付けます。」
「チームの割り当て: アプリケーションを所有または管理するチームを示すタグを追加します。」
プライベートアプリタグの更新
説明: 1 つ以上のプライベート アプリケーションに関連付けられているタグを更新します。
必須パラメータ:
ids: アプリケーション識別子の配列tags: 更新されたタグオブジェクトの配列
使用例:
「タグの一括更新: 複数のアプリケーションのタグを同時に変更します。」
「タグの標準化: 新しい命名規則に準拠するようにタグを更新します。」
「所有権の変更: 新しいチームの割り当てを反映するようにタグを更新します。」
プライベートアプリパブリッシャーの更新
説明: プライベート アプリケーションの発行者の割り当てを更新し、どの発行者がアプリケーション トラフィックを処理するかを制御します。
必須パラメータ:
{ private_app_ids: string[], // Application IDs publisher_ids: string[] // Publisher IDs }使用例:
「負荷分散: 複数のパブリッシャー間でアプリケーション トラフィックを分散します。」
「パブリッシャーの移行: アプリケーションを新しいパブリッシャーまたは別のパブリッシャーに移動します。」
「HA 構成: 高可用性のためにバックアップ パブリッシャーを追加します。」
プライベートアプリパブリッシャーの削除
説明: プライベート アプリケーションから発行者の割り当てを削除します。
必須パラメータ:
{ private_app_ids: string[], // Application IDs publisher_ids: string[] // Publisher IDs to remove }使用例:
「パブリッシャーの廃止: アプリケーション構成から古いパブリッシャーを削除します。」
「割り当てのクリーンアップ: 不要なパブリッシャーの割り当てを削除します。」
「ルーティングを再構成: トラフィック フローの更新中にパブリッシャーを削除します。」
検出設定の取得
説明: アプリケーションの検出および監視方法を制御している、プライベート アプリケーションの現在の検出設定を取得します。
必須パラメータ: なし
使用例:
「検出の確認: 現在のアプリケーション検出構成を確認します。」
「監査設定: コンプライアンスの検出パラメータを確認します。」
「構成の監視: アプリケーションがどのように検出および追跡されているかを調べます。」
getPolicyInUse
説明: 指定されたプライベート アプリケーションに関連付けられているアクティブなポリシーを取得します。
必須パラメータ:
ids: アプリケーション識別子の配列
使用例:
「ポリシー監査: 特定のアプリケーションに影響を与えているポリシーを確認します。」
「アクセス制御のレビュー: セキュリティ コンプライアンスのためのポリシーの割り当てを確認します。」
「アクセスのトラブルシューティング: アクセスの問題を調査するときはポリシーを確認してください。」
パブリッシャーツール
リストパブリッシャー
説明: 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 }使用例:
「展開の監視: すべての発行者を一覧表示して、接続ステータスと機能を確認します。」
「監査構成: 発行者設定と関連アプリケーションを確認します。」
「キャパシティ プランニング: アプリの数を確認し、パブリッシャー全体に負荷をかけます。」
getPublisher
説明: 特定の発行者に関する詳細情報 (構成、ステータス、機能など) を取得します。
必須パラメータ:
id: 発行者の数値識別子
レスポンススキーマ: list_publishersレスポンスの個々のパブリッシャーと同じ
使用例:
「ヘルスチェック: 特定のパブリッシャーの詳細なステータス情報を取得します。」
「接続のトラブルシューティング: パブリッシャーの機能と接続状態を調べます。」
「バージョン検証: 発行元バージョンとアップグレード ステータスを確認します。」
作成パブリッシャー
説明: Netskope 環境に新しいパブリッシャー インスタンスを作成します。
必須パラメータ:
{ name: string, // Publisher name lbrokerconnect?: boolean, // Optional local broker connection publisher_upgrade_profiles_id?: number // Optional upgrade profile assignment }レスポンススキーマ: get_publisherレスポンスと同じ
使用例:
「新しいパブリッシャーを展開する: 新しいデータ センターの場所のパブリッシャーを作成します。」
「容量の拡張: 増加するアプリケーション トラフィックを処理するためにパブリッシャーを追加します。」
「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レスポンスと同じ
使用例:
「名前の更新: 新しい命名規則に合わせて発行者名を変更します。」
「接続の変更: ローカル ブローカーの接続設定を更新します。」
「プロファイルの割り当て: パブリッシャーをアップグレード プロファイルにリンクします。」
アップデートパブリッシャー
説明: パブリッシャーの構成を完全に更新し、すべての設定を指定の値に置き換えます。
必須パラメータ:
{ 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レスポンスと同じ
使用例:
「完全な再構成: すべての発行者設定を一度に更新します。」
「タグ管理: パブリッシャーのタグと設定をまとめて更新します。」
「設定をリセット: 既存の構成を新しい値に置き換えます。」
発行者を削除
説明: Netskope 構成からパブリッシャーを削除します。アプリケーションへのアクセスに影響するため、注意して使用してください。
必須パラメータ:
id: 削除するパブリッシャーの数値識別子
レスポンススキーマ:
{ status: 'success' | 'error' }使用例:
「パブリッシャーの廃止: 廃止されるパブリッシャーを削除します。」
「テストインスタンスのクリーンアップ: テストに使用したパブリッシャーを削除します。」
「未使用のものを削除: 不要になったパブリッシャーをクリーンアップします。」
一括アップグレードパブリッシャー
説明: 複数の発行者のアップグレードを同時に開始します。
必須パラメータ:
{ publishers: { apply: { upgrade_request: boolean // Whether to request upgrade }, id: string[] // Array of publisher IDs } }レスポンススキーマ:
{ data: { publishers: Array<PublisherResponse> }, status: 'success' | 'not found' }使用例:
「一括アップグレード: 特定のリージョン内のすべてのパブリッシャーをアップグレードします。」
「段階的なロールアウト: パブリッシャーのサブセットを一度にアップグレードします。」
「緊急パッチ適用: 複数の発行者に重要な更新を適用します。」
リリースを取得する
説明: 利用可能な発行元リリースに関する情報を取得します。
必須パラメータ: なし
レスポンススキーマ:
{ data: Array<{ docker_tag: string, is_recommended: boolean, release_type: 'Beta' | 'Latest' | 'Latest-1' | 'Latest-2', version: string }>, status: 'success' | 'not found' }使用例:
「バージョン計画: アップグレード計画のために利用可能なリリースを確認します。」
「リリース追跡: 新しいバージョンと推奨事項を監視します。」
「互換性チェック: アップグレードする前にリリースの種類を確認してください。」
プライベートアプリを取得する
説明: 特定の発行元に関連付けられたプライベート アプリケーションのリストを取得します。
必須パラメータ:
publisherId: 発行者の数値識別子
レスポンススキーマ: アプリケーション固有のレスポンス
使用例:
「アプリインベントリ: パブリッシャーによって処理されるすべてのアプリケーションを一覧表示します。」
「負荷評価: 発行元のアプリの数と種類を確認します。」
「移行計画: 別の発行元に移行する前にアプリを確認してください。」
パブリッシャー登録トークンを生成する
説明: パブリッシャーの新しい登録トークンを作成し、Netskope コントロール プレーンへの安全な登録を可能にします。
必須パラメータ:
publisherId: 発行者の数値識別子
レスポンススキーマ:
{ data: { token: string // Registration token }, status: string }使用例:
「初期設定: 新しい発行者登録用のトークンを生成します。」
「再登録: パブリッシャーの再接続用の新しいトークンを作成します。」
「セキュリティ更新: 登録トークンを定期的にローテーションします。」
アップグレードプロファイルツール
アップグレードプロファイルの一覧
説明: 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 }使用例:
「アップグレード スケジュールを確認する: すべてのプロファイルを一覧表示して、さまざまな発行元のアップグレードがいつスケジュールされているかを把握します。」
「監査構成: すべてのアップグレード プロファイルの設定とスケジュールの一貫性を確認します。」
「アップグレード ステータスの監視: アクティブにアップグレードされているプロファイル、または更新がスケジュールされているプロファイルを表示します。」
アップグレードプロファイルを取得する
説明: スケジュールや構成など、特定のアップグレード プロファイルに関する詳細情報を取得します。
必須パラメータ:
id: アップグレードプロファイルの数値識別子
レスポンススキーマ: list_upgrade_profiles の個々のプロファイルと同じ
使用例:
「設定の確認: アップグレード ウィンドウの前に特定のプロファイル構成を確認します。」
「アップグレードのトラブルシューティング: アップグレードの問題を調査するときは、プロファイルの詳細を調べます。」
「進行状況の監視: 進行中のアップグレード プロセスのステータスを追跡します。」
アップグレードプロファイルの作成
説明: 自動パブリッシャーアップグレードを管理するための新しいアップグレードプロファイルを作成します。プロファイルは、パブリッシャーに更新を適用するタイミングと方法を制御します。
必須パラメータ:
{ 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' }使用例:
「メンテナンスのスケジュール: 営業時間外の定期的なアップグレードのプロファイルを作成します。」
「ベータ テスト: 選択した発行元で新しいリリースをテストするためのプロファイルを設定します。」
「地域の更新: 異なるタイムゾーンのメンテナンス ウィンドウに合わせたプロファイルを作成します。」
アップグレードプロファイルの更新
説明: 既存のアップグレード プロファイルの構成を更新し、スケジュール、リリース タイプ、その他の設定を変更できるようにします。
必須パラメータ:
id: プロフィール識別子data: 更新されたプロファイル構成 (create_upgrade_profile と同じスキーマ)
レスポンススキーマ:
{ data: { // Updated profile details (same as get_upgrade_profile response) }, status: 'success' | 'not found' }使用例:
「スケジュールの調整: メンテナンス期間に合わせてアップグレードのタイミングを変更します。」
「リリース トラックの変更: 別のリリース タイプを使用するにはプロファイルを更新します。」
「アップグレードの有効化/無効化: 変更凍結期間中にプロファイルのステータスを切り替えます。」
アップグレードプロファイルの削除
説明: 構成からアップグレードプロファイルを削除します。自動アップグレードのスケジュール設定に影響するため、注意して使用してください。
必須パラメータ:
id: 削除するプロファイルの数値識別子
レスポンススキーマ:
{ status: 'success' | 'not found' }使用例:
「古いプロファイルを削除: 使用されていないアップグレード構成をクリーンアップします。」
「プロファイルの統合: アップグレード スケジュールを統合した後、冗長プロファイルを削除します。」
「テスト プロファイルのクリーンアップ: アップグレード テストに使用された一時プロファイルを削除します。」
ステアリングツール
出版社協会の更新
説明: プライベート アプリケーションとパブリッシャー間の関連付けを更新し、特定のアプリケーション トラフィックを処理するパブリッシャーを変更できるようにします。
必須パラメータ:
{ 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[] } }使用例:
「発行者の再割り当て: 特定のプライベート アプリケーションを処理する発行者を更新します。」
「負荷分散: トラフィック分散を改善するためにパブリッシャーの割り当てを変更します。」
「HA 構成: アプリケーションの冗長性を確保するために複数のパブリッシャーを設定します。」
出版社の関連付けを削除する
説明: プライベート アプリケーションとパブリッシャー間の関連付けを削除し、パブリッシャーによるアプリケーションのトラフィック処理を事実上停止します。
必須パラメータ:
{ private_app_ids: string[], // Array of private application IDs publisher_ids: string[] // Array of publisher IDs to remove }レスポンススキーマ: update_publisher_associationと同じ
使用例:
「関連付けを削除: 特定の発行者が特定のアプリケーションを処理できないようにします。」
「構成のクリーンアップ: 不要なパブリッシャーの割り当てを削除します。」
「廃止の準備: パブリッシャーを廃止する前にアプリケーションを削除します。」
getUserDiagnostics
説明: プライベート アプリケーションへのユーザー アクセスに関する診断情報を取得し、接続の問題のトラブルシューティングに役立ちます。
必須パラメータ: なし
レスポンススキーマ:
{ 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 }> } }使用例:
「アクセスのトラブルシューティング: プライベート アプリケーションへのユーザー接続の問題を調査します。」
「アクセス パターンの監査: ユーザーがどのパブリッシャーを経由して接続しているかを確認します。」
「パフォーマンスの監視: ユーザー アクセスの接続状態とタイミングを確認します。」
デバイス診断情報を取得する
説明: 特定のプライベート アプリケーションへのデバイス アクセスに関する診断情報を取得します。
必須パラメータ:
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 }> } }使用例:
「デバイスのトラブルシューティング: 特定のデバイスの接続に関する問題を調査します。」
「アプリケーション アクセス: プライベート アプリケーションへのデバイス固有のアクセスを確認します。」
「接続履歴: デバイスの接続パターンとステータスを確認します。」
検証ツール
検証名
説明: さまざまなリソース (発行元、プライベート アプリ、ポリシーなど) の名前を検証し、命名要件を満たしていることを確認します。
必須パラメータ:
{ resourceType: 'publisher' | 'private_app' | 'policy' | 'policy_group' | 'upgrade_profile', name: string, tagType?: 'publisher' | 'private_app' }レスポンススキーマ:
{ status: 'success' | 'error', data: { valid: boolean, message?: string } }使用例:
「名前の検証: 提案されたリソース名が要件を満たしているかどうかを確認します。」
「タグ検証: 作成前にタグ名を検証します。」
「ポリシーの命名: ポリシー名が規則に従っていることを確認します。」
検証リソース
説明: 作成または更新操作の前に、完全なリソース構成を検証します。
必須パラメータ:
{ resourceType: 'publisher' | 'private_app' | 'policy' | 'policy_group' | 'upgrade_profile', data: { name: string, // Additional resource-specific fields } }レスポンススキーマ:
{ status: 'success' | 'error', data: { valid: boolean, errors?: string[] } }使用例:
「構成の検証: 作成前にリソース設定を確認してください。」
「更新の検証: 更新を適用する前に変更を検証します。」
「コンプライアンス チェック: リソースが必要な基準を満たしていることを確認します。」
検索リソース
説明: 指定された条件に基づいて発行者またはプライベート アプリケーションを検索します。
必須パラメータ:
{ resourceType: 'publishers' | 'private_apps', query: string }レスポンススキーマ: リソース固有のレスポンス形式
使用例:
「リソース検索: 特定の条件に一致するリソースを検索します。」
「発行者の検索: 名前または属性で発行者を検索します。」
「アプリケーションの検出: 検索用語に一致するプライベート アプリを検索します。」