Crie um Resposta a vulnerabilidadesregra de atribuição para suporte de serviço

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 1 min. de leitura
  • Use o script a seguir para criar uma regra que atribua itens vulneráveis para correção com base nos serviços de negócios que eles afetam.

    Antes de Iniciar

    Função necessária: sn_vul.vulnerability_admin

    Por Que e Quando Desempenhar Esta Tarefa

    Você pode preferir executar esta tarefa somente se tiver experiência avançada de codificação ou se tiver conhecimento aprofundado sobre o. Now Platforme como as regras de atribuição funcionam.

    Com esta regra, os IVs são atribuídos de acordo com o quão próximos eles correspondem aos serviços de negócio listados no CMDB. Se nenhum serviço, departamento ou grupo de suporte relacionado for correspondido, os IVs serão atribuídos ao grupo Analista de vulnerabilidade.

    Esta regra pode ajudar você a reduzir o número de IVs atribuídos incorretamente ou que permanecem não atribuídos após a conclusão de outras regras de atribuição.

    Procedimento

    1. Navegar até Tudo > Resposta a vulnerabilidades > Administração > Regras de atribuição.
    2. Selecione Novo.
    3. Preencha os campos no formulário, conforme o apropriado.
      Consulte Criar ou editar Resposta a vulnerabilidadesregras de atribuiçãopara obter mais informações sobre esses campos.
    4. Na lista de seleção Atribuir usando, selecione Script .
    5. No editor, copie e cole o script a seguir.
      /*
      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. Selecione Enviar.

    O que Fazer Depois

    Revisão Resposta a vulnerabilidades visão geral das regras de atribuiçãopara obter mais informações gerais sobre regras de atribuição e o. Reapply all vulnerability assignment rulestrabalho agendado.