Zum Hauptinhalt springen
Jedes Mal, wenn eine Anfrage an eine Web-App gestellt wird, erfasst AppSignal die mit der Anfrage gesendeten Session-Daten für unterstützte Frameworks. Sessions enthalten Daten, die für Ihre Anwendung spezifisch sind, aber einige Abhängigkeiten, die eine App verwendet, können hier ebenfalls Daten speichern. Zum Beispiel: Wenn sich ein Benutzer anmeldet, werden einige Daten des angemeldeten Benutzers in einer Session gespeichert. Sessions können sensible oder personenbezogene Informationen enthalten, die die App nicht verlassen sollten. Stellen Sie sicher, dass diese Daten herausgefiltert werden, bevor sie an die AppSignal-Server gesendet werden, sodass die App keine sensiblen Daten preisgibt.
Lesen Sie mehr über die Session-Daten-Filterung und welche Arten von Session-Daten Sie filtern sollten in unserem Session-Daten-Filterungs-Thema.
🔐 Senden Sie keine personenbezogenen Daten (Personal Identifiable Information, PII) an AppSignal. Filtern Sie PII (z. B. Namen, E-Mail-Adressen) und verwenden Sie stattdessen eine ID, einen Hash oder einen pseudonymisierten Bezeichner.

Für HIPAA-pflichtige Stellen finden Sie weitere Informationen zum Abschluss eines Business Associate Agreement (BAA) in unserer Business Add-Ons-Dokumentation.

Session-Daten-Filterung

Die grundlegende Session-Daten-Filterung in den AppSignal-Integrationen funktioniert mit einer Denylist, einer Liste von Schlüsseln, die herausgefiltert und nicht gesendet werden sollen. In den Integrationen ist es möglich, in der AppSignal-Konfiguration eine Option “Session-Daten filtern” mit einer Liste der zu filternden Session-Datenschlüssel zu setzen. Alle Session-Datenwerte, die durch diese Systeme herausgefiltert werden, werden durch einen [FILTERED]-Wert ersetzt. Auf diese Weise enthält die Liste der Session-Daten in den App-Daten auf AppSignal.com weiterhin den Session-Datenschlüssel, aber nicht den Wert. So ist es einfacher zu sehen, dass ein Wert gesendet wurde, die potenziell sensiblen Daten jedoch herausgefiltert wurden.

Beispiel

Zum Beispiel führt eine Anwendung mit dieser AppSignal-Konfiguration:
filter_session_data: ["password"]
Zu dieser Ansicht für die Session-Daten einer Web-Anfrage auf AppSignal.com:
{
  "password": "[FILTERED]"
}
Dieser Leitfaden zeigt Ihnen, wie Sie die Session-Filterungs-Denylist Ihrer Anwendung basierend auf der von Ihrer Anwendung verwendeten Sprache konfigurieren:

Ruby

In der Ruby-Integration speichert AppSignal den Inhalt der Benutzersitzung für Rails-Apps und andere Frameworks automatisch. Bestimmte Werte können herausgefiltert werden, oder sie kann vollständig deaktiviert werden. In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Hashes in Arrays. Jeder Hash, dem wir in Ihren Session-Daten begegnen, wird gefiltert. Um diese Filterung zu verwenden, fügen Sie Folgendes zu Ihrer config/appsignal.yml-Datei in der Umgebungsgruppe hinzu, in der sie gelten soll. Der filter_session_data-Wert ist ein Array von Strings.
Appsignal.configure do |config|
  config.filter_session_data += ["name", "email", "api_token", "token"]
end

Elixir

In der Elixir-Integration speichert AppSignal den Inhalt der Benutzersitzung für Phoenix-Apps automatisch. Bestimmte Werte können herausgefiltert werden, oder sie kann vollständig deaktiviert werden. In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Hashes in Arrays. Jeder Hash, dem wir in Ihren Session-Daten begegnen, wird gefiltert. Um diese Filterung zu verwenden, fügen Sie Folgendes zu Ihrer config/appsignal.exs-Datei hinzu. Der filter_session_data-Wert ist ein Array von Strings.
config :appsignal, :config,
  filter_session_data: ["name", "email", "api_token", "token"]

Node.js

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten. In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Hashes in Arrays. Jeder Hash, dem wir in Ihren Session-Daten begegnen, wird gefiltert. Um diese Filterung zu verwenden, verwenden Sie die filterSessionData-Konfigurationsoption, um auszuwählen, welche Session-Datenschlüssel herausgefiltert werden sollen.
const { Appsignal } = require("@appsignal/nodejs");

new Appsignal({
  // Andere Konfigurationsoptionen
  filterSessionData: ["name", "email", "api_token", "token"],
});

Python

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten. In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Dictionaries in Listen. Jedes Dictionary, dem wir in Ihren Session-Daten begegnen, wird gefiltert. Um diese Filterung zu verwenden, verwenden Sie die filter_session_data-Konfigurationsoption, um auszuwählen, welche Session-Datenschlüssel herausgefiltert werden sollen.
from appsignal import Appsignal

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

Go

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten. In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Slices und verschachtelte Maps. Jede Map, der wir in Ihren Session-Daten begegnen, wird gefiltert. Verwenden Sie die filter_request_session_data-Denylist für die Filterung von Request-Session-Daten. Setzen Sie die send_request_session_data-Option auf false, um überhaupt keine Request-Session-Daten zu senden. Weitere Informationen zur Konfiguration von OpenTelemetry für Go-Apps finden Sie auf der Go-Konfigurationsseite.
res := resource.NewWithAttributes(
	attribute.StringSlice("appsignal.config.filter_session_data", []string{"password", "cvv"}),
)

Java

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten. In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Maps und Arrays. Jede Map, der in Ihren Session-Daten begegnet wird, wird gefiltert. Verwenden Sie die filter_request_session_data-Denylist für die Filterung von Session-Daten. Setzen Sie die send_request_session_data-Option auf false, um keine Session-Daten zu senden. Weitere Informationen zur Konfiguration von OpenTelemetry für Java-Apps finden Sie auf der Java-Konfigurationsseite.
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

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten. In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Arrays. Jedes Array, dem in Ihren Session-Daten begegnet wird, wird gefiltert. Verwenden Sie die filter_request_session_data-Denylist für die Filterung von Session-Daten. Setzen Sie die send_request_session_data-Option auf false, um keine Session-Daten zu senden.
return [
    'filter_request_session_data' => ['name', 'email', 'api_token', 'token'],
    // ... andere Optionen
];