개요
enablePrivacyForActionName 초기화 파라미터를 활성화하면 개인정보 보호를 위해 액션 이름이 마스킹됩니다. 최소화된 빌드에서는 번들러가 RUM이 액션 이름을 생성하는 데 사용하는 DOM 요소 텍스트와 속성을 난독화하기 때문에 액션 이름을 읽을 수 없게 될 수도 있습니다.
Action Name Deobfuscation 빌드 플러그인은 빌드 시 소스 코드를 계측하여 난독화된 값을 원래 텍스트로 다시 매핑하는 개인정보 보호 사전을 생성함으로써 두 가지 문제를 모두 해결합니다. RUM SDK는 이 사전을 사용하여 읽을 수 있는 액션 이름을 복원합니다.
전제 조건
- RUM SDK가
trackUserInteractions: true와 enablePrivacyForActionName: true를 사용하여 초기화되었습니다. 모든 액션 이름 마스킹을 참조하세요. - Datadog 빌드 플러그인이 설치되고 번들러에 등록되었습니다. 설치 지침은 빌드 플러그인을 참조하세요.
구성
빌드 플러그인 옵션에서 rum.privacy 객체를 구성합니다.
| 파라미터 | 유형 | 필수 | 기본값 | 설명 |
|---|
rum.privacy.include | RegExp 또는 String 배열 | 아니요 | JS/TS 파일(.js, .ts, .jsx, .tsx, .mjs, .cjs 및 변형) | 액션 이름 난독화 해제를 위해 처리할 파일 패턴입니다. |
rum.privacy.exclude | RegExp 또는 String 배열 | 아니요 | node_modules, .preval. 파일 | 건너뛸 파일 패턴입니다. |
예시
기본 설정 사용 시(모든 JS/TS 파일을 처리하고 node_modules 제외):
const { datadogWebpackPlugin } = require('@datadog/webpack-plugin');
module.exports = {
plugins: [
datadogWebpackPlugin({
rum: {
privacy: {},
},
}),
],
};
사용자 지정 포함 및 제외 패턴 사용 시:
const { datadogWebpackPlugin } = require('@datadog/webpack-plugin');
module.exports = {
plugins: [
datadogWebpackPlugin({
rum: {
privacy: {
include: [/\.jsx?$/, /\.tsx?$/],
exclude: [/\/node_modules\//, /\/test\//],
},
},
}),
],
};
이 예시들은 webpack을 사용합니다. 구성 객체는 지원되는 모든 번들러에서 동일합니다. 설치 지침은
빌드 플러그인을 참조하세요.
추가 자료