概要
enablePrivacyForActionName 初期化パラメーターを有効にすると、プライバシー保護のためにアクション名がマスクされます。ミニファイ済みビルドでは、バンドラーがRUMによるアクション名の生成に使用されるDOM要素のテキストや属性を難読化するため、アクション名が読み取れなくなることがあります。
アクション名の難読化解除ビルドプラグインは、ビルド時にソースコードをインストゥルメント化して、難読化された値を元のテキストにマッピングするプライバシー辞書を生成することで、両方の問題に対処します。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を使用しています。設定オブジェクトは、サポートされているすべてのバンドラーで同一です。インストール手順については、
Build Pluginsを参照してください。
参考資料