La regla de ofuscación le permite enmascarar datos confidenciales antes de que el agente los transmita a New Relic. Cada regla es un patrón de expresiones regulares emparejado con una cadena de reemplazo. El agente aplica las reglas en orden a cada valor de atributo de cadena en cada evento saliente — incluidos los evento de QoE y los evento recuperados de fallos.
Configuración
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()Cómo funciona
- El agente aplica las reglas por valor de atributo de cadena, no a la carga JSON sin procesar — los atributo numéricos y booleanos no se ven afectados.
- Todas las reglas se ejecutan contra cada evento saliente, incluidos los eventos regulares, en vivo, de QoE y recuperados de fallas.
- Las reglas se ejecutan en el orden en que las declara. Si dos reglas pueden coincidir con el mismo valor, el orden importa.
- El agente nunca ofusca el
applicationTokenni los encabezados de autenticación HTTP — la ofuscación solo se aplica a los valores de atributo de evento.
Casos extremos
| Guión | Comportamiento |
|---|---|
| Sin reglas configuradas | El agente pasa todos los valores de atributo sin cambios y sin impacto en el rendimiento. |
| Cadena de reemplazo vacía | El agente elimina el contenido coincidente del valor. |
| Patrón regex inválido | withObfuscationRules: arroja NSInvalidArgumentException en el momento de la configuración, antes de que se envíe cualquier evento. |
| Valor de atributo que no es de cadena | El agente omite el atributo. Solo se procesan los valores de cadena. |
| Entrada de matriz de reglas mal formada | El agente omite cualquier entrada que no sea un diccionario y escribe una advertencia en el log. |
applicationToken y encabezados de autenticación HTTP | Estos nunca se incluyen en los atributo de evento y no se ven afectados por la regla de ofuscación. |
| Ordenamiento de reglas | Las reglas se ejecutan en el orden en que se declaran en la matriz. |
| Retroceso catastrófico | NSRegularExpression no tiene tiempo de espera incorporado en iOS. Evite los patrones con cuantificadores anidados ilimitados (por ejemplo, (a+)+). Pruebe las reglas con las entradas del peor de los casos antes de desplegar. |