センシティブ データの非表示

デバッガを使用すると、メールアドレス、アカウント番号など、アプリケーション内のセンシティブ データが露出する可能性があります。単純な設定ファイルを使用すると、このセンシティブ データをデバッガ エージェントでブロックすることができます。

次の設定例を使用すると、デバッガから単一クラス内のデータを非表示にできます。

blacklist:
- "com.sales.Ticket"

パッケージ名を指定すると、パッケージを非表示にすることもできます。

blacklist:
- "com.sales"

blacklist ルールの例外を作成すると便利な場合があります。この操作は blacklist_exception で行うことができます。

blacklist:
- "com.sales"
blacklist_exception:
- "com.sales.testing"

最後に、逆パターンを指定することもできます。この場合、パターンに一致しないクラスをブラックリストに登録します。

blacklist:
- "!com.sales"

次のスクリーンショットのように、非表示になったデータは「blocked by admin」と表示されます。

非表示のテキストに「blocked by admin」と表示される

設定ファイル

次に設定ファイルの例を示します。インライン ドキュメントを参考に設定を行ってください。

# Stackdriver Debugger Blacklist Configuration File
#
# == Format ==
#
#   This configuration file accepts the following keywords:
#
#    - blacklist
#    - blacklist_exception
#
#   The debugger uses the following rules to determine if a variable's data
#   should be hidden, using the variable's type as the match criteria.
#
#   | Matches `blacklist` | Matches `blacklist_exception` | Data is |
#   |---------------------|-------------------------------|---------|
#   | no                  | no                            | shown   |
#   | no                  | yes                           | shown   |
#   | yes                 | no                            | hidden  |
#   | yes                 | yes                           | shown   |
#
#   Patterns listed under "blacklist" and "blacklist_exception" have the
#   following format:
#
#   [!]<type>
#
#   - `type` is a type prefix (such as a class or package name). Any
#      nested types will also match the pattern. For example, if you
#      specify a package name, the package and all of it's subtypes will
#      match. Note that glob patterns such as `*` can be used anywhere in
#      the type name.
#   -  By prefixing a pattern with an exclamation point, `!`, the pattern
#      is considered an "inverse match" which evaluates to true for any
#      type that does not match the provided pattern.
#   -  The debugger makes no attempt to verify that specified patterns
#      will actually match anything. If you have a misspelling in your
#      pattern, then there will be no reported errors but the pattern will
#      not work as intended.
#
# == Verification ==
#
#   A verification tool is available and can be downloaded with the
#   following command:
#
#   wget https://storage.googleapis.com/cloud-debugger/compute-java/debian-wheezy/debugger_blacklist_checker.py
#
#   This tool can be used to check the configuration file for syntax errors.
#   It can also be used to experiment with configuration files locally
#   without having to deploy a real application.
#
#   A basic usage example:
#
#       debugger_blacklist_checker.py debugger-blacklist.yaml
#
#   You can also use the tool to check if symbols will be blacklisted
#
#     echo com.java.Integer | \
#       debugger_blacklist_checker.py debugger-blacklist.yaml --check

# Uncomment The line below to add blacklists
#blacklist:
#  - "java.security"  # Example package

# Uncomment The line below to add blacklist exceptions
#blacklist_exception:
#  - "java.security.Timestamp"  # Example class

設定ファイルの配置場所

設定ファイルの名前は debugger-blacklist.yaml で、クラスパスの任意の場所に配置できます。最適な場所は .jar ファイルのルートです。以降のセクションでは、この配置方法について説明します。

jar コマンドの使用

.jar ファイルに設定を挿入または更新するには、jar コマンドを使用します。設定ファイル debugger-blacklist.yaml をアーカイブ TicketTracker.jar に追加するには、次のコマンドを使用します。

jar uvf TicketTracker.jar debugger-blacklist.yaml

Ant の使用

Ant ビルドシステムを使用して JAR に設定ファイルを挿入するには、Ant の組み込み jar タスクを使用します。たとえば、次の distribute ターゲットは jar タスクを使用して、設定ファイル debugger-blacklist.yaml をアーカイブ TicketTracker.jar に追加します。

<target name="distribute" depends="compile">
  <jar destfile="${distributionDir}/TicketTracker.jar" >
    <fileset dir="${outputDir}"/>
    <fileset dir="${sourceDir}"/>
    <fileset file="debugger-blacklist.yaml" />
  </jar>
</target>

Maven の使用

Maven ビルドシステムで管理されているパッケージに設定ファイルを挿入するには、src/main/resources ディレクトリに debugger-blacklist.yaml ファイルを作成します(ディレクトリの作成が必要になる場合があります)。プロジェクトをビルドし、debugger-blacklist.yamltarget/classes にコピーされたことを確認します。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Stackdriver Debugger のドキュメント