As regras de ofuscação permitem mascarar dados confidenciais antes que o agente os transmita para a New Relic. Cada regra é um padrão de regex emparelhado com uma string de substituição. O agente aplica as regras em ordem a cada valor de atributo de string em cada evento de saída — incluindo eventos de QoE e eventos recuperados de falhas.
Você pode configurar o agente com regras de ofuscação baseadas em regex para mascarar dados confidenciais antes que o agente envie eventos para a New Relic. Use este recurso quando campos como contentSrc, contentTitle, origUrl ou atributos personalizados puderem conter inadvertidamente IDs de usuário, tokens ou outras PII.
O agente aplica as regras a cada atributo de string em cada evento de saída — incluindo vídeo, anúncio (RAF e IMA), QOE, sistema e eventos personalizados — antes que o evento entre no buffer interno.
Configuração
Chame nrSetObfuscationRules depois de criar o agente. Cada regra é uma matriz associativa com uma string regex e uma string replacement:
m.nr = NewRelic("ACCOUNT_ID", "API_KEY", "APP_NAME", "APP_TOKEN")nrSetObfuscationRules(m.nr, [ { regex: "account-[0-9]+", replacement: "ACCOUNT_ID" }, { regex: "token=[^&]+", replacement: "token=REDACTED" }, { regex: "/users/[^/]+", replacement: "/users/USER_ID" }])Para remover todas as regras em tempo de execução, chame nrSetObfuscationRules com uma matriz vazia:
nrSetObfuscationRules(m.nr, [])Ordenação de regras
O agente aplica as regras na ordem em que aparecem na matriz. A saída de uma regra se torna a entrada para a próxima. A ordem é importante quando os padrões podem se sobrepor:
nrSetObfuscationRules(m.nr, [ ' Applied first — masks the specific token format { regex: "auth-token-[a-z0-9]+", replacement: "AUTH_TOKEN" }, ' Applied second — masks any remaining bare token references { regex: "token=[^&]+", replacement: "token=REDACTED" }])Comportamento e casos extremos
| Caso | Comportamento |
|---|---|
| Nenhuma regra configurada | O agente repassa todos os valores de atributo inalterados sem impacto no desempenho. |
String replacement vazia | O agente remove o conteúdo correspondente do valor. |
| Padrão regex inválido | O agente ignora a regra e grava um aviso no log. |
| Valores de atributo não string | O agente os repassa inalterados. Apenas valores de string são processados. |
| Substituindo todas as regras | Chame nrSetObfuscationRules novamente com a nova matriz. O agente descarta todas as regras anteriores. |
Importante
O Roku usa roRegex para correspondência de padrão. O Roku não oferece suporte a asserções complexas de lookahead/lookbehind. Os padrões que são válidos em regex de JavaScript ou Java podem precisar ser simplificados para o Roku.