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

    KnowBe4 Risk Exchange用プラグイン

    リリースノート

    2.0.0 (Requires minimum Cloud Exchange version 6.1.0)

    Added

    • Usersエンティティに新しいフィールドが追加されました。
    • Added support for Add User to Group, Remove User from Group, Enroll in Training, and Update Custom Field actions.
    • KnowBe4から、期限切れトレーニング詳細の取得、Password IQの検知、Security Coachのリスクスコアなどの追加詳細を取得する機能が追加されました。
    • Added a Custom Region URL option in the configuration parameter where you can provide a custom KnowBe4 Base URL.

    Updated

    • データの取得とプラグインアクションの実行に使用するReporting APIを、旧バージョンから新しいGraphQL APIに更新しました。

    1.0.0

    Added

    • 初回リリース。

    このドキュメントでは、Netskope Cloud ExchangeプラットフォームのRisk ExchangeモジュールでKnowBe4 v2.0.0プラグインを設定する方法を説明します。このプラグインは、KnowBe4コンソールのユーザー > ユーザー管理ページからユーザーを取得します。このプラグインは、KnowBe4のユーザーに対するグループへのユーザーの追加、グループからのユーザーの削除、トレーニングへの登録、カスタムフィールドの更新アクションをサポートしています。

    Netskopeの正規化スコア計算(ユーザー > 1000 – (KnowBe4の現在のリスクスコア) x 10)。

    前提条件

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

    • Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
    • Netskope Cloud Exchangeテナントには、テナントプラグインとリスクエクスチェンジプラグインが既に設定済みです。
    • KSAT APIトークンを持つKnowBe4インスタンス
      • PasswordIQおよびSecurityCoachのトークン(任意)
    • 以下のホストへの接続性:
      • https://training.knowbe4.com(米国)、 
      • https://eu.knowbe4.com (EU), 
      • https://ca.knowbe4.com (CA), 
      • https://uk.knowbe4.com (英国)、
      • https://de.knowbe4.com(DE)。
    • シークレットマネージャーの設定については、こちらのドキュメンテーションを参照してください。Azure Key Vault Secrets Managerを設定するには、こちらのドキュメンテーションを参照してください。
    KnowBe4プラグインのサポート

    This plugin fetches Users from the Users > User Management page of the KnowBe4 console. This plugin supports the Add User to Group, Remove User from Group, Enroll in Training, and Update Custom Field actions on users in KnowBe4.

    抽出されたデータの種類サポートされているアクション
    ユーザーグループにユーザーを追加
    グループからユーザーを削除
    トレーニングに登録
    カスタムフィールドを更新
    アクションなし
    マッピング

    マッピングを使用して、取得したユーザーの詳細を表示します。プラグイン設定中にマッピングされたフィールドは、データの取得後にRecordsページに表示されます。プラグインの設定時に使う推奨マッピングを以下に示します。

    ユーザー向けプルマッピング
    プラグインフィールドラベル想定されるデータ型推奨フィールドラベル総合戦略例
    ユーザーの電子メールStringKnowBe4_ユーザーの電子メールUniquejane.doe@example.com
    ユーザーIDStringKnowBe4_ユーザー IDOverwrite5384681
    名StringKnowBe4_名OverwriteJane
    姓StringKnowBe4_姓OverwriteDoe
    Display NameStringKnowBe4_表示名OverwriteJane Doe
    従業員番号StringKnowBe4_従業員番号OverwriteEMP-1042
    役職StringKnowBe4_役職Overwriteセキュリティアナリスト
    DepartmentStringKnowBe4_DepartmentOverwrite安全
    マネージャーの電子メールStringKnowBe4_管理者の電子メールOverwritemanager@example.com
    ユーザーの状態StringKnowBe4_ユーザーステータスOverwriteアクティブ
    グループListKnowBe4_GroupsOverwrite[“営業”, “EMEA”]
    ユーザー現在のリスクスコアNumberKnowBe4_ユーザーの現在のリスクスコアOverwrite42.6695
    フィッシングに弱いユーザーの割合NumberKnowBe4_フィッシングに弱いユーザーの割合Overwrite12.5
    Netskope正規化スコアNumberKnowBe4_Netskope 正規化スコアOverwrite573
    期限超過トレーニング数NumberKnowBe4_期限超過トレーニング数Overwrite2
    期限超過トレーニング名ListKnowBe4_期限超過トレーニング名Overwrite[「セキュリティアウェアネスの基礎」]
    PIQ 検出ListKnowBe4_PIQ 検出Overwrite[「脆弱なパスワード」]
    セキュリティアウェアネススコアNumberKnowBe4_認識スコアOverwrite78
    フィッシング対策スコアNumberKnowBe4_フィッシング対策スコアOverwrite81
    フィッシング レポート スコアNumberKnowBe4_フィッシングレポートスコアOverwrite65
    トレーニングスコアNumberKnowBe4_研修スコアOverwrite90
    カスタムフィールド1StringKnowBe4_カスタムフィールド1OverwriteContractor
    カスタムフィールド2StringKnowBe4_カスタムフィールド2OverwriteContractor
    カスタムフィールド3StringKnowBe4_カスタムフィールド3OverwriteContractor
    カスタムフィールド4StringKnowBe4_カスタムフィールド4OverwriteContractor
    カスタム日付1DateTimeKnowBe4_カスタム日付1Overwrite2026-09-01
    カスタム日付2DateTimeKnowBe4_カスタム日付2Overwrite2026-09-01
    同じレコードが複数のプラグインに存在する場合は、プラグイン間で同じフィールドをマッピングしてください。たとえば、Netskopeやサードパーティのプラグインとの間でレコードをマージする場合、「ユーザーの電子メール」フィールドを一意にし、両方のプラグインで共通にできます。
    正規化スコアの計算

    KnowBe4で想定されるスコアの範囲は0~1000です。Netskopeの正規化スコア計算(ユーザー > (1000 – (KnowBe4の現在のリスクスコア) x 10))。
    リスクスコアの値が0、100、および文字列の場合、Netskope正規化スコアの計算はスキップされることに注意してください。

    権限

    トークンを作成するユーザーに、APIトークンを作成するために必要な権限があることを確認してください。トークンには以下の権限があります:

    • KSAT API Token: 読む/書き込み
    • PasswordIQ API Token: 読み取り専用
    • SecurityCoach API Token: 読み取り専用
    APIの詳細
    使うAPI一覧
    APIエンドポイント方法使うケース
    /graphql — AuthCheck役職validate()内の接続とトークンの検証
    /graphql — ユーザー役職ユーザーの詳細を取得
    /graphql — エイリアス登録役職期限を過ぎたトレーニングの詳細を取得
    /graphql — PiqUserStates役職Password IQの検出結果を取得する
    /graphql — CoachUsers役職Security Coachの詳細を取得
    /graphql — グループ役職グループ名の一覧
    /graphql — TrainingCampaigns役職トレーニングキャンペーン名を一覧表示
    /graphql — グループ作成役職KnowBe4でグループを作成
    /graphql — AddToGroups役職ユーザーをグループに一括追加
    /graphql — RemoveFromGroup役職グループからユーザーを一括削除します
    /graphql — EnrollUser役職トレーニングキャンペーンにユーザーを登録
    /graphql — EditUser役職ユーザーのカスタムフィールド値を更新
    AuthCheck

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    query AuthCheck($per: Int, $page: Int) {
      users(per: $per, page: $page) {
        nodes { id }
        pagination { totalCount }
      }
    }
    { “per”: 1, “page”: 1 }

    Sample Response

    {
      "data": {
        "users": {
          "nodes": [{ "id": 1234567 }],
          "pagination": { "totalCount": 250 }
        }
      }
    }
    List Users

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    query Users($per: Int, $page: Int, $status: UserStatusFilters) {
      users(per: $per, page: $page, status: $status) {
        nodes {
          id 電子メール firstName lastName displayName employeeNumber jobTitle
          department manager電子メール archived riskScore currentPpp
          customField1 customField2 customField3 customField4
          customDate1 customDate2
          groups { id name }
        }
        pagination { page pages per totalCount }
      }
    )}
    { “per”: 100, “page”: 1, “status”: “ACTIVE” }

    Sample Response

    {
      "data": {
        "users": {
          "nodes": [
            {
              "id": 1234567,
              "email": "sample_user@netskope.com",
              "firstName": "Sample",
              "lastName": "User",
              "displayName": "Sample User",
              "employeeNumber": "E-00001",
              "jobTitle": "Analyst",
              "department": "Sample Department",
              "managerEmail": "sample_user@netskope.com",
              "archived": false,
              "riskScore": 42.7,
              "currentPpp": 12.5,
              "customField1": "Tier 2",
              "customField2": null,
              "customField3": null,
              "customField4": null,
              "customDate1": "2026-09-01",
              "customDate2": null,
              "groups": [{ "id": 5001, "name": "Finance" }]
            }
          ],
          "pagination": { "page": 1, "pages": 3, "per": 100, "totalCount": 250 }
        }
      }
    }
    トレーニング登録情報を取得する

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    query {
      u0: enrollments(userId: 1234567, per: 100, page: 1) {
        nodes {
          status pastDue
          trainingCampaign { name }
          enrollmentItem {
            … on PurchasedCourse { title }
            … on ポリシー { title }
            … on KnowledgeRefresher { title }
          }
        }
        pagination { totalCount pages }
      }
    }
    なし

    Sample Response

    {
      "data": {
        "u0": {
          "nodes": [
            {
              "status": "IN_PROGRESS",
              "pastDue": true,
              "trainingCampaign": { "name": "2026 Annual Security Awareness" },
              "enrollmentItem": { "title": "2026 Security Awareness Training" }
            }
          ],
          "pagination": { "totalCount": 2, "pages": 1 }
        }
      }
    }
    PasswordIQユーザーの状態を取得

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    query PiqUserStates(
      $detection: [DetectionTypes!]
      $userType: PiqUserTypes
      $pagination: PiqPaginationAttributes!
    ) {
      passwordIqUserStates(
        detection: $detection, userType: $userType, pagination: $pagination
      ) {
        users {
          id kmsatId
          events { detectionType { name } detected resolved }
        }
        pagination { page pages per totalCount }
      }
    }
    {
      “detection”: [
        “AD_PW_WEAK”, “AD_PW_SHARED”, “AD_PW_EMPTY”, “AD_PW_CLEAR_TEXT”,
        “AD_PW_NOT_REQD”, “AD_PW_NEVER_EXPIRES”, “AD_USER_USES_LM_HASH”,
        “AD_USER_AES_ENCRYPTION_NOT_SET”, “AD_USER_DES_ONLY_ENCRYPTION”,
        “AD_USER_HAS_PREAUTHENTICATION”, “AD_PW_FOUND_IN_BREACH”
      ],
      “userType”: “KMSAT”,
      “pagination”: { “per”: 100, “page”: 1 }
    }

    Sample Response

    {
      "data": {
        "passwordIqUserStates": {
          "users": [
            {
              "id": 88120,
              "kmsatId": 1234567,
              "events": [
                { "detectionType": { "name": "AD_PW_FOUND_IN_BREACH" }, "detected": true, "resolved": false },
                { "detectionType": { "name": "AD_PW_NEVER_EXPIRES" }, "detected": true, "resolved": true }
              ]
            }
          ],
          "pagination": { "page": 1, "pages": 1, "per": 100, "totalCount": 1 }
        }
      }
    }
    Security Coachにマッピングされたユーザーの一覧

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    query CoachUsers($search: String!, $draw: Int!, $start: Int!,
                     $length: Int!) {
      securityCoachListMappedUsers(
        search: $search, draw: $draw, start: $start, length: $length
      ) {
        recordsTotal
        データ {
          id 電子メール awarenessScore antiPhishingScore phishingReportScore
          trainingScore
        }
      }
    }
    { “search”: “”, “draw”: 1, “start”: 0, “length”: 100 }

    Sample Response

    {
      "data": {
        "securityCoachListMappedUsers": {
          "recordsTotal": 250,
          "data": [
            {
              "id": 1234567,
              "email": "sample_user@netskope.com",
              "awarenessScore": 78,
              "antiPhishingScore": 64,
              "phishingReportScore": 55,
              "trainingScore": 90
            }
          ]
        }
      }
    }
    リストグループ

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    query Groups($per: Int, $page: Int, $status: GroupStatuses,
                 $type: GroupTypes) {
      groups(per: $per, page: $page, status: $status, type: $type) {
        nodes { id name }
        pagination { page pages totalCount }
      }
    }
    { “per”: 100, “page”: 1, “status”: “ACTIVE”, “type”: “CONSOLE” }

    Sample Response

    {
      "data": {
        "groups": {
          "nodes": [
            { "id": 5001, "name": "Finance" },
            { "id": 5002, "name": "Netskope High Risk" }
          ],
          "pagination": { "page": 1, "pages": 1, "totalCount": 2 }
        }
      }
    }
    トレーニングキャンペーンを一覧表示

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    query TrainingCampaigns($per: Int, $page: Int,
                            $statuses: [TrainingCampaignStatuses!]) {
      trainingCampaigns(per: $per, page: $page, statuses: $statuses) {
        nodes { id name }
        pagination { page pages totalCount }
      }
    }
    { “per”: 100, “page”: 1, “statuses”: [“CREATED”, “ENROLLING”, “IN_PROGRESS”] }

    Sample Response

    {
      "data": {
        "trainingCampaigns": {
          "nodes": [{ "id": 7001, "name": "Remedial Phishing Training" }],
          "pagination": { "page": 1, "pages": 1, "totalCount": 1 }
        }
      }
    }
    グループを作成する

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    mutation CreateGroup($attributes: GroupAttributes!) {
      groupCreate(attributes: $attributes) {
        errors { field reason }
        node { id name }
      }
    }
    { “attributes”: { “name”: “Netskope High Risk” } }

    Sample Response

    {
      "data": {
        "groupCreate": {
          "errors": [],
          "node": { "id": 5002, "name": "Netskope High Risk" }
        }
      }
    }
    ユーザーをグループに追加

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    mutation AddToGroups($userIds: [Int!]!, $groupIds: [Int!]!) {
      userAddToGroups(userIds: $userIds, groupIds: $groupIds) {
        errors { field reason }
        node { id 電子メール }
      }
    }
    { “userIds”: [1234567, 1234568], “groupIds”: [5002] }

    Sample Response

    {
      "data": {
        "userAddToGroups": {
          "errors": [],
          "node": [
            { "id": 1234567, "email": "sample_user@netskope.com" },
            { "id": 1234568, "email": "sample_user@netskope.com" }
          ]
        }
      }
    }
    グループからユーザーを削除

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    mutation RemoveFromGroup($userIds: [Int!]!, $groupId: Int!) {
      userDeleteMemberships(userIds: $userIds, groupId: $groupId) {
        errors { field reason }
        node { id 電子メール }
      }
    }
    { “userIds”: [1234567], “groupId”: 5002 }

    Sample Response

    {
      "data": {
        "userDeleteMemberships": {
          "errors": [],
          "node": [{ "id": 1234567, "email": "sample_user@netskope.com" }]
        }
      }
    }
    ユーザーを登録するKnowBe4トレーニングキャンペーン

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    mutation EnrollUser($trainingCampaignId: Int!, $userId: Int!) {
      trainingCampaignAddUser(
        trainingCampaignId: $trainingCampaignId, userId: $userId
      ) {
        errors { field reason }
        node
      }
    }
    { “trainingCampaignId”: 7001, “userId”: 1234567 }

    Sample Response

    {
      "data": {
        "trainingCampaignAddUser": {
          "errors": [],
          "node": true
        }
      }
    }
    ユーザーを更新

    方法: POST

    エンドポイント:/graphql

    Headers

    鍵Value
    AuthorizationBearer <api_token>
    Content-Typeアプリケーション/json
    Acceptアプリケーション/json
    ユーザーエージェントnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    GraphQLクエリVariables
    mutation EditUser($userId: Int!, $attributes: UserAttributes!) {
      userEdit(userId: $userId, attributes: $attributes) {
        errors { field reason }
        node { id 電子メール }
      }
    }
    { “userId”: 1234567, “attributes”: { “customField1”: “Netskope: high risk” } }

    Sample Response

    {
      "data": {
        "userEdit": {
          "errors": [],
          "node": { "id": 1234567, "email": "sample_user@netskope.com" }
        }
      }
    }

    パフォーマンスマトリックス

    以下は、500kユーザーを取得する際に、次の仕様の大規模なCloud Exchangeスタックで実施したパフォーマンスマトリックスです。

    デスクリプション仕様
    スタックサイズサイズ:大、 
    RAM:32 GB、 
    コア:16
    取得および更新されたユーザーレコードを保存するのに要した時間約15分
    ユーザーエージェント

    netskope-ce-7.0.0-cre-knowbe4-v2.0.0

    ワークフロー
    1. KnowBe4 APIトークンを取得してください。
    2. KnowBe4プラグインを設定します。
    3. ビジネスルールを設定します。
    4. Risk Exchange のアクションの構成
    5. KnowBe4プラグインを検証します。

    動画を見る

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

     

    KnowBe4 APIトークンを取得

    1. KnowBe4コンソールにログインします。

    2. Account Settings > Account Integrations > API > Product APIへ移動してください。

    3. Create New API Tokenをクリックして、KSAT APIトークンを生成します。

    4. 名前を入力し、製品にはKSATを、スコープにはRead/Writeを選択します。有効期限とユーザーを選択してから、Create Token.をクリックします

    5. 生成されたトークンをコピーし、OKをクリックしてください。

    6. ProductsでPasswordIQが選択されている場合は、PasswordIQ APIトークンを生成するために、PasswordIQ製品のAPIセクションで同じ手順を繰り返してください。

    7. 「製品」でSecurityCoachが選択されている場合は、SecurityCoach APIトークンを生成するために、SecurityCoach製品のAPIセクションで同じ手順を繰り返してください。

    KnowBe4プラグインの設定

    1. Cloud Exchange で、 Settings > Plugin Storeに移動します。KnowBe4 v2.0.0 (CRE)プラグインを検索して選択してください。

    2. 構成名を入力し、必要に応じて同期間隔を変更してください。

    3. Nextをクリックして、設定パラメータを入力してください。

      • Base URL:テナントのKnowBe4アカウントのベースURL(パスなし)。
      • Custom Region URLパスを含まない、テナントのKnowBe4デプロイメントのベースURL。Base URLが「カスタムリージョンURL」に設定されている場合にのみ必要です。
      • KSAT API Token:KnowBe4 Security Awareness Training製品(KSAT)のAPIトークン。
      • Pull Archived Users:アクティブユーザーに加えてアーカイブ済みユーザーも取得するにはSelect Yesを選択し、アクティブユーザーのみを取得するにはSelect Noを選択してください。
      • Group Action Batch Size: Number of users sent in a single Add User to Group or Remove User from Group API call. Valid range 1–100. Default is 50.
      • Pull Additional Details:各ユーザーについて取得する追加詳細を選択します:「Custom Fields」、「PasswordIQ」、「SecurityCoach」のいずれか。
      • PasswordIQ API Token:KnowBe4 PasswordIQ製品のAPIトークン。「Pull Additional Details」でPasswordIQが選択されている場合にのみ表示され、必須となります。
      • SecurityCoach API Token:KnowBe4 SecurityCoach製品のAPIトークン。「Pull Additional Details」でSecurityCoachが選択されている場合にのみ表示され、必須となります。
    4. Nextをクリックし、ユーザーのエンティティソースを設定します。EntityドロップダウンからUsersをSelectするか、Add New Entityをクリックして新しいエンティティを作成します。

    5. ユーザーエンティティのプラグインフィールドをRisk Exchangeフィールドにマッピングします(プラグインの電子メール文字列フィールドを、Usersエンティティの電子メール文字列フィールドにマッピングします)。

      フィールドのデータ型は「()」で囲まれます。
    6. 複数のフィールドをマッピングするには、Addをクリックします。

    7. Usersエンティティにフィールドを追加するには、Add Fieldをクリックしてください。 

    8. フィールドラベルを追加し、データ型と正規化を選択し、追加する新しいフィールドの一意制約を有効または無効にしてから、集計方法を選択します完了したら、Saveをクリックしてください。

    9. ユーザーエンティティのすべてのフィールドをマッピングします。

    10. Click Save. Your plugin will appear on the Plugins page.

    KnowBe4用のRisk Exchangeビジネスルールを設定

    1. Risk ExchangeでBusiness Rulesに移動し、 Add Business Ruleをクリックします。
    2. ソースとフィルター条件を設定してください。
    3. Saveをクリックしてください。

    KnowBe4用のRisk Exchangeアクションを設定します

    注記

    すべてのアクションは、次の2つのタイプのいずれかに分類されます。

    1. Source: この型は、エンティティのフィールド(ユーザー、アプリケーション、デバイスエンティティなど)を表します。この型は、エンティティの各レコードに対して動的な値を持つことができます。
    2. Static: この型は、特定のアクションに対する静的な値を表します。

    アクションを設定するには:

    1. Risk Exchange > Actionsへ移動してください。

    2. Add Action Configurationをクリックしてください。

    3. ビジネスルールのドロップダウンメニューから、作成したビジネスルールを選択します。

    4. From the Configuration dropdown, select your plugin.

    5. 「アクション」ドロップダウンメニューから、以下のいずれかのアクションを選択してください。

      • Add User to Group: トリガーされると、ユーザーがグループに追加されます。
      • Remove User from Group: トリガーされると、ユーザーがグループから削除されます。
      • Enroll in Training: トリガーされると、ユーザーをトレーニングに登録します。
      • Update Custom Field: トリガーされると、ユーザーの任意のカスタムフィールドが更新されます。
      • No action: ユーザーに対して何らかの操作を実行するものではありません。アクションなしを選択した場合は、Ticket Orchestratorモジュールに新しいアラートが追加されるよう、Generate Alertトグルを有効にしてください。
        Settings > General で CTO(Ticket Orchestrator)モジュールを必ず有効にしてください。
    6. メンテナンスウィンドウ中に何らかの操作を実行したい場合は、 「メンテナンスウィンドウ中に操作を実行する」トグルを有効にしてください。この処理はメンテナンス時間中に実行されます。それ以外の場合は、即座に実行されます。

    7. 「承認が必要」のトグルを無効にします。この切り替え機能を無効にすると、手動操作なしで自動的にアクションが実行されます。このトグルが有効になっている場合、各操作にはCloud Exchangeユーザーによる手動承認が必要になります。

    8. Saveをクリックしてください。

    9. アクションを実行するには、Sync, をクリックして期間を追加し、Fetch をクリックします。Sync をもう一度クリックすると、アクションのレコード数が取得されます。

      KnowBe4から取得したユーザーに対して、Netskopeテナントまたは任意のサードパーティープラットフォーム上で操作を実行できます。また、その逆も可能です。Netskopeまたは任意のサードパーティープラグインでユーザー関連の操作を行う方法については、Netskopeのプラグインガイドまたはサードパーティープラグインガイドをご覧ください。

    グループにユーザーを追加する

    1. Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
    2. Select ビジネスルールとプラグインを選択します。
    3. アクションにはAdd user to groupを選択してください。
    4. アクションパラメーターには、次の詳細を入力してください:
      • User ID: アクションの対象となるユーザーのID。Select from Source Fieldのドロップダウンから選択するか、ユーザーIDをカンマ区切りの固定値として入力してください。
      • Group: ユーザーの追加先となるKnowBe4グループ。コンソールグループのみが表示されます。Static Fieldドロップダウンからのみ、グループをSelectします。
      • New Group name: 作成するグループの名前。グループパラメーターで新しいグループを作成が選択されている場合にのみ使用されます。最大128文字まで入力できます。
    5. ユーザーに対して何らかの操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。
    6. Saveをクリックしてください。

    グループからユーザーを削除する

    1. Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
    2. Select ビジネスルールとプラグインを選択します。
    3. アクションにはRemove user from groupを選択してください。
    4. アクションパラメータに、以下の詳細を入力してください。
      • User ID: アクションの対象となるユーザーのID。Select from Source Fieldのドロップダウンから選択するか、ユーザーIDをカンマ区切りの固定値として入力してください。
      • Group: ユーザーの削除元となるKnowBe4グループ。コンソールグループのみが表示されます。Static Fieldドロップダウンからのみ、グループをSelectします。
    5. ユーザーに対して何らかの操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。
    6. Saveをクリックしてください。

    トレーニングに登録

    1. Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
    2. Select ビジネスルールとプラグインを選択します。
    3. アクションにはEnroll in Trainingを選択してください。
    4. アクションパラメーターには、次の詳細を入力してください:
      • User ID: アクションの対象となるユーザーのID。Select from Source Fieldのドロップダウンから選択するか、ユーザーIDをカンマ区切りの固定値として入力してください。
      • Training Campaign: ユーザーを登録するKnowBe4トレーニングキャンペーン新しいユーザーを受け入れるキャンペーンのみが一覧表示されます。Select 静的なドロップダウンからのみトレーニングキャンペーンを選択してください。
    5. ユーザーに対して何らかの操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。
    6. Saveをクリックしてください。

    カスタムフィールドを更新

    1. Risk Exchangeで、Actionsに移動してAdd Action Configurationをクリックします。
    2. Select ビジネスルールとプラグインを選択します。
    3. アクションにはUpdate Custom Fieldを選択してください。
    4. アクションパラメータに、以下の詳細を入力してください。
      • User ID: 操作対象となるユーザーのID。ソースフィールドのドロップダウンから選択するか、静的なカンマ区切りのユーザーIDを指定します。
      • Custom Field: 値を書き込むKnowBe4カスタムフィールド。静的ドロップダウンからのみ、カスタムフィールドを選択します。
      • Value: 選択したカスタムフィールドに書き込む値。最大255文字まで入力できます。静的な値のみを入力してください。
    5. ユーザーに対して何らかの操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。
    6. Saveをクリックしてください。
    「カスタムフィールドの更新」は、ユーザープロビジョニングで管理されていないユーザーのフィールドのみを更新します。

    No Action

    1. Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
    2. Select ビジネスルールとプラグインを選択します。
    3. アクションにはNo actionを選択してください。
    4. ユーザーに対して何らかの操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。
    5. Saveをクリックしてください。

    KnowBe4プラグインを検証する

    Cloud Exchangeで検証する

    KnowBe4から取得されたユーザーを確認するには、Loggingに移動し、CRE KnowBe4プラグインのログを検索してください。

    Cloud Exchangeで取得・保存されたレコードを確認するには、Risk ExchangeのRecordsに移動します。プラグイン構成でマッピングを追加する際に使うエンティティタイプをSelectします。

    実行されたアクション

    実行したアクションを確認するには、「アクションログ」ページに移動し、そのアクションを承認してください。

    Cloud Exchangeで実行されたアクションを確認するには、Loggingに移動し、CRE KnowBe4プラグインのログを検索してください。

    Add a User to a Group

    Remove a User from a Group

    Enroll in Training

    Update a Custom Field

    No Action

    KnowBe4で検証する

    KnowBe4コンソールにログインし、Usersに移動してください。

    ユーザーの詳細はすべて、ユーザー情報ページから取得されます。

    ユーザーの期限超過したトレーニングの詳細は、「トレーニング」ページから取得されます:

    PasswordIQの詳細は、PasswordIQページから取得されます:

    SecurityCoachの詳細は、Coachingページから取得されます:

    実行されたアクション

    KnowBe4でユーザーをグループに追加およびユーザーをグループから削除のアクションを検証するには、Users > Groupに移動し、ユーザーを追加または削除したグループをクリックします。

    トレーニングに登録,を確認するには、Trainingに移動し、操作を行ったトレーニングをクリックしてください。「ユーザー」セクションに移動すると、現在登録されているすべてのユーザーが表示されます。

    カスタムフィールドを更新,を検証するには、Users > User Managementに移動し、操作を実行したユーザーをクリックします。その後、User Informationセクションに移動すると、そのユーザーのすべてのカスタムフィールドが表示されます。

    「カスタムフィールドの更新」は、ユーザープロビジョニングで管理されていないユーザーのフィールドのみを更新します。

    KnowBe4プラグインのトラブルシューティング

    プラグインのワークフローでエラーが発生しました
    CRE KnowBe4 [CRE KnowBe4]: Validation error occurred, Received exit code 401, Unauthorized, Verify Base URL and API Token provided in the configuration parameters.

    What to do: 

    1. KnowBe4のAPIトークンを確認してください。KnowBe4 APIトークンの取得を参照してください。
    2. KnowBe4プラットフォームのベースURLを確認します。前提条件をご覧ください。
    KnowBe4からユーザーは抽出されません

    ユーザーのデータが取得されない場合、次のいずれかの理由が考えられます:

    • プラットフォーム上にプル可能なユーザーがいません。
    • マッピング機能はプラグインには含まれていません。

    What to do:

    1. KnowBe4にアクセスし、Users > User Managementページから取得できるユーザーがあるかどうかを確認します。または、手順に従ってください。
    2. プラグインの設定を編集し、エンティティソースページを確認してください。同じデータを取得するために、いくつかのフィールドがマッピングされているはずです。
    プラグインが検証に失敗する、または認証エラーが表示される

    プラグインの検証に失敗する場合、または認証エラーが表示される場合は、次のいずれかの理由が考えられます:

    • KSAT APIトークンが無効か、有効期限が切れています。
    • PasswordIQまたはSecurityCoachのAPIトークンが無効であり、「Pull Additional Details」で該当するオプションが選択されています。
    • ベースURLまたはカスタムリージョンURLが、テナントのKnowBe4リージョンと一致しません。

    What to do:

    1. KSAT APIトークンが有効であり、KnowBe4コンソールのUsers > Manage Userから生成されたことを確認してください。そのためには、手順に従ってください。
    2. 「Pull Additional Details」でPasswordIQまたはSecurityCoachが選択されている場合は、それぞれの製品のAPI設定の同じセクションで対応するAPIトークンが生成されていることを確認してください。
    3. テナントのKnowBe4リージョンにBase URLが一致していることを確認してください(米国の場合はhttps://training.knowbe4.com、EUの場合はhttps://eu.knowbe4.comなど)。
    グループまたはトレーニングキャンペーンのアクションが処理中に失敗する

    グループまたはトレーニングキャンペーンのアクションが処理中に失敗した場合、次のいずれかの理由が考えられます:

    • アクションの実行中に認証エラー(401/403)が発生しました。
    • グループアクションのバッチサイズが大きすぎるため、ゲートウェイがタイムアウトしました。

    What to do:

    1. 認証失敗かタイムアウトかを特定するには、Cloud Exchangeの「Logging」画面で具体的なエラーメッセージを確認してください。
    2. ログに認証失敗が記録されている場合は、KSAT APIトークンを再生成してください。
    3. グループメンバーシップの操作でゲートウェイタイムアウトが発生する場合は、Group Action Batch Size設定パラメーター(デフォルト値50、有効範囲1~100)を小さくしてください。
    プラグインを最新バージョンにアップグレード中にエラーが発生します

    プラグインを最新バージョンにアップグレードする際にこのエラーが発生する場合は、 

    プラグインを設定するには、次の手順を実行してください:

    1. 更新画面でSkipをクリックします。
    2. Risk Exchange > Plugins画面に移動して、プラグインを編集します。
    3. すべての構成パラメータに値を入力し、Nextをクリックします。要件に従ってマッピングを追加します。(User IDフィールドのデータ型がNumberからStringに変更されているため、CREフィールドのデータ型も更新する必要があります)。
    4. Saveをクリックしてから、プラグインを有効にしてください。
    API呼び出しは断続的に5分間停止した後、再開します

    validateやsyncなどのAPI呼び出しが、再開または失敗するまで断続的に約5分間ハングする場合、次のいずれかの理由が考えられます:

    • KnowBe4のリージョナルホスト名は、共有CDNの背後にある複数のIPアドレスに解決されます。
    • ネットワークファイアウォールは、解決された1つ以上のIPアドレスへのトラフィックを通知せずに破棄するため、Cloud Exchangeの5分間の内部タイムアウトに達するまで接続が応答しなくなります。

    What to do:

    1. Cloud Exchangeマシンからnslookup <region>.knowbe4.com(例:nslookup ca.knowbe4.com)を実行します。
    2. コマンドによって返されたすべてのIPアドレスを、ネットワーク/ITチームと共有してください。
    3. ネットワーク/ITチームに依頼して、返されたすべてのIPアドレスでCloud Exchangeマシンからのアウトバウンドアクセスがブロック解除されていることを確認してください。
    4. ファイアウォールによってブロックされているIPアドレスのブロックを解除してください。
    「カスタムフィールドの更新」アクションでは、KnowBe4 UI上のカスタムフィールド値は更新されません

    Cloud ExchangeでUpdate Custom Fieldsアクションが成功として表示されているにもかかわらず、KnowBe4 UIでカスタムフィールドの値が更新されない場合、そのユーザーがユーザープロビジョニングによって管理されていることが原因である可能性があります。

    • カスタムフィールドの値を更新できるのは、ユーザープロビジョニングによって管理されていないユーザーのみです。
    • ユーザープロビジョニングによって管理されているユーザーの場合、KnowBe4 APIが成功応答を返すことがあるため、Cloud Exchangeではアクションが成功として表示されますが、更新された値はKnowBe4のUIには表示されません。

    What to do:

    1. KnowBe4 UIで、ユーザーに“This User is not managed by user provisioning…”が表示されるかどうかを確認します。
    2. ユーザープロビジョニングで管理されていないユーザーに対してのみ、「カスタムフィールドを更新」アクションを実行します。
    3. ユーザーがユーザープロビジョニングによって管理されている場合は、代わりにユーザープロビジョニングシステムを通じてカスタムフィールドを更新してください。
    プラグインのアップグレード中は追加のパラメーターを使用できません

    Cloud Exchange v7.0.0でCRE KnowBe4プラグインをバージョン1.0.0から2.0.0にアップグレードする際、ユーザーはアップグレード中にrequired parametersのみを定義できます。

    What to do:

    追加のパラメーター(Custom Region URLなど)を設定するには、アップグレード後にRisk Exchange > Pluginページからプラグインを編集してください。

    このトピックでは
    • KnowBe4 Risk Exchange用プラグイン