Créer une règle d’affectation pour l’assistance Réponse aux vulnérabilités de service

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • Utilisez le script suivant pour créer une règle qui affecte des éléments vulnérables à corriger en fonction des services aux entreprises sur lesquels ils ont un impact.

    Avant de commencer

    Rôle requis : sn_vul.vulnerability_admin

    Pourquoi et quand exécuter cette tâche

    Vous préférerez peut-être effectuer cette tâche uniquement si vous avez une expérience avancée du codage ou si vous avez une connaissance approfondie du fonctionnement des règles d’affectation Now Platform .

    Avec cette règle, les VI sont affectés en fonction de leur pertinence par rapport aux services d’entreprise répertoriés dans votre CMDB. Si aucun service, département ou groupe de support associé n’est apparié, les VI sont affectés au groupe d’analystes de vulnérabilité.

    Cette règle peut vous aider à réduire le nombre de VI qui sont incorrectement affectés ou qui ne le sont pas après que d’autres règles d’affectation ont déjà été appliquées.

    Procédure

    1. Accédez à la Tout > Réponse aux vulnérabilités > Administration > Règles d'affectation.
    2. Sélectionnez Nouveau.
    3. Renseignez les champs du formulaire comme il convient.
      Consultez la rubrique Créer ou modifier Réponse aux vulnérabilités des règles d’affectation pour plus d’informations sur ces champs.
    4. Dans la liste de choix Affecter, sélectionnez Script.
    5. Dans l’éditeur, copiez et collez le script suivant.
      /*
      Assigns Vulnerable Item based on related Business Service
      Assigns to default Vulnerability Analyst group if no related Business Service
      */
      assignToServiceSupport(current);
      
      function assignToServiceSupport(vitGR) {
          var ci = vitGR.getValue('cmdb_ci');
          var defaultAssignmentGroup = 'Vulnerability Analyst';
          var defaultGR = new GlideRecord('sys_user_group');
          defaultGR.get('name', defaultAssignmentGroup);
          var defaultAssignmentGroupID = defaultGR.sys_id;
      
          var maxSizeValue = global.SecProperty.getProperty("sn_sec_cmn.services_affected_by_CI_max_size", 1000);
          var maxDepthValue = global.SecProperty.getProperty("sn_sec_cmn.services_affected_by_CI_max_depth", 10);
          var customValues = {
              "maxDepth": maxDepthValue,
              "maxSize": maxSizeValue
          };
          var ciu = new global.CIUtils();
          var services = ciu.servicesAffectedByCI(ci, customValues);
          var svc = new GlideRecord("cmdb_ci_service");
          var hasSvc = false;
          if (services && services.length > 0) {
              svc.addQuery("sys_id", "IN", services.join(",")); // returns the service with highest business criticality. Implement alternate logic here.
              svc.addNotNullQuery("busines_criticality"); // typo intended
              svc.orderBy("busines_criticality");
              svc.setLimit(1);
              svc.query();
              hasSvc = svc.next();
          }
          if (!hasSvc) {
              // If there are no services it should be assigned to a default assignent group
              return defaultAssignmentGroupID;
          } else {
              var serviceAssignmentGroup = hasSvc.getValue('support_group'); //Also consider managed_by_group, assignment_group, change_control
              return !gs.nil(serviceAssignmentGroup) ? serviceAssignmentGroup : defaultAssignmentGroupID; //Return the Service assignment group if it is not empty, return the default assignment group otherwise.
          }
      }
    6. Sélectionnez Soumettre.

    Que faire ensuite

    Consultez pour Réponse aux vulnérabilités Vue d’ensemble des règles d’affectation obtenir des informations plus générales sur les règles d’affectation et la Reapply all vulnerability assignment rules tâche planifiée.