Netskope LogoNetskope Logo
  • Services de sécurité
  • Services d’IA
  • Services de miseenréseau
  • Services d'analyse
  • Intégrations
  • getting-started.svgPour commencer
    • Support
    • Communauté
    • Netskope.com
    © 2026 Tous droits réservés. Netskope Inc.
    Accueil
    Netskope Cloud Exchange
    Module Risk Exchange
    Configurer les plugins d'échange de risques tiers
    Plugin KnowBe4 pour la bourse des risques

    Plugin KnowBe4 pour la bourse des risques

    Notes de mise à jour

    2.0.0 (Requires minimum Cloud Exchange version 6.1.0)

    Added

    • De New champs ont été ajoutés à l’entité Users.
    • Added support for Add User to Group, Remove User from Group, Enroll in Training, and Update Custom Field actions.
    • Ajout de la prise en charge de l’extraction de détails supplémentaires, notamment l’extraction des détails des formations en retard, les détections Password IQ et les scores de risque de Security Coach depuis KnowBe4.
    • Added a Custom Region URL option in the configuration parameter where you can provide a custom KnowBe4 Base URL.

    Updated

    • A mis à jour l’ancienne API Reporting avec la nouvelle API GraphQL pour extraire des données et effectuer les actions du plugin.

    1.0.0

    Added

    • Initial release.

    Ce document explique comment configurer le plugin KnowBe4 v2.0.0 avec le module Risk Exchange de la plateforme Netskope Cloud Exchange. Ce plugin récupère les utilisateurs depuis la page Users > User Management de la console KnowBe4. Ce plugin prend en charge les actions Ajouter un utilisateur à un groupe, Supprimer un utilisateur d’un groupe, Inscrire à une formation et Mettre à jour un champ personnalisé sur les utilisateurs dans KnowBe4.

    Calcul du score de normalisation de Netskope pour les utilisateurs > (1000 - (Score de risque actuel de KnowBe4) x 10).

    Conditions préalables

    Pour compléter cette configuration, vous avez besoin de :

    • Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
    • Un locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Risk Exchange déjà configurés.
    • Une instance KnowBe4 avec un jeton d’API KSAT
      • Jetons PasswordIQ et SecurityCoach (facultatifs)
    • Connectivité avec les hôtes suivants :
      • https://training.knowbe4.com (US), 
      • https://eu.knowbe4.com (UE), 
      • https://ca.knowbe4.com (CA), 
      • https://uk.knowbe4.com (UK),
      • https://de.knowbe4.com (DE).
    • Pour la configuration de Secret Manager, consultez cette documentation. Pour configurer Azure Key Vault Secrets Manager, consultez cette documentation.
    Support du plugin 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.

    Types de données recueilliesActions soutenues
    UtilisateursAjouter un utilisateur au groupe
    Supprimer un utilisateur du groupe
    S’inscrire à la formation
    Mettre à jour le champ personnalisé
    Aucune action
    Mises en correspondance

    Les mappages sont utilisés pour afficher les détails des utilisateurs extraits. Les champs mappés lors de la configuration du plugin seront visibles sur la page Records une fois les données extraites. Voici les mappages suggérés à utiliser lors de la configuration du plugin.

    Cartographie en mode "pull" pour les utilisateurs
    Étiquette du champ du pluginType de données attenduÉtiquette suggérée pour le champStratégie globaleExemple
    Courriel de l'utilisateurStringKnowBe4_E-mailUniquejane.doe@example.com
    ID de l'utilisateurStringKnowBe4_ID utilisateurOverwrite5384681
    PrénomStringKnowBe4_PrénomOverwriteJane
    Nom de familleStringKnowBe4_NomOverwriteDoe
    Display NameStringKnowBe4_Nom d’affichageOverwriteJane Doe
    Numéro d’employéStringKnowBe4_Numéro d’employéOverwriteEMP-1042
    titre du posteStringKnowBe4_Intitulé du posteOverwriteAnalyste de la sécurité
    DepartmentStringKnowBe4_DepartmentOverwriteSécurité
    E-mail du responsableStringKnowBe4_E-mail du responsableOverwritemanager@example.com
    Statut de l'utilisateurStringKnowBe4_État de l’utilisateurOverwriteActif
    GroupesListKnowBe4_GroupsOverwrite[“Ventes”, “EMEA”]
    Score de risque actuel de l'utilisateurNumberKnowBe4_Score de risque actuel de l’utilisateurOverwrite42.6695
    Pourcentage de vulnérabilité au phishingNumberKnowBe4_Pourcentage de vulnérabilité au phishingOverwrite12.5
    Score normalisé de NetskopeNumberScore normalisé KnowBe4_NetskopeOverwrite573
    Nombre de formations en retardNumberKnowBe4_Nombre de formations en retardOverwrite2
    Noms des formations en retardListKnowBe4_Noms des formations en retardOverwrite[“Fondements de la sensibilisation à la sécurité”]
    Détections PIQListKnowBe4_PIQ DétectionsOverwrite[« mot de passe faible »]
    Score de sensibilisationNumberKnowBe4_Score de sensibilisationOverwrite78
    Score anti-hameçonnageNumberKnowBe4_Score anti-phishingOverwrite81
    Score de signalement de phishingNumberKnowBe4_Score du rapport d’hameçonnageOverwrite65
    Score de formationNumberKnowBe4_Score de formationOverwrite90
    Champ personnalisé 1StringKnowBe4_Champ personnalisé 1OverwriteContractor
    Champ personnalisé 2StringKnowBe4_Champ personnalisé 2OverwriteContractor
    Champ personnalisé 3StringKnowBe4_Champ personnalisé 3OverwriteContractor
    Champ personnalisé 4StringKnowBe4_Champ personnalisé 4OverwriteContractor
    Date personnalisée 1DateTimeKnowBe4_Date personnalisée 1Overwrite2026-09-01
    Date personnalisée 2DateTimeKnowBe4_Date personnalisée 2Overwrite2026-09-01
    Si vous avez les mêmes enregistrements dans plusieurs plugins, veillez à mapper les mêmes champs dans les plugins. Par exemple, si vous souhaitez fusionner des enregistrements avec Netskope ou un plugin tiers, vous pouvez rendre le champ Adresse e-mail de l’utilisateur unique et commun aux deux plugins.
    Calcul de la note normalisée

    Le type de score attendu sur KnowBe4 est compris entre 0 et 1000. Calcul du score de normalisation de Netskope pour les utilisateurs > (1000 - (Score de risque actuel de KnowBe4) x 10).
    Notez que pour les valeurs de score de risque 0, 100 et string, le calcul du score de normalisation de Netskope est ignoré.

    Permissions

    Assurez-vous que l’utilisateur pour lequel des jetons seront créés dispose des autorisations nécessaires pour créer un jeton d’API. Les jetons disposent des autorisations suivantes :

    • KSAT API Token: Lecture/écriture
    • PasswordIQ API Token: Lecture seule
    • SecurityCoach API Token: Lecture seule
    Détails de l'API
    Liste des API utilisées
    Point final de l'APIMéthodeCas d'utilisation
    /graphql — AuthCheckPUBLIERConnectivité et validation du jeton dans validate()
    /graphql — UtilisateursPUBLIERRécupérer les détails des utilisateurs
    /graphql — inscriptions avec aliasPUBLIERDétails des formations en retard à récupérer
    /graphql — PiqUserStatesPUBLIERRécupérer les détections Password IQ
    /graphql — CoachUsersPUBLIERRécupérer les détails de Security Coach
    /graphql — GroupesPUBLIERRépertorier les noms de groupes
    /graphql — TrainingCampaignsPUBLIERLister les noms des campagnes de formation
    /graphql — Créer un groupePUBLIERCréer un groupe sur KnowBe4
    /graphql — AddToGroupsPUBLIERAjoute des utilisateurs en masse à un groupe
    /graphql — RemoveFromGroupPUBLIERSupprime en masse les utilisateurs d’un groupe
    /graphql — EnrollUserPUBLIERInscrire un utilisateur à une campagne de formation
    /graphql — EditUserPUBLIERMettre à jour la valeur du champ personnalisé de l’utilisateur
    AuthCheck

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    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

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    query Users($per: Int, $page: Int, $status: UserStatusFilters) {
      users(per: $per, page: $page, status: $status) {
        nodes {
          id email firstName lastName displayName employeeNumber jobTitle
          department managerEmail 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 }
        }
      }
    }
    Obtenir les inscriptions aux formations

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    query {
      u0: enrollments(userId: 1234567, per: 100, page: 1) {
        nodes {
          status pastDue
          trainingCampaign { name }
          enrollmentItem {
            … on PurchasedCourse { title }
            … on Policy { title }
            … on KnowledgeRefresher { title }
          }
        }
        pagination { totalCount pages }
      }
    }
    Aucun

    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 }
        }
      }
    }
    États des utilisateurs de PasswordIQ

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    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 }
        }
      }
    }
    Lister les utilisateurs mappés de Security Coach

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    query CoachUsers($search: String!, $draw: Int!, $start: Int!,
                     $length: Int!) {
      securityCoachListMappedUsers(
        search: $search, draw: $draw, start: $start, length: $length
      ) {
        recordsTotal
        data {
          id email 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
            }
          ]
        }
      }
    }
    Liste des groupes

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    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 }
        }
      }
    }
    Liste des campagnes de formation

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    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 }
        }
      }
    }
    Créer un groupe

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    mutation CreateGroup($attributes: GroupAttributes!) {
      groupCreate(attributes: $attributes) {
        errors { field reason }
        node { id name }
      }
    }
    { “attributes”: { “name”: “Netskope Risque élevé” } }

    Sample Response

    {
      "data": {
        "groupCreate": {
          "errors": [],
          "node": { "id": 5002, "name": "Netskope High Risk" }
        }
      }
    }
    Ajouter des utilisateurs au groupe

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    mutation AddToGroups($userIds: [Int!]!, $groupIds: [Int!]!) {
      userAddToGroups(userIds: $userIds, groupIds: $groupIds) {
        errors { field reason }
        node { id email }
      }
    }
    { “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" }
          ]
        }
      }
    }
    Supprimer les utilisateurs du groupe

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    mutation RemoveFromGroup($userIds: [Int!]!, $groupId: Int!) {
      userDeleteMemberships(userIds: $userIds, groupId: $groupId) {
        errors { field reason }
        node { id email }
      }
    }
    { “userIds”: [1234567], “groupId”: 5002 }

    Sample Response

    {
      "data": {
        "userDeleteMemberships": {
          "errors": [],
          "node": [{ "id": 1234567, "email": "sample_user@netskope.com" }]
        }
      }
    }
    Inscrire l’utilisateur à une campagne de formation

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    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
        }
      }
    }
    Mise à jour de l’utilisateur

    Méthode : POST

    Point de terminaison : /graphql

    Headers

    CléValue
    AuthorizationBearer <api_token>
    Content-Typeapplication/json
    Acceptapplication/json
    User-Agentnetskope-ce-7.0.0-cre-knowbe4-v2.0.0

    Payload

    Requête GraphQLVariables
    mutation EditUser($userId: Int!, $attributes: UserAttributes!) {
      userEdit(userId: $userId, attributes: $attributes) {
        errors { field reason }
        node { id email }
      }
    }
    { “userId”: 1234567, “attributes”: { “customField1”: “Netskope: risque élevé” } }

    Sample Response

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

    Matrice de performance

    Voici la matrice de performances réalisée sur une grande pile Cloud Exchange avec ces spécifications, lors de l’extraction de 500k utilisateurs.

    DescriptionSpécifications
    Taille de la pileTaille : Grande, 
    RAM : 32 GB, 
    Cœurs : 16
    Temps nécessaire pour stocker les dossiers d'utilisateurs extraits et mis à jour~15 minutes
    Agent utilisateur

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

    Workflow
    1. Obtenez vos jetons API KnowBe4.
    2. Configurer le plugin KnowBe4.
    3. Configurez une règle de gestion.
    4. Configurer les actions Risk Exchange.
    5. Valider le plugin KnowBe4.

    Regardez une vidéo

    Cliquer sur « play » pour regarder une vidéo.

     

    Obtenir vos jetons API KnowBe4

    1. Connectez-vous à la console KnowBe4.

    2. Allez sur Account Settings > Account Integrations > API > Product API.

    3. Cliquez sur Create New API Token pour générer un jeton API KSAT.

    4. Saisissez un nom, sélectionnez KSAT pour les produits et Read/Write pour les portées, sélectionnez une date d’expiration et un utilisateur, puis cliquez sur Create Token.

    5. Copiez le jeton généré et cliquez sur OK.

    6. Si PasswordIQ est sélectionné pour les produits, répétez le processus dans la section API du produit PasswordIQ afin de générer un jeton d’API PasswordIQ.

    7. Si SecurityCoach est sélectionné pour Produits, répétez le processus dans la section API du produit SecurityCoach afin de générer un jeton API SecurityCoach.

    Configurer le plugin KnowBe4

    1. Dans Cloud Exchange, allez sur Settings > Plugin Store. Recherchez et sélectionnez le plugin KnowBe4 v2.0.0 (CRE).

    2. Saisir un nom de configuration et modifier l’intervalle de synchronisation si nécessaire.

    3. Cliquez sur Next et entrez les paramètres de configuration :

      • Base URL: URL de base du compte KnowBe4 du locataire, sans chemin.
      • Custom Region URL: URL de base du déploiement KnowBe4 du tenant, sans chemin. Requis uniquement lorsque l’URL de base est définie sur URL de région personnalisée.
      • KSAT API Token: jeton API du produit KnowBe4 Security Awareness Training (KSAT).
      • Pull Archived Users: Select Yes pour inclure également les utilisateurs archivés en plus des utilisateurs actifs ; select No pour inclure uniquement les utilisateurs actifs.
      • 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: Select les détails supplémentaires à récupérer pour chaque utilisateur : champs personnalisés, PasswordIQ ou SecurityCoach.
      • PasswordIQ API Token: Jeton API du produit PasswordIQ de KnowBe4. Affiché et requis uniquement lorsque PasswordIQ est sélectionné dans « Informations supplémentaires à récupérer ».
      • SecurityCoach API Token: jeton API du produit KnowBe4 SecurityCoach. Affiché et requis uniquement lorsque SecurityCoach est sélectionné dans Récupérer des détails supplémentaires.
    4. Cliquez sur Next et configurez la source d’entité pour les utilisateurs. Select Users dans la liste déroulante Entité, ou cliquez sur Add New Entity pour créer une nouvelle entité.

    5. Associez les champs du plug-in pour l'entité utilisateurs aux champs de Risk Exchange (associez le champ de type chaîne e-mail du plug-in au champ de type chaîne E-mail de l'entité utilisateurs).

      Le type de données du champ sera entouré de "()"
    6. Cliquez sur Add pour associer plusieurs champs.

    7. Cliquez sur Add Field pour ajouter un champ dans l’entité Users. 

    8. Ajoutez un libellé de champ, sélectionnez un type de données, une normalisation, activez ou désactivez la restriction d'unicité pour le New champ ajouté, puis sélectionnez une stratégie d'agrégation. Une fois terminé, cliquez sur Save.

    9. Mappez tous les champs de l’entité Users.

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

    Configurer une règle métier de Risk Exchange pour KnowBe4

    1. Dans Risk Exchange, allez à Business Rules et cliquez sur Add Business Rule.
    2. Configurez les conditions de la source et des filtres.
    3. Cliquez sur Save.

    Configurez une action Risk Exchange pour KnowBe4.

    Note

    Toutes les actions sont de deux types :

    1. Source: Ce type représente le champ de l'Entité (comme les Utilisateurs, l'Application, l'Entité périphérique). Ce type peut avoir des valeurs dynamiques pour chaque enregistrement de l'entité.
    2. Static: Ce type représente la valeur statique d'une action particulière.

    Pour configurer des actions :

    1. Allez sur Risk Exchange > Actions.

    2. Cliquez sur Add Action Configuration.

    3. Dans la liste déroulante Règle de gestion, sélectionnez la règle de gestion que vous avez créée.

    4. From the Configuration dropdown, select your plugin.

    5. Dans la liste déroulante Actions, sélectionnez l'une de ces actions :

      • Add User to Group: Lorsqu’elle est déclenchée, elle ajoutera des utilisateurs à un groupe.
      • Remove User from Group: Lorsqu’elle est déclenchée, cette action supprimera des utilisateurs d’un groupe.
      • Enroll in Training: Lors du déclenchement, les utilisateurs seront inscrits à la formation.
      • Update Custom Field: Lorsqu'elle est déclenchée, cette action met à jour l'un des champs personnalisés de l'utilisateur.
      • No action: Cela n'effectue aucune action sur les utilisateurs. Lorsque Aucune action est sélectionné, activez le bouton bascule Generate Alert afin que les New alertes soient ajoutées au module Ticket Orchestrator.
        Veillez à activer le module CTO (Ticket Orchestrator) sur Settings > General.
    6. Si vous souhaitez effectuer une action pendant la fenêtre de maintenance, activez la case à cocher Exécuter une action pendant la fenêtre de maintenance. L'action sera exécutée pendant la fenêtre de maintenance ; sinon, elle sera exécutée instantanément.

    7. Désactivez la case à cocher Require Approval. Si vous désactivez cette option, l'action se déclenchera automatiquement sans aucune intervention manuelle. Si l'option est activée, chaque action devra être approuvée manuellement par l'utilisateur de Cloud Exchange.

    8. Cliquez sur Save.

    9. Pour effectuer ces actions, cliquez sur Sync,, ajoutez une période, puis cliquez sur Fetch. Le nombre d'enregistrements pour l'action sera pris en compte lorsque vous cliquerez à nouveau sur Sync.

      Vous pouvez effectuer toutes les actions sur les utilisateurs extraits de KnowBe4 dans le locataire Netskope ou sur toute plateforme tierce, et vice versa. Pour effectuer les actions liées aux utilisateurs sur Netskope ou sur un plugin tiers, consultez le guide des plugins de Netskope ou le guide des plugins tiers.

    Ajouter un utilisateur à un groupe

    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
    2. Select une règle métier et votre plugin.
    3. Pour les actions, sélectionnez Add user to group.
    4. Pour les paramètres de l’action, saisissez les informations suivantes :
      • User ID: ID de l'utilisateur sur lequel l'action doit être effectuée. Select dans la liste déroulante Champ source, ou indiquez des ID utilisateur statiques séparés par des virgules.
      • Group: Groupe KnowBe4 auquel ajouter l’utilisateur. Seuls les groupes de la console sont répertoriés. Select le groupe uniquement dans la liste déroulante Champ statique.
      • New Group name: Nom du groupe à créer. Cette option est utilisée uniquement lorsque Créer un New groupe est sélectionné dans le paramètre Groupe. 128 caractères maximum sont autorisés.
    5. Activez la case à cocher Exiger l' approbation si une approbation est nécessaire avant d'effectuer une action sur les utilisateurs.
    6. Cliquez sur Save.

    Supprimer un utilisateur d'un groupe

    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
    2. Select une règle métier et votre plugin.
    3. Pour les actions, sélectionnez Remove user from group.
    4. Dans les Paramètres d'action, entrez ces détails :
      • User ID: ID de l'utilisateur sur lequel l'action doit être effectuée. Select dans la liste déroulante Champ source, ou indiquez des ID utilisateur statiques séparés par des virgules.
      • Group: Groupe KnowBe4 duquel supprimer l’utilisateur. Seuls les groupes de la console sont répertoriés. Select le groupe uniquement dans la liste déroulante Champ statique.
    5. Activez la case à cocher Exiger l' approbation si une approbation est nécessaire avant d'effectuer une action sur les utilisateurs.
    6. Cliquez sur Save.

    S’inscrire à la formation

    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
    2. Select une règle métier et votre plugin.
    3. Pour les actions, sélectionnez Enroll in Training.
    4. Pour les paramètres de l’action, saisissez les informations suivantes :
      • User ID: ID de l'utilisateur sur lequel l'action doit être effectuée. Select dans la liste déroulante Champ source, ou indiquez des ID utilisateur statiques séparés par des virgules.
      • Training Campaign: Campagne de formation KnowBe4 dans laquelle inscrire l’utilisateur. Seules les campagnes acceptant de New utilisateurs sont répertoriées. Select uniquement la campagne de formation dans le menu déroulant statique.
    5. Activez la case à cocher Exiger l' approbation si une approbation est nécessaire avant d'effectuer une action sur les utilisateurs.
    6. Cliquez sur Save.

    Mettre à jour un champ personnalisé

    1. Dans Risk Exchange, accédez à Actions, puis cliquez sur Add Action Configuration.
    2. Select une règle métier et votre plugin.
    3. Pour les actions, sélectionnez Update Custom Field.
    4. Dans les Paramètres d'action, entrez ces détails :
      • User ID: ID de l'utilisateur sur lequel l'action doit être effectuée. Select dans la liste déroulante Champ source ou fournissez des ID utilisateur statiques séparés par des virgules.
      • Custom Field: Champ personnalisé KnowBe4 dans lequel écrire la valeur. Select le champ personnalisé uniquement dans la liste déroulante statique.
      • Value: Valeur à écrire dans le champ personnalisé sélectionné. Elle peut comporter jusqu’à 255 caractères. Saisissez uniquement une valeur statique.
    5. Activez la case à cocher Exiger l' approbation si une approbation est nécessaire avant d'effectuer une action sur les utilisateurs.
    6. Cliquez sur Save.
    La mise à jour du champ personnalisé ne mettra à jour le champ que pour les utilisateurs qui ne sont pas gérés par le provisionnement des utilisateurs.

    No Action

    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
    2. Select une règle métier et votre plugin.
    3. Pour les actions, sélectionnez No action.
    4. Activez la case à cocher Exiger l' approbation si une approbation est nécessaire avant d'effectuer une action sur les utilisateurs.
    5. Cliquez sur Save.

    Valider le plugin KnowBe4

    Valider dans Cloud Exchange

    Pour vérifier les utilisateurs récupérés depuis KnowBe4, accédez à Logging et recherchez les journaux du plugin CRE KnowBe4.

    Pour vérifier les enregistrements récupérés et stockés dans Cloud Exchange, accédez à Records dans Risk Exchange. Select le type d’entité utilisé lors de l’ajout du mappage dans la configuration du plugin.

    Actions réalisées

    Pour vérifier l’action effectuée, accédez à la page Journaux des actions et approuvez l’action.

    Pour vérifier les actions effectuées dans Cloud Exchange, accédez à Logging et recherchez les journaux du plugin CRE KnowBe4.

    Add a User to a Group

    Remove a User from a Group

    Enroll in Training

    Update a Custom Field

    No Action

    Valider sur KnowBe4

    Connectez-vous à la console KnowBe4 et accédez à Users.

    Toutes les informations concernant l’utilisateur sont extraites de la page Informations utilisateur.

    Les détails des formations en retard de l’utilisateur sont récupérés depuis la page Formation :

    Les détails de PasswordIQ sont extraits de la page PasswordIQ :

    Les détails de SecurityCoach sont récupérés depuis la page Coaching :

    Actions réalisées

    Pour valider les actions Ajouter un utilisateur au groupe et Supprimer un utilisateur du groupe dans KnowBe4, accédez à Users > Group, puis cliquez sur le groupe auquel vous avez ajouté ou duquel vous avez supprimé l’utilisateur.

    Pour valider Inscription à la formation,, accédez à Training et cliquez sur la formation sur laquelle vous avez effectué une action. Accédez à la section Utilisateurs, où vous verrez tous les utilisateurs actuellement inscrits.

    Pour valider la Mise à jour du champ personnalisé,, accédez à Users > User Management et cliquez sur l’utilisateur sur lequel vous avez effectué une action. Ensuite, accédez à la section User Information, où vous verrez tous les champs personnalisés de l’utilisateur.

    La mise à jour du champ personnalisé ne mettra à jour le champ que pour les utilisateurs qui ne sont pas gérés par le provisionnement des utilisateurs.

    Dépannage du plugin KnowBe4

    Réception d'une erreur dans le plugin workflow
    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. Vérifiez le jeton API pour KnowBe4. Reportez-vous à Obtenir vos jetons API KnowBe4.
    2. Vérifiez l’URL de base de la plateforme KnowBe4. Reportez-vous aux conditions préalables.
    Les utilisateurs ne sont pas retirés de KnowBe4

    Si aucune donnée concernant l’utilisateur n’est récupérée, cela peut être dû à l’une des raisons suivantes :

    • Aucun utilisateur n'est disponible sur la plateforme pour tirer.
    • La cartographie n'est pas ajoutée dans le plugin.

    What to do:

    1. Accédez à KnowBe4 et vérifiez si les utilisateurs peuvent être récupérés depuis la page Utilisateurs > Gestion des utilisateurs. Ou suivez les étapes.
    2. Modifiez la configuration du plugin et vérifiez la page Entity Source, il devrait y avoir des champs mappés afin d'obtenir la même chose.
    Le plugin ne parvient pas à être validé ou affiche une erreur d’authentification

    Si le plugin ne parvient pas à valider ou affiche une erreur d’authentification, cela peut être dû à l’une des raisons suivantes :

    • Le jeton API KSAT n’est pas valide ou a expiré.
    • Le jeton API PasswordIQ ou SecurityCoach n'est pas valide, et l'option correspondante est sélectionnée dans Pull Additional Details.
    • L’URL de base ou l’URL de région personnalisée ne correspond pas à la région KnowBe4 du locataire.

    What to do:

    1. Vérifiez que le jeton API KSAT est valide et qu’il a été généré à partir de Users > Manage User dans la console KnowBe4. Pour cela, suivez les étapes.
    2. Si PasswordIQ ou SecurityCoach est sélectionné dans « Pull Additional Details », vérifiez que le jeton API correspondant a été généré dans la même section des paramètres API du produit concerné.
    3. Confirmez que l’URL de base correspond à la région KnowBe4 de votre locataire (par exemple, https://training.knowbe4.com pour les États-Unis ou https://eu.knowbe4.com pour l’UE).
    Les actions de groupe ou de campagne de formation échouent en cours de traitement

    Si une action de groupe ou de campagne de formation échoue en cours de traitement, cela peut être dû à l’une des raisons suivantes :

    • Une erreur d'authentification (401/403) a été rencontrée lors de l'exécution de l'action.
    • La taille du lot d'actions de groupe est trop élevée, ce qui entraîne un délai d'attente de la passerelle.

    What to do:

    1. Vérifiez l’écran de journalisation dans Cloud Exchange pour connaître le message d’erreur spécifique et déterminer s’il s’agit d’un échec d’authentification ou d’un délai d’attente dépassé.
    2. Régénérez le jeton API KSAT si des échecs d’authentification sont signalés dans les journaux.
    3. Réduisez le paramètre de configuration Group Action Batch Size (par défaut 50, plage valide 1–100) si des délais d’expiration de la passerelle sont observés pour les actions d’appartenance à un groupe.
    Erreur lors de la mise à niveau du plugin vers la dernière version

    Si vous obtenez cette erreur lors de la mise à niveau du plugin vers la dernière version, 

    suivez ces étapes pour configurer le plugin :

    1. Cliquez sur Skip dans l’écran de mise à jour.
    2. Accédez à l’écran Risk Exchange > Plugins et modifiez le plugin.
    3. Fournissez les valeurs de tous les paramètres de configuration, puis cliquez sur Next. Ajoutez les mappages conformément aux exigences. (Notez que le type de données du champ ID utilisateur est passé de Nombre à Chaîne; vous devez donc également mettre à jour le type de données du champ CRE.)
    4. Cliquez sur Save et activez le plugin.
    Les appels API se bloquent par intermittence pendant 5 minutes avant de reprendre

    Si des appels API tels que validate ou sync se bloquent par intermittence pendant environ 5 minutes avant de reprendre ou d’échouer, cela peut être dû à l’une des raisons suivantes :

    • Le nom d’hôte régional de KnowBe4 pointe vers plusieurs adresses IP derrière un CDN partagé.
    • Le pare-feu réseau bloque silencieusement le trafic à destination d’une ou plusieurs adresses IP résolues, ce qui entraîne le blocage de la connexion jusqu’à ce que le délai d’expiration interne de 5 minutes de Cloud Exchange soit atteint.

    What to do:

    1. Exécutez nslookup <region>.knowbe4.com (par exemple, nslookup ca.knowbe4.com) depuis la machine Cloud Exchange.
    2. Communiquez toutes les adresses IP renvoyées par la commande à votre équipe réseau/informatique.
    3. Demandez à l’équipe réseau/IT de vérifier que toutes les adresses IP renvoyées sont débloquées pour l’accès sortant depuis la machine Cloud Exchange.
    4. Débloquez toutes les adresses IP bloquées par le pare-feu.
    L'action Update Custom Fields ne met pas à jour les valeurs des champs personnalisés dans l'interface utilisateur KnowBe4

    Si l’action « Update Custom Fields » apparaît comme réussie dans Cloud Exchange, mais que la valeur du champ personnalisé n’est pas mise à jour dans l’interface utilisateur de KnowBe4, cela peut s’expliquer par le fait que l’utilisateur est géré par le provisionnement des utilisateurs.

    • Les valeurs des champs personnalisés ne peuvent être mises à jour que pour les utilisateurs qui ne sont pas gérés par le provisionnement des utilisateurs.
    • Pour les utilisateurs gérés par le provisionnement des utilisateurs, l’API KnowBe4 peut renvoyer une réponse positive. Cloud Exchange indique donc que l’action a réussi, mais la valeur mise à jour ne sera pas visible dans l’interface utilisateur KnowBe4.

    What to do:

    1. Dans l’interface utilisateur de KnowBe4, vérifiez si l’utilisateur affiche “This User is not managed by user provisioning…”.
    2. Exécutez l’action Mettre à jour les champs personnalisés uniquement pour les utilisateurs qui ne sont pas gérés par le provisionnement des utilisateurs.
    3. Si l’utilisateur est géré par le système de provisionnement des utilisateurs, mettez plutôt à jour le champ personnalisé via ce système.
    Paramètres supplémentaires indisponibles lors de la mise à niveau du plugin

    Lors de la mise à niveau du plugin CRE KnowBe4 de la version 1.0.0 à la version 2.0.0 dans Cloud Exchange v7.0.0, les utilisateurs peuvent définir uniquement le required parameters pendant la mise à niveau.

    What to do:

    Pour configurer des paramètres supplémentaires (comme l'URL de région personnalisée), modifiez le plugin après la mise à niveau depuis la page Risk Exchange > Plugin.

    Dans ce thème
    • Plugin KnowBe4 pour la bourse des risques