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

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Utilisez le script suivant pour créer une règle qui affecte des éléments vulnérables à des mesures correctives en fonction des services aux entreprises qu’ils impactent.

    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 en 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 correspondance avec les services d’entreprise répertoriés dans votre CMDB. Si aucun service, département ou groupe de support connexe ne correspond, les éléments vulnérables sont affectés au groupe d’analystes de vulnérabilité.

    Cette règle peut vous aider à réduire le nombre de VI qui sont affectés incorrectement ou qui ne sont pas affectés une fois que d’autres règles d’affectation sont déjà terminé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 des Réponse aux vulnérabilités règles d’affectation pour plus d’informations sur ces champs.
    4. Dans la liste de choix Affecter à l’aide de, 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 Réponse aux vulnérabilités Vue d’ensemble des règles d’affectation pour obtenir des informations plus générales sur les règles d’affectation et la Reapply all vulnerability assignment rules tâche planifiée.