9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Javaを実行時のJVMプロパティを難読化して送信できるようになった

Last updated at Posted at 2025-02-13

Java エージェントで、Javaを実行時のJVMプロパティに機密性が高いパラメーターが含まれている場合に難読化して送信できるようになりました。

本記事では今回のアップデートの詳細を紹介します。

概要

New RelicのAPMエージェントはアプリケーションの実行環境に関する情報を収集しており、言語のバージョンや実行OSの情報、どの様なパラメーターがアプリケーションに設定されているか確認することができます。

環境の情報はAPMの「Settings > Environment > Environment snapshot」の先で確認することが可能です。

Java エージェントの場合、Java 起動時に渡しているJVMのパラメーター値もUI上で確認することが出来ますが、Java エージェント v8.16.0から UI上で確認できるパラメーターを難読化して送信できるようになりました。

設定方法

下記のJavaの起動コマンドを例に設定方法を確認していきます。

sudo java -XX:+HeapDumpOnOutOfMemoryError \
-XX:ActiveProcessorCount=1 \
-Dprop.A=val1 \
-Dprop.B=val2 \
-DpropC=val3 \
-Dprop.B.other=val4 \
-Dprop.B.extended=val5 \
-javaagent:target/newrelic/newrelic.jar \
-jar target/*.jar

デフォルトでは-Dpropで指定したパラメーターは難読化されて送信されるようになっており、UI上では以下のようにJVMのパラメーターがobfuscatedとして表示されるようになっています。

エージェントの設定で難読化するパラメーターと難読化しないパラメーターの指定ができるようになっており、newrelic.ymlで設定する場合はnewrelic.config.obfuscate_jvm_propsの箇所で設定します。

設定方法については以下ドキュメントもご確認ください。

例えば、以下の設定で定義した場合のUI上の見え方について紹介します。

newrelic.yml
  obfuscate_jvm_props:
    enabled: true
    # 難読化しないパラメーターを定義する
    allow: -Dprop.A, -Dprop.B*
    # 難読化するパラメーターをblockで定義する
    block: -Dprop.B.extended

上記の設定で定義した場合、難読化する・しないの対象の判別は以下のようになります。

難読化対象のパラメーター 難読化される/難読化されない理由
-Dprop.A 対象: allowで定義している-Dprop.Aにマッチするため
-Dprop.B 対象: allowで定義している-Dprop.B*にマッチするため
-Dprop.C 対象外: allowとblockのどちらの定義にもマッチしないためデフォルト設定で難読化される
-Dprop.B.other 対象: allowで定義している-Dprop.B*にマッチするため
-Dprop.B.extended 対象外: blockで定義している-Dprop.B.extendedにマッチするため

UI上では下記の様にパラメーターが入ってくることになります。

デフォルトでは全てのパラメーターは難読化されて送信されますが、エージェントの設定で難読化するパラメーター、難読化しないパラメーターを定義できることを紹介させていただきました。

その他

New Relicでは、新しい機能やその活用方法について、QiitaやXで発信しています!
無料でアカウント作成も可能なのでぜひお試しください!

New Relic株式会社のX(旧Twitter)Qiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!

9
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?