Cloud Debugger è deprecato e verrà chiuso il 31 maggio 2023. Per ulteriori informazioni, consulta la pagina relativa ai ritiri e alle note di rilascio.

Nascondere i dati sensibili

L'uso del debugger potrebbe esporre dati sensibili all'interno dell'applicazione, come indirizzi email, numeri di conto bancario e così via. Puoi configurare liste bloccate ed eccezioni alla lista bloccata per impedire all'agente del debugger di accedere a questi dati sensibili.

I dati nascosti sono segnalati dal debugger come "bloccato dall'amministratore", come mostrato nel seguente screenshot:

Debugger segnala testo nascosto come "bloccato dall'amministratore".

Consigli

Quando configuri o aggiorni i file della lista bloccata, presta attenzione ai seguenti suggerimenti:

  • Utilizza l'agente Java versione 2.27 o successiva. Per informazioni sull'installazione, consulta Configurazione di Cloud Debugger per Java.

  • Tieni presente che il nome dei file di configurazione e le parole chiave sono stati aggiornati a blocklist. Aggiorna i file di conseguenza.

Configurare il file

La seguente configurazione può essere utilizzata come punto di partenza e fornisce la documentazione incorporata:

# Cloud Debugger Blocklist Configuration File
#
# == Format ==
#
#   This configuration file accepts the following keywords:
#
#    - blocklist
#    - blocklist_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 `blocklist` | Matches `blocklist_exception` | Data is |
#   |---------------------|-------------------------------|---------|
#   | no                  | no                            | shown   |
#   | no                  | yes                           | shown   |
#   | yes                 | no                            | hidden  |
#   | yes                 | yes                           | shown   |
#
#   Patterns listed under "blocklist" and "blocklist_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_blocklist_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_blocklist_checker.py debugger-blocklist.yaml
#
#   You can also use the tool to check if symbols will be blocklisted
#
#     echo com.java.Integer | \
#       debugger_blocklist_checker.py debugger-blocklist.yaml --check

# Uncomment The line below to add blocklists
#blocklist:
#  - "java.security"  # Example package

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

Esempi

La seguente configurazione di esempio nasconde i dati all'interno di una singola classe dal debugger:

blocklist:
- "com.sales.Ticket"

È anche possibile nascondere pacchetti specificando il nome del pacchetto:

blocklist:
- "com.sales"

In alcuni casi, può essere utile creare eccezioni alle regole di blocklist. Puoi eseguire questa operazione con un blocklist_exception:

blocklist:
- "com.sales"
blocklist_exception:
- "com.sales.testing"

Infine, è possibile specificare un pattern inverso, in cui le classi che non corrispondono a un pattern sono bloccate.

blocklist:
- "!com.sales"

Località del file di configurazione

Il file di configurazione deve essere denominato debugger-blocklist.yaml e può essere posizionato ovunque nel percorso della classe. Una posizione ragionevole si trova nella directory principale del file .jar. Nelle sezioni seguenti viene descritto come eseguire questa operazione.

Utilizza il comando jar

Per inserire o aggiornare un file di configurazione in un file .jar, puoi utilizzare il comando jar. Per aggiungere il file di configurazione debugger-blocklist.yaml all'archivio TicketTracker.jar, utilizza il seguente comando:

jar uvf TicketTracker.jar debugger-blocklist.yaml

Usa la formica

Per inserire il file di configurazione in una JAR utilizzando il sistema di compilazione Ant, utilizza l'attività jar incorporata di Ant' Ad esempio, il seguente target di distribute utilizza l'attività jar per aggiungere il file di configurazione debugger-blocklist.yaml all'archivio TicketTracker.jar.

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

Utilizzo di Maven

Per inserire il file di configurazione in un pacchetto gestito dal sistema di compilazione Maven, inserisci il file debugger-blocklist.yaml nella directory src/main/resources, che potresti dover creare. Crea il progetto e conferma che debugger-blocklist.yaml sia stato copiato in target/classes.