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.
Configuração
Objective-C
NRVAVideoConfiguration *config = [[[[NRVAVideoConfiguration builder] withApplicationToken:@"YOUR_NEW_RELIC_TOKEN"] withObfuscationRules:@[ @{ @"regex": @"account-\\d+", @"replacement": @"ACCOUNT_ID" }, @{ @"regex": @"token=[^&\"]+", @"replacement": @"token=REDACTED" }, ]] build];[[[NRVAVideo newBuilder] withConfiguration:config] build];Swift
let config = NRVAVideoConfiguration.builder() .withApplicationToken("YOUR_NEW_RELIC_TOKEN") .withObfuscationRules([ ["regex": "account-\\d+", "replacement": "ACCOUNT_ID"], ["regex": "token=[^&\"]+", "replacement": "token=REDACTED"], ]) .build()NRVAVideo.newBuilder().with(configuration: config).build()Como funciona
- O agente aplica as regras por valor de atributo de string, não à carga JSON bruta — atributos numéricos e booleanos não são afetados.
- Todas as regras são executadas em cada evento de saída, incluindo eventos regulares, ao vivo, de QoE e recuperados de falhas.
- As regras são executadas na ordem em que você as declara. Se duas regras puderem corresponder ao mesmo valor, a ordem é importante.
- O agente nunca ofusca o
applicationTokenou os cabeçalhos de autenticação HTTP — a ofuscação se aplica apenas aos valores de atributo de evento.
Casos extremos
| Cenário | Comportamento |
|---|---|
| Nenhuma regra configurada | O agente repassa todos os valores de atributo inalterados sem impacto no desempenho. |
| String de substituição vazia | O agente remove o conteúdo correspondente do valor. |
| Padrão regex inválido | withObfuscationRules: lança NSInvalidArgumentException no momento da configuração, antes que quaisquer eventos sejam enviados. |
| Valor de atributo não string | O agente ignora o atributo. Apenas valores de string são processados. |
| Entrada de matriz de regras malformada | O agente ignora qualquer entrada que não seja um dicionário e grava um aviso no log. |
applicationToken e cabeçalhos de autenticação HTTP | Eles nunca são incluídos em atributos de evento e não são afetados por regras de ofuscação. |
| Ordenação de regras | As regras são executadas na ordem em que são declaradas na matriz. |
| Backtracking catastrófico | NSRegularExpression não tem tempo limite integrado no iOS. Evite padrões com quantificadores aninhados ilimitados (por exemplo, (a+)+). Teste as regras em relação às piores entradas antes de implantar. |