• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Règles d’obfuscation Android

Les règles d’obfuscation vous permettent de masquer les données sensibles avant que l’agent ne les transmette à New Relic. Chaque règle est un motif regex associé à une chaîne de remplacement. L’agent applique les règles dans l’ordre à chaque valeur d’attribut de chaîne dans chaque événement sortant — y compris QoE events et les événements récupérés après un plantage.

Comment ça marche

  1. Vous définissez une liste d’objets ObfuscationRule, chacun avec un modèle d’expression régulière et une chaîne de remplacement.
  2. Passez la liste à .withObfuscationRules() dans le générateur de configuration.
  3. Juste avant chaque transmission HTTP, ObfuscationEngine itère chaque attribut de chaîne de chaque événement du lot et applique les règles dans l’ordre.
  4. Seules les valeurs de chaîne sont traitées — les entiers, les longs, les booléens et les valeurs nulles sont transmis sans modification.
  5. Les objets d’événement d’origine ne sont jamais mutés, de sorte que les lots ayant échoué peuvent être réessayés proprement sans double obfuscation.

Configuration

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)

paramètres

Type

Description

pattern

String

Une chaîne de motif regex Java. Compilé de manière anticipée — un motif non valide lève IllegalArgumentException au moment de la construction.

replacement

String

La chaîne à substituer pour chaque correspondance. Utilisez "" pour supprimer les correspondances. $ et \ sont traités comme des caractères simples, et non comme des références arrière.

obfuscationRules

Une liste d’objets ObfuscationRule appliquée à chaque attribut de chaîne de chaque événement sortant immédiatement avant la transmission HTTP. Les règles s’exécutent dans l’ordre dans lequel elles sont déclarées — la sortie d’une règle alimente la suivante. Par défaut : liste vide (aucune obfuscation).

Modèles courants

Ce qu’il faut masquer

Modèle

Remplacement

ID de compte numériques

account-\\d+

ACCOUNT_ID

Jetons d’authentification/au porteur

token=[^&\"]+

token=REDACTED

Segments de chemin utilisateur

/users/[^\"/]+

/users/USER_ID

Adresses e-mail

[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

Ordre des règles

Les règles sont appliquées de gauche à droite. La sortie de la règle N devient l’entrée de la règle N + 1. L’ordre est important lorsque le remplacement d’une règle peut correspondre au modèle d’une règle ultérieure.

// 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"

Cas limites

Situation

Comportement

Aucune règle configurée

No-op — aucune surcharge, la liste d’origine est renvoyée telle quelle.

Le motif ne correspond à rien

La valeur est transmise sans modification.

Remplacement vide ""

Le contenu correspondant est supprimé.

$ ou \ en remplacement

Traités comme des caractères simples (et non comme des références arrière d’expression régulière).

Valeur de type entier/long/booléen

Ignoré — seules les valeurs String sont traitées.

null valeur

Ignoré — pas de NullPointerException.

Motif regex invalide

IllegalArgumentException lancée lors de la construction de new ObfuscationRule(...) — échoue rapidement au démarrage, et non silencieusement au moment de la collecte.

null remplacement

IllegalArgumentException lancée lors de la construction.

Échec de l’envoi HTTP → nouvelle tentative de lettre morte

Les événements originaux (non obfusqués) sont réessayés ; l’obfuscation est réappliquée correctement lors de la passe de réessai.

Droits d'auteur © 2026 New Relic Inc.

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