• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Regla de ofuscación de Android

Las reglas de ofuscación le permiten enmascarar datos confidenciales antes de que el agente los transmita a New Relic. Cada regla es un patrón regex emparejado con una cadena de reemplazo. El agente aplica las reglas en orden a cada valor de atributo de cadena en cada evento saliente — incluyendo QoE events y eventos recuperados de fallas.

Cómo funciona

  1. Define una lista de objetos ObfuscationRule, cada uno con un patrón de expresión regular y una cadena de reemplazo.
  2. Pase la lista a .withObfuscationRules() en el generador de configuración.
  3. Justo antes de cada transmisión HTTP, ObfuscationEngine itera cada atributo de cadena de cada evento en el lote y aplica las reglas en orden.
  4. Solo se procesan los valores de cadena — los enteros, largos, booleanos y nulos se pasan sin cambios.
  5. Los objetos de evento originales nunca se mutan, por lo que los lotes fallidos se pueden reintentar limpiamente sin doble ofuscación.

Configuración

import com.newrelic.videoagent.core.ObfuscationRule;
import java.util.Arrays;
import java.util.List;
// Define rules — each rule is a regex pattern and a replacement string.
// Rules are applied in order on every string attribute of every outgoing event.
List<ObfuscationRule> obfuscationRules = Arrays.asList(
// Mask account IDs: "account-83729" → "ACCOUNT_ID"
new ObfuscationRule("account-\\d+", "ACCOUNT_ID"),
// Mask auth tokens: "token=abc123xyz" → "token=REDACTED"
new ObfuscationRule("token=[^&\"]+", "token=REDACTED"),
// Mask user path segments: "/users/john_doe" → "/users/USER_ID"
new ObfuscationRule("/users/[^\"/]+", "/users/USER_ID")
);
NRVideoConfiguration config = new NRVideoConfiguration.Builder("application-token")
.autoDetectPlatform(getApplicationContext())
.withHarvestCycle(5 * 60)
.withObfuscationRules(obfuscationRules)
.build();
NRVideo.newBuilder(getApplicationContext()).withConfiguration(config).build();

ObfuscationRule

new ObfuscationRule(String pattern, String replacement)

Parámetro

Tipo

Descripción

pattern

String

Una cadena de patrón regex de Java. Compilado de forma anticipada — un patrón inválido arroja IllegalArgumentException en el momento de la construcción.

replacement

String

La cadena a sustituir para cada coincidencia. Usa "" para eliminar coincidencias. $ y \ se tratan como caracteres simples, no como referencias inversas.

obfuscationRules

Una lista de objetos ObfuscationRule aplicados a cada atributo de cadena de cada evento saliente inmediatamente antes de la transmisión HTTP. Las reglas se ejecutan en el orden en que se declaran — la salida de una regla alimenta a la siguiente. Predeterminado: lista vacía (sin ofuscación).

Patrones comunes

Qué enmascarar

Patrón

Reemplazo

ID de cuenta numéricos

account-\\d+

ACCOUNT_ID

Tokens de autenticación/portador

token=[^&\"]+

token=REDACTED

Segmentos de ruta de usuario

/users/[^\"/]+

/users/USER_ID

Correos electrónicos

[a-zA-Z0-9._%+\\-]+@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]{2,}

EMAIL_REDACTED

UUID

[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

UUID_REDACTED

Ordenamiento de reglas

Las reglas se aplican de izquierda a derecha. La salida de la regla N se convierte en la entrada de la regla N + 1. El orden importa cuando el reemplazo de una regla podría coincidir con el patrón de una regla posterior.

// Rule 1 turns "/john" into "/USER", then Rule 2 sees "/USER_profile" and masks it.
new ObfuscationRule("john", "USER"),
new ObfuscationRule("USER_profile", "PROFILE")
// Result: "/john_profile" → "/USER_profile" → "/PROFILE"

Casos extremos

Situación

Comportamiento

Sin reglas configuradas

No-op — cero sobrecarga, la lista original se devuelve tal cual.

El patrón no coincide con nada

El valor se transmite sin cambios.

Reemplazo vacío ""

El contenido coincidente se elimina.

$ o \ en el reemplazo

Tratados como caracteres simples (no como referencias inversas de expresiones regulares).

Valor Integer / Long / Boolean

Omitido — solo se procesan los valores String.

null valor

Omitido — sin NullPointerException.

Patrón regex inválido

IllegalArgumentException arrojado en la construcción de new ObfuscationRule(...) — falla rápido en el inicio, no silenciosamente en el momento de la recolección.

null reemplazo

IllegalArgumentException lanzado en la construcción.

Falla el envío HTTP → reintento de dead-letter

Los eventos originales (sin ofuscar) se reintentan; la ofuscación se vuelve a aplicar correctamente en la pasada de reintento.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.