Tous les produits
Search
Centre de documentation

Simple Log Service:Data masking and encryption plugins

Dernière mise à jour :Aug 18, 2026

Protégez les données sensibles en masquant, chiffrant ou encodant les champs de journal lors de la collecte.

Exemple

Le tableau suivant compare un journal brut stocké dans SLS avec et sans le plugin de masquage des données.

Journal brut

Sans plugin

Avec plugin

[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]

Contenu : "[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]"

Contenu : "[{'account':'1812213231432969','password':''}, {'account':'1812213685634','password':''}]"

Plugins de sécurité des données

Les plugins de sécurité des données suivants sont disponibles.

Paramètre

Type

Description

masquage des données

natif

Masque les champs de journal.

masquage des données

extension

Remplace les données sensibles par une chaîne spécifiée ou un hachage MD5.

chiffrement de champ

extension

Chiffre le contenu des champs spécifiés.

encodage et décodage des données

extension

Effectue le décodage Base64, l'encodage Base64 et l'encodage MD5 sur les données.

Point d'entrée

Pour utiliser un plugin Logtail pour le traitement des journaux, ajoutez-le lors de la création ou de la modification d'une configuration Logtail. Pour plus d'informations, consultez Présentation.

Différences entre les plugins natifs et les plugins d'extension

Plugins natifs : écrits en C++ pour des performances supérieures.

Plugins d'extension : écrits en Go pour un écosystème plus riche et une plus grande flexibilité. Utilisez-les pour les journaux métier complexes que les plugins natifs ne peuvent pas traiter.

  • Limitations de performance des plugins d'extension

    • Les plugins d'extension entraînent une consommation accrue de ressources par LoongCollector, principalement au niveau du CPU. Ajustez les paramètres de LoongCollector dans Gestion de la configuration si nécessaire.

    • Si les données brutes dépassent 5 Mo/s, évitez les combinaisons de plugins complexes. Utilisez un plugin d'extension pour le traitement de base, puis déléguez le reste à Transformation des données.

  • Limitations de la collecte de journaux

    • Les plugins d'extension traitent les journaux textuels en mode ligne, de sorte que les métadonnées au niveau du fichier, telles que __tag__:__path__ et __topic__, sont stockées dans chaque entrée de journal.

    • L'ajout de plugins d'extension affecte les fonctionnalités liées aux tags :

      • La requête contextuelle et LiveTail ne sont pas disponibles sauf si vous ajoutez une configuration d'agrégateurs.

      • Le champ __topic__ est renommé en __log_topic__. Si vous ajoutez une configuration d'agrégateurs, les champs __topic__ et __log_topic__ sont tous deux présents dans les journaux. Si vous n'avez pas besoin du champ __log_topic__, vous pouvez utiliser le plugin de suppression de champ pour le supprimer.

      • Les champs tels que __tag__:__path__ ne disposent plus d'un index de champ natif. Vous devez créer un index de champ pour eux.

Plugin de masquage des données (natif)

Le plugin de masquage des données masque les données sensibles dans les journaux.

Configuration

Paramètre

Description

Original Field

Le champ qui stocke le contenu du journal brut avant l'analyse.

Data Masking Method

La méthode de masquage. Valeurs valides :

  • const : remplace le contenu sensible par une chaîne spécifiée.

  • md5 : remplace le contenu sensible par son hachage MD5.

Replacement String

La chaîne qui remplace le contenu sensible. Ce paramètre est requis uniquement lorsque Data Masking Method est défini sur const.

Content Expression that Precedes Replaced Content

Une expression régulière utilisée pour localiser les données sensibles en faisant correspondre le contenu qui les précède. L'expression doit être conforme à la syntaxe RE2.

Content Expression to Match Replaced Content

Une expression régulière qui fait correspondre le contenu sensible à masquer. L'expression doit être conforme à la syntaxe RE2.

Replace All Matched Content

  • Si vous sélectionnez Replace All Matched Content, tout le contenu sensible du champ est remplacé.

  • Si vous ne sélectionnez pas Replace All Matched Content, seule la première partie du champ qui correspond à l'expression est remplacée.

Exemple de configuration

  • Champ source

    content:[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]
  • Configuration Logtail : définissez le type de processeur sur masquage des données, la méthode de masquage sur const, la chaîne de remplacement sur ********, l'expression du contenu précédent sur password':' et l'expression cible sur [^']*. Sélectionnez remplacer toutes les correspondances, puis cliquez sur confirmer.

  • Résultat du traitement

    [{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]

Plugin de désensibilisation des données

Le plugin processor_desensitize remplace les données sensibles dans les journaux par une chaîne spécifiée ou un hachage MD5.

Limitations

  • Configuration basée sur un formulaire : prise en charge lors de la collecte de journaux textuels et de la sortie standard des conteneurs.

  • Configuration basée sur JSON : non prise en charge pour la collecte de journaux textuels.

Configuration

Important

Les versions 1.3.0 et ultérieures de Logtail prennent en charge le plugin processor_desensitize.

Formulaire

Définissez processor type sur Data Masking. Le tableau suivant décrit les paramètres associés.

  • Paramètres

    Paramètre

    Description

    Original Field

    Le nom du champ de journal.

    Data Masking Method

    La méthode utilisée pour la désensibilisation des données. Valeurs valides :

    • String Replacement : remplace le contenu sensible par une chaîne. Vous pouvez spécifier la chaîne cible à l'aide du paramètre Replacement String.

    • md5 : remplace le contenu sensible par son hachage MD5.

    Sensitive Data Content

    La méthode d'extraction du contenu sensible. Valeurs valides :

    • Field Text : remplace la valeur entière du champ cible.

    • Use Regular Expression : utilise une expression régulière pour extraire le contenu sensible.

    Replacement String

    La chaîne utilisée pour remplacer le contenu sensible.

    Requis si Data Masking Method est défini sur String Replacement.

    Regex to Match Sensitive Content Prefix

    L'expression régulière pour faire correspondre le préfixe du contenu sensible.

    Requis si Sensitive Data Content est défini sur spécification basée sur regex.

    Regex to Match Sensitive Content

    L'expression régulière pour faire correspondre le contenu sensible.

    Requis si Sensitive Data Content est défini sur spécification basée sur regex.

  • Exemple de configuration

    Remplacez la valeur entière du champ cible par une chaîne.

    • Journal brut

      "password" : "123abcdefg"
    • Configuration du plugin Logtail : définissez le type de processeur sur désensibilisation des données, puis définissez les paramètres suivants : champ source sur password, méthode de désensibilisation sur remplacement de chaîne, contenu des données sensibles sur champ complet et chaîne de remplacement sur ********.

    • Résultat du traitement

      "password":"********"

JSON

Définissez type sur processor_desensitize. Le tableau suivant décrit les paramètres au sein de l'objet detail.

  • Paramètres

    Paramètre

    Type

    Obligatoire

    Description

    SourceKey

    String

    Oui

    Le nom du champ de journal.

    Method

    String

    Oui

    La méthode utilisée pour la désensibilisation des données. Valeurs valides :

    • const : remplace le contenu sensible par une chaîne. Vous pouvez utiliser le paramètre ReplaceString pour spécifier la chaîne cible.

    • md5 : remplace le contenu sensible par son hachage MD5.

    Match

    String

    Non

    La méthode d'extraction du contenu sensible. Valeurs valides :

    • full (par défaut) : remplace la valeur entière du champ cible.

    • regex : utilise une expression régulière pour extraire le contenu sensible.

    ReplaceString

    String

    Non

    La chaîne utilisée pour remplacer le contenu sensible.

    Requis si Method est défini sur const.

    RegexBegin

    String

    Non

    L'expression régulière pour faire correspondre le préfixe du contenu sensible.

    Requis si Match est défini sur regex.

    RegexContent

    String

    Non

    L'expression régulière pour faire correspondre le contenu sensible.

    Requis si Match est défini sur regex.

  • Exemples de configuration

    • Exemple 1

      Pour remplacer la valeur entière du champ cible par une chaîne, définissez Method sur const et Match sur full.

      • Journal brut

        "password" : "123abcdefg"
      • Configuration du plugin Logtail

        {
          "type" : "processor_desensitize",
          "detail" : {
            "SourceKey" : "password",
            "Method" : "const",
            "Match" : "full",
            "ReplaceString": "********"
          }
        }
      • Résultat du traitement

        "password":"********"
    • Exemple 2

      Pour utiliser une expression régulière afin de spécifier le contenu sensible et le remplacer par son hachage MD5, définissez Method sur md5 et Match sur regex.

      • Journal brut

        "content" : "[{'account':'1234567890','password':'abc123'}]"
      • Configuration du plugin Logtail

        {
           "type" : "processor_desensitize",
           "detail" : {
              "SourceKey" : "content",
              "Method" : "md5",
              "Match" : "regex",
              "RegexBegin": "'password':'",
              "RegexContent": "[^']*"
           }
        }
      • Résultat du traitement

        "content":"[{'account':'1234567890','password':'e99a18c428cb38d5f260853678922e03'}]"

Plugin de chiffrement de champ

Le plugin processor_encrypt chiffre le contenu des champs spécifiés.

Configuration

Formulaire

Définissez Processor Type sur Field Encryption. Le tableau suivant décrit les paramètres associés.

Paramètre

Description

Original Field

Les champs sources à chiffrer. Vous pouvez ajouter plusieurs champs.

AccessKey Pair

La clé de chiffrement. Elle doit être une chaîne hexadécimale de 64 caractères.

Initialization Vector

Le vecteur d'initialisation pour le chiffrement. Il doit être une chaîne hexadécimale de 32 caractères. La valeur par défaut est 00000000000000000000000000000000.

Storage Path

Le chemin vers le fichier contenant les paramètres de chiffrement. S'il n'est pas spécifié, le plugin utilise le Chemin du fichier des paramètres Entrée de la configuration Logtail.

Retain Raw Data If Processing Fails

Si vous sélectionnez cette option, le système conserve la valeur du champ source si le chiffrement échoue.

Si cette option n'est pas sélectionnée, la valeur du champ est remplacée par ENCRYPT_ERROR en cas d'échec du chiffrement.

JSON

Définissez type sur processor_encrypt. Le tableau suivant décrit le paramètre detail.

Paramètre

Type

Obligatoire

Description

SourceKey

Tableau de chaînes

Oui

Les champs sources à chiffrer.

EncryptionParameters

Objet

Oui

Les paramètres de chiffrement.

Key

String

Oui

La clé de chiffrement. Elle doit être une chaîne hexadécimale de 64 caractères.

IV

String

Non

Le vecteur d'initialisation pour le chiffrement. Il doit être une chaîne hexadécimale de 32 caractères. La valeur par défaut est 00000000000000000000000000000000.

KeyFilePath

String

Non

Le chemin vers le fichier contenant les paramètres de chiffrement. S'il n'est pas spécifié, le plugin utilise le Chemin du fichier des paramètres Entrée de la configuration Logtail.

KeepSourceValueIfError

Booléen

Non

Indique s'il faut conserver la valeur source en cas d'échec du chiffrement.

  • true : la valeur source est conservée.

  • false (par défaut) : la valeur source n'est pas conservée.

    Au lieu de cela, la valeur du champ est remplacée par ENCRYPT_ERROR.

Plugin d'encodage et de décodage des données

Les plugins processor_base64_encoding, processor_base64_decoding et processor_md5 encodent et décodent les valeurs des champs.

Limitations

  • Configuration basée sur un formulaire : disponible lors de la collecte de journaux textuels et de la sortie standard des conteneurs.

  • Configuration basée sur JSON : non prise en charge pour la collecte de journaux textuels.

Encodage Base64

Le plugin processor_base64_encoding encode en Base64 la valeur d'un champ.

Formulaire

Définissez Processor type sur BASE64 (Encoding). Le tableau suivant décrit les paramètres.

Paramètre

Description

Original Field

Le nom du champ source.

New Field

Le nom du champ résultant après l'encodage.

Report Original Field Missing Error

Sélectionnez cette option pour signaler une erreur si le champ source est introuvable dans le journal source.

JSON

Définissez type sur processor_base64_encoding. Le tableau suivant décrit les paramètres dans l'objet detail.

Paramètre

Type

Obligatoire

Description

SourceKey

String

Oui

Le nom du champ source.

NewKey

String

Oui

Le nom du champ résultant après l'encodage.

NoKeyError

Booléen

Non

Indique s'il faut signaler une erreur si le champ source est introuvable dans le journal source.

  • true : signale une erreur.

  • false (valeur par défaut) : ne signale pas d'erreur.

Décodage Base64

Le plugin processor_base64_decoding décode en Base64 la valeur d'un champ.

Formulaire

Définissez Processor type sur BASE64 (Decoding). Le tableau suivant décrit les paramètres.

Paramètre

Description

Original Field

Le nom du champ source.

New Field

Le nom du champ résultant après le décodage.

Report Original Field Missing Error

Sélectionnez cette option pour signaler une erreur si le champ source est introuvable dans le journal source.

Report Decoding Failure Error

Sélectionnez cette option pour signaler une erreur en cas d'échec du décodage.

JSON

Définissez type sur processor_base64_decoding. Le tableau suivant décrit les paramètres dans l'objet detail.

Paramètre

Type

Obligatoire

Description

SourceKey

String

Oui

Le nom du champ source.

NewKey

String

Oui

Le nom du champ résultant après le décodage.

NoKeyError

Booléen

Non

Indique s'il faut signaler une erreur si le champ source est introuvable dans le journal source.

  • true : signale une erreur.

  • false (valeur par défaut) : ne signale pas d'erreur.

DecodeError

Booléen

Non

Indique s'il faut signaler une erreur en cas d'échec du décodage.

  • true : signale une erreur.

  • false (valeur par défaut) : ne signale pas d'erreur.

Encodage MD5

Le plugin processor_md5 calcule le hachage MD5 de la valeur d'un champ.

Formulaire

Définissez Processor type sur MD5. Le tableau suivant décrit les paramètres.

Paramètre

Description

Original Field

Le nom du champ source.

New Field

Le nom du champ résultant après l'encodage.

Report Original Field Missing Error

Sélectionnez cette option pour signaler une erreur si le champ source est introuvable dans le journal source.

JSON

Définissez type sur processor_md5. Le tableau suivant décrit les paramètres dans l'objet detail.

Paramètre

Type

Obligatoire

Description

SourceKey

String

Oui

Le nom du champ source.

MD5Key

String

Oui

Le nom du champ résultant après l'encodage.

NoKeyError

Booléen

Non

Indique s'il faut signaler une erreur si le champ source est introuvable dans le journal source.

  • true : signale une erreur.

  • false (valeur par défaut) : ne signale pas d'erreur.

Références