• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

안드로이드 난독화 룰

난독화 룰을 사용하면 에이전트가 뉴렐릭으로 전송하기 전에 민감한 데이터를 마스크할 수 있습니다. 각 룰은 대체 문자열과 쌍을 이루는 정규식 패턴입니다. 에이전트는 나가는 모든 이벤트의 모든 문자열 속성 값에 순서대로 룰을 적용합니다 ― QoE events 및 크래시 복구 이벤트 포함.

작동 원리

  1. 정규식 패턴과 대체 문자열이 각각 포함된 ObfuscationRule 객체 목록을 정의합니다.
  2. 설정 빌더의 .withObfuscationRules() 에 목록을 전달합니다.
  3. 각 HTTP 전송 직전에 ObfuscationEngine 은(는) 배치의 모든 이벤트에 대한 모든 문자열 속성을 반복하고 순서대로 룰을 적용합니다.
  4. 문자열 값만 처리됩니다 ― 정수, long, 부울 및 null은 변경되지 않고 그대로 전달됩니다.
  5. 원본 이벤트 객체는 절대 변형되지 않으므로 실패한 배치는 이중 난독화 없이 깔끔하게 재시도할 수 있습니다.

구성

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)

매개변수

유형

설명

pattern

String

자바 정규식 패턴 문자열입니다. 즉시 컴파일됩니다 ― 잘못된 패턴은 생성 시 IllegalArgumentException 을(를) 발생시킵니다.

replacement

String

각 일치 항목을 대체할 문자열입니다. 일치 항목을 삭제하려면 "" 을(를) 사용하세요. $\ 는 역참조가 아닌 일반 문자로 처리됩니다.

obfuscationRules

HTTP 전송 직전에 모든 발신 이벤트의 모든 문자열 속성에 적용되는 ObfuscationRule 객체 목록입니다. 룰은 선언된 순서대로 실행됩니다 ― 한 룰의 출력이 다음 룰로 전달됩니다. 기본값: 빈 목록 (난독화 없음).

일반적인 패턴

마스크할 항목

무늬

바꿔 놓음

숫자 계정 ID

account-\\d+

ACCOUNT_ID

인증/베어러 토큰

token=[^&\"]+

token=REDACTED

사용자 경로 세그먼트

/users/[^\"/]+

/users/USER_ID

이메일 주소

[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

룰 순서 지정

규칙은 왼쪽에서 오른쪽으로 적용됩니다. 규칙 N의 출력이 규칙 N+1의 입력이 됩니다. 한 규칙의 교체가 이후 규칙의 패턴과 일치할 수 있으므로 순서가 중요합니다.

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

엣지 케이스

상황

동작

구성된 룰 없음

No-op ― 오버헤드 없음, 원본 목록이 그대로 반환됨.

패턴과 일치하는 항목 없음

값은 변경되지 않고 전달됩니다.

빈 교체 ""

일치하는 콘텐츠가 삭제됩니다.

$ 또는 대체 항목의 \

일반 문자로 처리됩니다(정규식 역참조 아님).

정수/Long/부울 값

건너뜀 ― String 값만 처리됩니다.

null

건너뜀 ― NullPointerException이 없습니다.

잘못된 정규식 패턴

IllegalArgumentException new ObfuscationRule(...) 생성 시 발생합니다 ― 수집 시 조용히 실패하는 것이 아니라 시작 시 빠르게 실패합니다.

null 교체

IllegalArgumentException 시공 시 표시됨.

HTTP 전송 실패 → 데드 레터 재시도

원본(난독화되지 않은) 이벤트가 재시도되며, 재시도 패스에서 난독화가 올바르게 다시 적용됩니다.

Copyright © 2026 New Relic Inc.

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