Node.js APMエージェントを使用すると、正規表現パターンを使用して、ディストリビューティッド(分散)トレーシングおよび トレース内の URL を難読化し、機密データを保護できます。 この機能は、Node.js エージェント v9.9.0 以降で利用できます。
URL 難読化を有効にする
URL 難読化を有効にするには、次のスニペットをエージェント構成に追加します。
url_obfuscation: { enabled: true, regex: { pattern: '{your regex pattern}', flags: '{regex flags}'}', replacement: '{replacement string}' }}
または環境変数を使用します。
bash
$NEW_RELIC_URL_OBFUSCATION_ENABLED=true$NEW_RELIC_URL_OBFUSCATION_REGEX_PATTERN={your regex pattern}$NEW_RELIC_URL_OBFUSCATION_REGEX_FLAGS={regex flags}$NEW_RELIC_URL_OBFUSCATION_REGEX_REPLACEMENT={replacement string}
フラグはオプションです。指定しない場合、エージェントはそれらを使用しません。置換パターンの使用をお勧めしますが、置換パターンの使用はオプションです。指定しない場合、エージェントは空の文字列 ( ''
) であるデフォルトの置換パターンを使用します。
構成例
url_obfuscation: { enabled: true, regex: { pattern: /(\/api\/v1\/users\/)([\d]+)(\/.*$)/, flags: "i", replacement: '$1<DNT>**$3' }}
この構成は、 /api/v1/users/12345456/edit
のサンプル URL に一致する URL を難読化し、URL の中央にあるすべての数字を**</DNT>
(2 つのアスタリスク) に置き換えます。結果の URL は/api/v1/users/**/edit
になります。
環境変数を使用した構成例
bash
$NEW_RELIC_URL_OBFUSCATION_ENABLED=true$NEW_RELIC_URL_OBFUSCATION_REGEX_PATTERN=(/api/v1/users/)([\d]+)(/.*$)$NEW_RELIC_URL_OBFUSCATION_REGEX_FLAGS=i$NEW_RELIC_URL_OBFUSCATION_REGEX_REPLACEMENT=$1**$3
難読化ルール
エージェントは、指定した正規表現パターンに一致する URL を難読化します。エージェントは、正規表現パターンに一致しない URL を難読化しません。正規表現パターンを指定しない場合、エージェントは URL を難読化しません。置換パターンを指定しない場合、エージェントは一致したパターンを空の文字列に置き換えます。フラグを指定しない場合、エージェントはフラグを使用しません。