Netskope LogoNetskope Logo
  • セキュリティサービス
  • AIサービス
  • ネットワークサービス
  • 分析サービス
  • 統合
  • getting-started.svg始める
    • サポート
    • コミュニティ
    • Netskope.com
    © 2026 無断転載を禁じます。Netskope 株式会社
    トップページ
    Netskope Cloud Exchange
    リスク交換モジュール
    リスクエクスチェンジアーカイブ
    ユーザーリスク交換ワークフロー
    サードパーティ製ユーザーリスク交換プラグインの設定
    ユーザーリスク交換のためのElasticプラグイン

    ユーザーリスク交換のためのElasticプラグイン

    このドキュメントでは、 Netskope Cloud Exchangeの URE モジュール用の URE Elastic プラグインを構成する方法について説明します。 このプラグインは、Elastic プラットフォームからユーザーとそのリスク スコアを取得するために使用されます。 このプラグインは、Elastic プラットフォームでのアクションの実行をサポートしていません。

    前提条件

    この設定を完了するには、以下が必要です。

    • Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
    • Netskope Cloud Exchangeのテナントで、TenantプラグインとRisk Exchange プラグインが既に設定されています。
    • Elastic インスタンスのクレデンシャル: ユーザー名、パスワード、Elastic Search の API ベース URL、API キー。
    • 以下のホストへの接続:Elasticインスタンス。
    CEバージョンの互換性

    Netskope CE v4.2.0, v5.0.0

    プラグインスコープ

    このプラグインは、Elastic インスタンスから、 [セキュリティ] > [探索] > [ユーザー] > [すべてのユーザー]ページで利用可能なユーザーと、 [セキュリティ] > [探索] > [ユーザー] > [ユーザーリスク]ページで利用可能なそれぞれのリスクスコアを取得します。

    Elasticプラグインのサポート

    取得したデータの種類

    ユーザー
    Actions

    No Action

    マッピング
    Elastic – Netskope プルマッピング
    弾性場Netskope CEフィールド

    user.name

    email
    risk.calculated_score_norm

    score

    スコアマッピング

    スコアはCloud Exchangeで正規化されます 以下の式:

    UREスコア計算 > | 100 – 弾性リスクスコア | x 10

    Netskope ScoreNetskopeスコア範囲
    致命的

    0-250

    高い

    251-500
    中くらい

    501-750

    低い

    751-1000

    エラスティックスコア弾性スコア範囲
    未知

    20歳未満

    低い

    20 – 40
    Moderate

    40 – 70

    高い

    70 – 90
    致命的

    > 90 **

    権限

    以下は、このプラグインに必要な権限です。

    • クラスタ権限 > manage_tokens
    • インデックス権限 > logs-* および risk-score.*
    • 特典 > 読む
    • APIキー > 権限の制限
    パフォーマンスマトリックス

    以下は、下記のVM仕様を持つ大規模CEスタック上で、50万人のユーザーとそのそれぞれのリスクスコアを取得して実施したパフォーマンス測定結果です。

    スタックの詳細

    サイズ:大
    RAM:32 GB
    CPU:16コア
    Elasticから取得したユーザーリスクスコアを持つユーザー

    500K

    ユーザーとそのリスクスコアを取り込むのにかかる時間

    約20分
    第三者製品に対して実行された操作

    NA

    APIの詳細
    使うAPI一覧
    API EndpointMethodAPI Client ScopeUse Case
    /_security/oauth2/token役職manage_tokenGet OAuth2 token
    /logs-*/_search役職logs-* > 読むアクセスFetch Users
    /risk-score*/_search役職リスクスコア* > 読むアクセスユーザーリスクスコアを取得する
    認証トークンを取得する

    API Endpoint:

    <Base URL>/_security/oauth2/token

    Method: 役職

    Headers:

    鍵Valueデスクリプション
    Content-Typeアプリケーション/json 

    Accept

    アプリケーション/json 

    Authorization

    ApiKey <Token>

    ユーザー名とパスワードなどの基本認証の場合、トークンはUTF-8エンコードされている必要があります。

    Basic <Token>

    Body:

    {
      "grant_type" : "client_credentials"
    }
    

    Sample API Response:

    {
        "access_token": "gLuKBBjxurcPqq7cZyTj4jL0A****j*******",
        "type": "Bearer",
        "expires_in": 1200,
        "authentication": {
            "username": "test user",
            "roles": [
                "Netskope"
            ],
            "full_name": "Test",
            "email": "",
            "metadata": {},
            "enabled": true,
            "authentication_realm": {
                "name": "native",
                "type": "native"
            },
            "lookup_realm": {
                "name": "native",
                "type": "native"
            },
            "authentication_type": "realm"
        }
    }
    
    レコードを取得する

    API endpoint:

    <Base URL>/logs-*/_search

    Method: 役職

    Headers:

    鍵Valueデスクリプション
    Content-Typeアプリケーション/json 

    Accept

    アプリケーション/json 

    Authorization

    ApiKey <Token>

    基本認証の場合、ユーザー名とパスワード、トークンはUTF-8エンコードされている必要があります。

    Basic <Token>

    Body:

    {
                "query": {
                    "bool": {
                        "must_not": {"exists": {"field": "host.name"}},
                        "filter": [
                            {"exists": {"field": "user.name"}},
                            {"range": {"@timestamp": {"gte": "2023-01-01T18:08:11.148813Z"}}},
                        ],
                    }
                },
                "sort": [{"@timestamp": "asc"}],
                "_source": True,
                "size": 10000,
            }
    

    Sample API Response:

    {
        "took": 10,
        "timed_out": false,
        "_shards": {
            "total": 75,
            "successful": 75,
            "skipped": 53,
            "failed": 0
        },
        "hits": {
            "total": {
                "value": 491,
                "relation": "eq"
            },
            "max_score": null,
            "hits": [
                {
                    "_index": "logs-tes",
                    "_id": "wHUW2YEyx7Kaj*****",
                    "_score": null,
                    "_source": {
                        "event": {
                            "kind": "alert",
                            "module": "proofpoint"
                        },
                        "user": {
                            "name": "kamlesh.solanki@crestdatasys.com"
                        },
                        "@timestamp": "2024-01-03T09:00:00.000Z"
                    },
                    "sort": [
                        1704272400000
                    ]
                }
            ]
        }
    }
    
    スコアを取得

    API Endpoint:

    <Base URL>/risk-score.*/_search

    Method: 役職

    Headers:

    鍵Valueデスクリプション
    Content-Typeアプリケーション/json 

    Accept

    アプリケーション/json 

    Authorization

    ApiKey <Token>

    基本認証の場合、ユーザー名とパスワード、トークンはUTF-8エンコードされている必要があります。

    Basic <Token>

    Body:

    {
        "query": {
            "bool": {
                "minimum_should_match": 1,
                "should": [{"match_phrase": {"user.name": "testuser@test.com"}}]
            }
        }
    }
    

    Sample API Response:

    {
        "took": 0,
        "timed_out": false,
        "_shards": {
            "total": 1,
            "successful": 1,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": {
                "value": 1,
                "relation": "eq"
            },
            "max_score": 0.9808291,
            "hits": [
                {
                    "_index": "risk-score.risk-score-latest-default",
                    "_id": "X2vS7pclkEYZFSG************",
                    "_score": 0.9808291,
                    "_source": {
                        "@timestamp": "2024-01-23T11:16:33.549Z",
                        "user": {
                            "name": "testuser@test.com",
                            "risk": {
                                "id_field": "user.name",
                                "id_value": "testuser@test.com",
                                "calculated_level": "Low",
                                "calculated_score": 92.29454468696414,
                                "calculated_score_norm": 35.33481802716851,
                                "category_1_score": 89,
                                "category_1_count": 9,
                                "notes": [],
                                "inputs": [
                                    {
                                        "id": "953f2530b0ea1ca14876583df459c8e24a21e9989876876869*****************",
                                        "index": ".internal.alerts-security.alerts-default-000003",
                                        "description": "Alert from Rule: External Alerts [Duplicate]",
                                        "category": "category_1",
                                        "risk_score": 47,
                                        "timestamp": "2024-01-10T09:36:16.888Z"
                                    },
                                    {
                                        "id": "2b1f87b7353ae4f1cebc95fc618a6b4cb3696b5b8383c3f***********",
                                        "index": ".internal.alerts-security.alerts-default-000003",
                                        "description": "Alert from Rule: External Alerts [Duplicate]",
                                        "category": "category_1",
                                        "risk_score": 47,
                                        "timestamp": "2024-01-10T09:36:16.890Z"
                                    },
                                    {
                                        "id": "3b5d3e2b1b0017567b3e2dc6835957a3118486e89fa20***********************",
                                        "index": ".internal.alerts-security.alerts-default-000003",
                                        "description": "Alert from Rule: External Alerts",
                                        "category": "category_1",
                                        "risk_score": 47,
                                        "timestamp": "2024-01-05T11:53:39.960Z"
                                    },
                                    {
                                        "id": "fe788d9601e817f0e7219b56686d9ba4a55d90c5ea4627***************a",
                                        "index": ".internal.alerts-security.alerts-default-000003",
                                        "description": "Alert from Rule: External Alerts",
                                        "category": "category_1",
                                        "risk_score": 47,
                                        "timestamp": "2024-01-05T11:53:39.963Z"
                                    },
                                    {
                                        "id": "7c7f1da36f5fbc904bb109c38d677e061fd4cbc************************************",
                                        "index": ".internal.alerts-security.alerts-default-000003",
                                        "description": "Alert from Rule: External Alerts [Duplicate]",
                                        "category": "category_1",
                                        "risk_score": 47,
                                        "timestamp": "2024-01-05T11:49:27.539Z"
                                    }
                                ]
                            }
                        }
                    }
                }
            ]
        }
    }
    
    ユーザーエージェント
    Netskope-ce-5.0.0-ure-elastic-v1.0.0

    ワークフロー

    1. 役割を作成します。
    2. ユーザーに役割を設定します。
    3. APIキーを作成します。
    4. Elasticプラグインを設定する
    5. ビジネスルールを追加します。
    6. アクションを追加します。
    7. プラグインを検証してください。

    再生ボタンをクリックして動画をご覧ください。

     

    役割を作成する

    1. Elasticプラットフォーム(Kibana、Elastic Search)にログインし、 Management > Stack Management > Security > Rolesに移動します。
    2. Create Rolesをクリックしてください。
    3. 役割名を指定し、クラスタ権限でmanage_tokenアクセスを選択してください。
    4. Scroll down to Index privileges and add logs-* and risk-score.* indexes under Indices, and then click Create role.

    新しい役割を持つユーザーを作成する

    1. Stack Management > Usersへ移動してください。
    2. Create Userをクリックし、ユーザー名、 アドレス、パスワードを入力し、パスワードを確認してから、権限ドロップダウンで以前に作成した役割を選択します。
    3. Create Userをクリックしてください。

    APIキーを作成する(APIキー認証方式の場合)

    1. Stack Management > Security > API Keysに移動してCreate API Keyをクリックしてください。
    2. 名前を入力し、「権限制限」の切り替えボタンを有効にしてください。役割記述子に、下記の辞書を追加してください。
      {
        "role-a": {
          "cluster": [
            "all"
          ],
          "indices": [
            {
              "names": [
                "logs-*",
                "risk-score.*"
              ],
              "privileges": [
                "read"
              ],
              "allow_restricted_indices": false
            }
          ],
          "applications": [],
          "run_as": [],
          "metadata": {},
          "transient_metadata": {
            "enabled": true
          }
        }
      }
      
    3. 「メタデータを含める」を有効にし、以下の辞書を追加してください。
      { "application": "Netskope Cloud Exchange" }

    4. Create API Keyをクリックしてください。APIキーをコピーして安全な場所に保存してください。一度しか表示されません。

    Elasticプラグインを設定する

    1. Cloud ExchangeにログインしてSettings > Pluginsに移動してください。
    2. Elasticプラグインの設定を行うには、Elasticプラグインのボックスを検索して選択してください。
    3. プラグインの設定名と同期間隔を入力し、 Nextをクリックします。
    4. 以下の値を入力してください。
      • ベースURL:Elastic SearchのAPIベースURLを入力してください。
      • 認証方法:使用する認証方法の種類Select基本認証またはAPIキー認証から選択してください。
      • ユーザー名:Elastic上のユーザーのユーザー名を入力してください。 基本認証方法を選択した場合のみ。
      • パスワード:Elasticユーザーのパスワードを入力してください。 基本認証方式を選択した場合のみ。
      • APIキー:APIキー認証方法のみを使用する場合は、以前に生成したAPIキーを入力してください。 。
      • 初期範囲:データを取得する初期範囲を入力してください。
    5. Saveをクリックしてください。

    Elastic のビジネスルールを追加する

    1. User Risk Exchange > Business Ruleへ移動してください。
    2. Create New Ruleをクリックしてください。
    3. ルール名を入力し、要件に基づいてクエリを設定してください。以下の例では、Elasticプラグインから取得したすべてのユーザーを取得します。

    Elasticのアクションを設定する

    Elasticプラグインはアクションの実行をサポートしていません。ただし、「アクションなし」アラートはNetskope CTO モジュールで生成できます。
    このアクションを設定するには、以下の手順に従ってください。

    1. ユーザーへ移動 Risk Exchange > Actions.
    2. Click Add Action Configuration.
    3. ビジネスルール、構成、およびアクションSelect 。
    4. CTOモジュールでアラートを生成するには、 Generate Alertを有効にし、メンテナンスウィンドウ中にアクションを実行する場合はPerform action during the maintenance windowも有効にしてください。Settings > Generalから CTO (チケットオーケストレーター) モジュールを有効にしてください。
    5. Saveをクリックしてください。

    Elasticプラグインを検証する

    プルを検証する

    Elasticから取得したユーザーを確認するには、 Risk Exchange > Usersにアクセスしてください。

    Settings > Loggingに移動して、プラグインの設定に基づいてログを検索してください。

    Elastic プラットフォームでプル可能なユーザーを確認するには、左側のパネルでSecurityに移動し、次にExplore > Users > All Usersに移動します。プラットフォーム上で常時利用可能なユーザーを確認してください。

    ユーザーのスコアが取得されたことを確認するには、 Security > Explore > Users > User Riskにアクセスしてください。

    アクションを検証する

    このプラグインはアクションの実行をサポートしていません。

    トラブルシューティング

    プラグインリポジトリからプラグインを保存できませんでした

    新しいプラグインが追加された際に、CEプラグインリポジトリからリポジトリの更新を取得する際に、内部サーバーエラーが発生します。

    What to do: この問題は今後のCEリリースで解決される予定ですが、それまではプラグインのzipファイルをダウンロードして、リポジトリにプラグインを追加してください。CEプラグインリポジトリに新しいリポジトリを追加します。新しいプラグインはCE版に追加されます。

    ユーザーまたはユーザーリスクスコアを取得できません

    CEでユーザーまたはユーザーリスクスコアを取得できない場合は、以下の考えられるシナリオを確認してください。

    • プラットフォーム上でユーザーがプルできます
    • ユーザーはプラグインで指定された初期範囲内で利用可能です
    • ユーザーリスクスコアはCEでは取得されません。

    What to do:

    • プラグインからユーザーが取得されない場合は、Elasticsearchにユーザーが利用可能かどうかを確認してください。
    • Elasticsearchでユーザーが取得可能な場合は、ユーザーが最後に確認された日付を確認してください。プラグイン設定で指定されている初期範囲を確認してください。初期範囲は、Elasticで利用可能な最終確認時刻以上である必要があります。そうすることで、ユーザーを取得できます。

    • ユーザーを取得した後でユーザーリスクスコアを取得できない場合は、ユーザーに適切な権限が追加されているかどうか、およびスコアがユーザーに対して利用可能であるかどうかを確認してください。
    このトピックでは
    • ユーザーリスク交換のためのElasticプラグイン