Passer au contenu principal
Chaque fois qu’une requête est effectuée sur une application web, AppSignal collecte les données de session envoyées avec la requête pour les frameworks pris en charge. Les sessions contiennent des données spécifiques à votre application, mais certaines dépendances qu’une application utilise peuvent également y stocker des données. Par exemple : lorsqu’un utilisateur se connecte, certaines données de l’utilisateur connecté sont stockées dans une session. Les sessions peuvent contenir des informations sensibles ou personnellement identifiables qui ne devraient pas quitter l’application. Assurez-vous que ces données sont filtrées avant d’être envoyées aux serveurs AppSignal, ainsi l’application ne fuite aucune donnée sensible.
En savoir plus sur le filtrage des données de session et les types de données de session pour lesquels configurer le filtrage dans notre rubrique filtrage des données de session.
🔐 N’envoyez pas d’informations personnelles identifiables (PII) à AppSignal. Filtrez les PII (par exemple, noms, e-mails) et utilisez un identifiant, un hash ou un identifiant pseudonymisé à la place.

Pour les entités couvertes par la HIPAA, plus d’informations sur la signature d’un Business Associate Agreement (BAA) sont disponibles dans notre documentation Business Add-Ons.

Filtrage des données de session

Le filtrage de base des données de session dans les intégrations AppSignal fonctionne avec une liste de blocage, une liste de clés à filtrer et à ne pas envoyer. Dans les intégrations, il est possible de définir une option « filter session data » dans la configuration AppSignal avec une liste de clés de données de session à filtrer. Toutes les valeurs de données de session filtrées par ces systèmes seront remplacées par une valeur [FILTERED]. De cette façon, la liste des données de session dans les données de l’application sur AppSignal.com inclut toujours la clé des données de session, mais pas la valeur. Cela permet de voir plus facilement qu’une valeur a été envoyée, mais que les données potentiellement sensibles ont été filtrées.

Exemple

Par exemple, une application avec cette configuration AppSignal :
filter_session_data: ["password"]
Donne cette vue pour les données de session d’une requête web sur AppSignal.com :
{
  "password": "[FILTERED]"
}
Ce guide vous montrera comment configurer la liste de blocage de filtrage de session de votre application en fonction du langage qu’elle utilise :

Ruby

Dans l’intégration Ruby, AppSignal stocke automatiquement le contenu de la session de l’utilisateur pour les applications Rails et autres frameworks. Des valeurs spécifiques peuvent être filtrées ou cela peut être entièrement désactivé. Dans le filtrage des données de session, les hashes imbriqués et les hashes imbriqués dans des arrays sont pris en charge. Tout hash que nous rencontrons dans vos données de session sera filtré. Pour utiliser ce filtrage, ajoutez ce qui suit à votre fichier config/appsignal.yml dans le groupe d’environnement où vous souhaitez l’appliquer. La valeur filter_session_data est un tableau de chaînes.
Appsignal.configure do |config|
  config.filter_session_data += ["name", "email", "api_token", "token"]
end

Elixir

Dans l’intégration Elixir, AppSignal stocke automatiquement le contenu de la session de l’utilisateur pour les applications Phoenix. Des valeurs spécifiques peuvent être filtrées ou cela peut être entièrement désactivé. Dans le filtrage des données de session, les hashes imbriqués et les hashes imbriqués dans des arrays sont pris en charge. Tout hash que nous rencontrons dans vos données de session sera filtré. Pour utiliser ce filtrage, ajoutez ce qui suit à votre fichier config/appsignal.exs. La valeur filter_session_data est un tableau de chaînes.
config :appsignal, :config,
  filter_session_data: ["name", "email", "api_token", "token"]

Node.js

Si une requête stocke des données de session sur l’échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure. Dans le filtrage des données de session, les hashes imbriqués et les hashes imbriqués dans des arrays sont pris en charge. Tout hash que nous rencontrons dans vos données de session sera filtré. Pour utiliser ce filtrage, utilisez l’option de configuration filterSessionData pour sélectionner les clés de données de session à filtrer.
const { Appsignal } = require("@appsignal/nodejs");

new Appsignal({
  // Other config options
  filterSessionData: ["name", "email", "api_token", "token"],
});

Python

Si une requête stocke des données de session sur l’échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure. Dans le filtrage des données de session, les hashes imbriqués et les dictionnaires imbriqués dans des listes sont pris en charge. Tout dictionnaire que nous rencontrons dans vos données de session sera filtré. Pour utiliser ce filtrage, utilisez l’option de configuration filter_session_data pour sélectionner les clés de données de session à filtrer.
from appsignal import Appsignal

appsignal = Appsignal(
    # Other config
    filter_session_data: ["name", "email", "api_token", "token"]
)

Go

Si une requête stocke des données de session sur l’échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure. Dans le filtrage des données de session, les slices imbriquées et les maps imbriquées sont pris en charge. Toute map que nous rencontrons dans vos données de session sera filtrée. Utilisez la liste de blocage filter_request_session_data pour le filtrage des données de session de requête. Définissez l’option send_request_session_data sur false pour ne pas envoyer du tout de données de session de requête. Consultez la page de configuration Go pour plus d’informations sur la façon de configurer OpenTelemetry pour les applications Go.
res := resource.NewWithAttributes(
	attribute.StringSlice("appsignal.config.filter_session_data", []string{"password", "cvv"}),
)

Java

Si une requête stocke des données de session sur l’échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure. Dans le filtrage des données de session, les maps et tableaux imbriqués sont pris en charge. Toute map rencontrée dans vos données de session sera filtrée. Utilisez la liste de blocage filter_request_session_data pour le filtrage des données de session. Définissez l’option send_request_session_data sur false pour éviter d’envoyer des données de session. Consultez la page de configuration Java pour plus d’informations sur la façon de configurer OpenTelemetry pour les applications Java.
function encode() {
  echo -n "$@" | sed 's/,/%2C/g'
}

export OTEL_RESOURCE_ATTRIBUTES="\
  appsignal.config.filter_request_session_data=$(encode "name,email,api_token,token"),\
  ..."

PHP

Si une requête stocke des données de session sur l’échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure. Dans le filtrage des données de session, les arrays imbriqués sont pris en charge. Tout array rencontré dans vos données de session sera filtré. Utilisez la liste de blocage filter_request_session_data pour le filtrage des données de session. Définissez l’option send_request_session_data sur false pour éviter d’envoyer des données de session.
return [
    'filter_request_session_data' => ['name', 'email', 'api_token', 'token'],
    // ... other options
];