Como definir uma regra de criptografia personalizada

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 4 min. de leitura
  • Pode ser necessário identificar e criptografar informações confidenciais em solicitações HTTP no caminho para sua instância. Você pode gravar regras de criptografia para identificar, interpretar e criptografar dados nessas solicitações, mapeando campos na solicitação para nomes de campo de tabela em sua instância.

    O que é uma regra de criptografia?

    Regras de criptografia são scripts executados no servidor proxy Edge Encryption para mapear campos em uma solicitação para campos em uma tabela em sua instância ServiceNow. Uma regra de criptografia informa ao servidor proxy Edge Encryption como criptografar dados em cargas personalizadas.
    Nota:
    As regras de criptografia são compatíveis somente com o ECMAScript 3 e versões anteriores.

    Quando usar regras personalizadas

    Um conjunto de regras de criptografia está incluído como parte do plug-in Edge Encryption. Essas regras tratam de muitos casos de uso da plataforma principal, como:

    • Editar um campo no formulário de edição de lista
    • Atualizar um registro no formulário de registro
    • Gerenciar um serviço web direto
    • Processar dados da REST API (Application Program Interface, interface de programação de aplicação)

    As aplicações criadas usando formulários e listas padrão devem funcionar sem regras de criptografia personalizadas.

    Se você desenvolver scripts que contenham dados que devem ser criptografados, crie regras de criptografia para localizar e mapear esses dados para nomes de campo de tabela do Glide. Por exemplo:

    • Processadores com script
    • Scripted Web Services
    • Scripted REST APIs, IUs ou scripts Ajax

    Formato de uma regra de criptografia

    As regras incluem três partes:
    • Condição: identifica o tipo de solicitação.
    • Ação: mapeia campos na solicitação para campos em uma tabela, criptografando valores que são mapeados para campos com configurações de criptografia definidas.
    • Ordem: prioridade da regra. A regra de prioridade mais baixa com uma condição atendida é a única regra executada. Como as regras de negócios, elas são executadas da menor para a maior.

    Com exceção das solicitações de anexo, as solicitações HTTP são avaliadas pelo servidor proxy Edge Encryption. O servidor proxy Edge Encryption avalia todas as condições de regra de criptografia em ordem de prioridade até que todas as condições retornem falsas ou uma condição retorne verdadeira. Quando uma condição retorna verdadeira, a ação é executada na solicitação, e o resultado é encaminhado para a instância. Nenhuma outra condição será avaliada. Como resultado, as condições da regra de criptografia devem ser as mais específicas possível. Uma regra genérica pode ser avaliada como verdadeira para uma solicitação destinada a ser processada por outra regra, fazendo com que a solicitação seja processada pela ação incorreta. Se uma condição genérica for inevitável, a regra deverá ser marcada com um valor de ordem alto para que regras mais específicas sejam avaliadas primeiro.

    Diretrizes para criação de regras de criptografia

    Criar regras de criptografia eficientes e otimizadas pode reduzir o tempo de processamento para validação de script.

    Diretriz geral: quando as regras ficarem longas, faça o possível para minimizar o número de blocos e as divida sempre que possível. O ideal é que as regras personalizadas se apliquem a casos de uso específicos, em vez de abranger vários casos, com instruções ifs ou switch no script de ação.

    1. Divida as regras sempre que possível. Por exemplo,
      • Crie regras diferentes para tabelas diferentes e certifique-se de que cada regra seja executada somente em sua respectiva tabela.
      • Crie regras diferentes para cada produtor de registro de destino ou pelo menos para cada subconjunto de produtores de registro. Em vez de uma regra direcionada a dezenas de sys_ids, você pode criar várias regras diferentes direcionadas a subconjuntos menores de produtores de registro ou até mesmo criar uma regra por sys_id.
        Nota:
        Criar várias regras requer mais manutenção. A vantagem é que várias regras mais simples podem ser validadas com mais eficiência do que regras mais longas e complexas.
    2. Minimize o número de blocos. Como o mecanismo de processamento verifica cada bloco ao avaliar os scripts, um grande número de blocos causa atrasos na validação. Por exemplo,
      • Substitua todos os blocos if por uma pesquisa de matriz e substitua todos os blocos na pesquisa de matriz por apenas um bloco if.
      • Combine os blocos if sempre que for possível agrupá-los.

    APIs da regra de criptografia

    As regras de criptografia são gravadas em JavaScript e utilizam APIs de Edge Encryption para localizar e criptografar informações confidenciais no corpo de uma solicitação. A API usa expressões semelhantes ao xPath para navegar pelo conteúdo JSON e XML.

    As APIs de Edge Encryption processam a solicitação fora do fluxo conforme é gravada no fluxo de saída. A análise de fluxo permite que as regras de criptografia tenham um bom desempenho na rede. No entanto, buscar e analisar o conteúdo do corpo várias vezes pode levar a resultados inesperados. Para evitar esse possível problema, as solicitações devem ser processadas pela ação em uma única passagem.

    Ao criar regras de criptografia, você não pode usar APIs do Glide, inclusões de script, regras de negócio ou quaisquer parâmetros globais, como current. Como as regras são criadas para objetos HTTP, um objeto request global está disponível.

    Ao criar regras de criptografia, você não pode usar APIs do gerenciador de lista de permissões ou aplicações com escopo.

    Tratamento de erros

    Se uma condição ou ação de regra de criptografia gerar uma exceção, verifique o log do proxy para obter informações sobre a solução de problemas.