• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

ストリーミングメディアエージェントデータの難読化

難読化ルールを使用すると、エージェントがNew Relicに送信する前に機密データをマスクできます。各ルールは、正規表現パターンと置換文字列のペアです。エージェントは、すべての送信イベントのすべての文字列属性値に順番にルールを適用します — QoEイベントやクラッシュから回復したイベントも含まれます。

iOS

構成

Objective-C

NRVAVideoConfiguration *config = [[[[NRVAVideoConfiguration builder]
withApplicationToken:@"YOUR_NEW_RELIC_TOKEN"]
withObfuscationRules:@[
@{ @"regex": @"account-\\d+", @"replacement": @"ACCOUNT_ID" },
@{ @"regex": @"token=[^&\"]+", @"replacement": @"token=REDACTED" },
]]
build];
[[[NRVAVideo newBuilder] withConfiguration:config] build];

Swift

let config = NRVAVideoConfiguration.builder()
.withApplicationToken("YOUR_NEW_RELIC_TOKEN")
.withObfuscationRules([
["regex": "account-\\d+", "replacement": "ACCOUNT_ID"],
["regex": "token=[^&\"]+", "replacement": "token=REDACTED"],
])
.build()
NRVAVideo.newBuilder().with(configuration: config).build()

使い方

  • エージェントは、生のJSONペイロードに対してではなく、文字列属性値ごとにルールを適用します — 数値およびブール値の属性は影響を受けません。
  • すべてのルールは、通常、ライブ、QoE、およびクラッシュから復旧したイベントを含む、送信されるすべてのイベントに対して実行されます。
  • ルールは宣言した順序で実行されます。2つのルールが同じ値に一致する可能性がある場合、順序が重要になります。
  • エージェントはapplicationTokenやHTTP認証ヘッダーを難読化することはありません — 難読化はイベント属性値にのみ適用されます。

エッジケース

シナリオ行動
ルールが設定されていないエージェントは、パフォーマンスに影響を与えることなく、すべての属性値を変更せずにそのまま渡します。
空の置換文字列エージェントは、値から一致したコンテンツを削除します。
無効な正規表現パターンwithObfuscationRules: イベントが送信される前の設定時にNSInvalidArgumentExceptionをスローします。
非文字列属性値エージェントは属性をスキップします。文字列値のみが処理されます。
不正な形式のルール配列エントリエージェントはディクショナリではないエントリをスキップし、ログに警告を書き込みます。
applicationToken およびHTTP認証ヘッダーこれらがイベント属性に含まれることはなく、難読化ルールの影響も受けません。
ルールの順序ルールは、配列で宣言されている順序で実行されます。
破滅的なバックトラッキングNSRegularExpression iOSには組み込みのタイムアウトがありません。無制限のネストされた数量子を持つパターンは避けてください(たとえば、(a+)+)。デプロイする前に、最悪のケースの入力に対してルールをテストしてください。

Roku

エージェントがNew Relicにイベントを送信する前に機密データをマスクするように、正規表現ベースの難読化ルールを使用してエージェントを設定できます。contentSrccontentTitleorigUrlなどのフィールド、またはカスタムアトリビュートに、ユーザーID、トークン、またはその他のPIIが誤って含まれる可能性がある場合に、この機能を使用します。

エージェントは、イベントが内部バッファに入る前に、送信されるすべてのイベント — ビデオ、広告(RAFおよびIMA)、QOE、システム、カスタムイベントなど — のすべての文字列属性にルールを適用します。

構成

エージェントを作成した後にnrSetObfuscationRulesを呼び出します。各ルールは、regex文字列とreplacement文字列を含む連想配列です:

m.nr = NewRelic("ACCOUNT_ID", "API_KEY", "APP_NAME", "APP_TOKEN")
nrSetObfuscationRules(m.nr, [
{ regex: "account-[0-9]+", replacement: "ACCOUNT_ID" },
{ regex: "token=[^&]+", replacement: "token=REDACTED" },
{ regex: "/users/[^/]+", replacement: "/users/USER_ID" }
])

実行時にすべてのルールを削除するには、空の配列を使用してnrSetObfuscationRulesを呼び出します:

nrSetObfuscationRules(m.nr, [])

ルールの順序

エージェントは、配列に現れる順序でルールを適用します。あるルールの出力は、次のルールの入力になります。パターンが重複する可能性がある場合は、順序が重要になります:

nrSetObfuscationRules(m.nr, [
' Applied first — masks the specific token format
{ regex: "auth-token-[a-z0-9]+", replacement: "AUTH_TOKEN" },
' Applied second — masks any remaining bare token references
{ regex: "token=[^&]+", replacement: "token=REDACTED" }
])

動作とエッジケース

ケース行動
ルールが設定されていないエージェントは、パフォーマンスに影響を与えることなく、すべての属性値を変更せずにそのまま渡します。
空のreplacement文字列エージェントは、値から一致したコンテンツを削除します。
無効な正規表現パターンエージェントはルールをスキップし、ログに警告を書き込みます。
文字列以外の属性値エージェントはこれらを変更せずにそのまま渡します。文字列値のみが処理されます。
すべてのルールの置換新しい配列を使用してnrSetObfuscationRulesを再度呼び出します。エージェントは以前のすべてのルールを破棄します。

重要

RokuはパターンマッチングにroRegexを使用します。Rokuは複雑な先読み/後読みアサーションをサポートしていません。JavaScriptまたはJavaの正規表現で有効なパターンでも、Roku用に簡略化する必要がある場合があります。

Copyright © 2026 New Relic株式会社。

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