Enterprise 6min de lectureMis à jour le 30 mai 2026

Guide d’intégration Splunk

Connectez Splunk à l’API WeTransfer Activity Events et transmettez les événements de votre espace de travail vers votre SIEM.

Ce dont vous aurez besoin

  • Un jeton Activity API — voir Generate an API token dans le guide principal du journal d’activité
  • Une instance Splunk Enterprise (Cloud ou auto‑hébergée), version 9.x ou ultérieure

Étape 1 — Installer le module complémentaire REST API Modular Input

L’intégration repose sur le module complémentaire REST API Modular Input de BaboonBones Ltd (Damien Dallimore), disponible sur Splunkbase.

  1. Dans l’interface web de Splunk, ouvrez Apps → Find More Apps
  2. Recherchez REST API Modular Input et installez‑le depuis Splunkbase
  3. Redémarrez Splunk lorsque vous y êtes invité

Étape 2 — Configurer une nouvelle entrée REST

Allez dans Settings → Data inputs → REST → New et remplissez le formulaire avec les valeurs ci‑dessous. Les noms des champs correspondent aux libellés affichés par le module complémentaire.

Champ

Valeur

URL du point de terminaisonhttps://wetransfer.com/api/external/v1/activity-events
Méthode HTTPGET
Type d’authentificationnone — le jeton Bearer est envoyé via un en‑tête personnalisé à la place
Propriétés des en‑têtes HTTPAuthorization=Bearer <YOUR_TOKEN>
Arguments d’URLsince=YYYY-MM-DDTHH:MM:SSZ — définissez ceci sur l’horodatage ISO 8601 à partir duquel vous souhaitez commencer. Tout ce qui est antérieur à 1 an est rejeté, car les événements ne sont conservés que pendant 1 an.
Type de réponsejson
Intervalle de sondage60 secondes (recommandé). L’API prend en charge jusqu’à 1 requête/s, mais 60 s suffisent pour une utilisation avec un SIEM.
Gestionnaire de réponseWTActivityEventHandler — nous l’ajouterons à l’étape 3.
SourcetypeDéfinissez sur Manual et saisissez wetransfer:activity
IndexChoisissez l’index dans lequel vous voulez que les événements soient écrits, ou laissez la valeur par défaut
Filled-in REST input form in Splunk

Étape 3 — Ajouter le gestionnaire de réponse personnalisé

Le point de terminaison WeTransfer renvoie un seul objet JSON contenant un tableau events[] et un next_cursor. Par défaut, le module complémentaire REST indexe toute la réponse comme un seul événement Splunk. Pour obtenir un événement Splunk par événement d’activité WeTransfer, ajoutez un petit gestionnaire de réponse personnalisé.

Éditez $SPLUNK_HOME/etc/apps/rest_ta/bin/responsehandlers.py et ajoutez :

class WTActivityEventHandler:
    """Splits the WeTransfer activity-events response (dict with events[]) into one Splunk event per WT event."""
    def __init__(self, **args):
        pass

    def __call__(self, response_object, raw_response_output, response_type, req_args, endpoint, oauth2=None):
        if response_type == "json":
            output = json.loads(raw_response_output)
            for entry in output.get("events", []):
                print_xml_stream(json.dumps(entry))
        else:
            print_xml_stream(raw_response_output)

Redémarrez Splunk après avoir modifié le fichier.

Étape 4 — Vérifier l’ingestion

Dans la barre de recherche Splunk, exécutez :

index=<your-index> sourcetype=wetransfer:activity | head 20

Vous devriez voir un événement Splunk par événement d’activité WeTransfer, avec les champs suivants visibles : event_id, event_type, actor_email, actor_id, ip_address, country_code, created_at, target.* et data.*.

Splunk event detail view showing WeTransfer activity event fields

Étape 5 — Remarques sur la pagination

  • Le module complémentaire REST ne suit pas automatiquement le next_cursor. Pour rétroremplir de larges plages historiques, exécutez un script ponctuel qui parcourt le next_cursor jusqu’à ce que has_more soit false, puis pointez le module complémentaire vers le présent.
  • Pour l’ingestion continue, un intervalle de sondage de 60 s suffit pour les espaces de travail typiques — les événements par minute tiennent généralement sur une seule page, donc le suivi du curseur n’est pas nécessaire. Pour les espaces de travail à volume élevé, consultez la remarque sur le rétroremplissage ci‑dessus.
  • Le point de terminaison renvoie au maximum 100 événements par réponse (par défaut 50).

Mettre en place des alertes

Une fois que les événements sont ingérés, vous pouvez créer des alertes à partir des données wetransfer:activity en utilisant les fonctionnalités intégrées de Splunk pour les recherches enregistrées et les alertes. La conception des détections dépend de l’espace de travail et des politiques ; consultez la documentation de Splunk pour les options d’alerte disponibles dans votre version.

Dépannage

La plupart des problèmes côté Splunk liés à cette intégration apparaissent dans $SPLUNK_HOME/var/log/splunk/restmodinput*.log — vérifiez d’abord ce fichier lorsque quelque chose semble anormal.

Symptôme

Ce qui se passe / solution

Chaque sondage est indexé comme un unique gros objet JSONLe gestionnaire de réponse personnalisé de l’étape 3 n’est pas appliqué. Vérifiez que le champ Response Handler dans la configuration de l’entrée REST est exactement WTActivityEventHandler, que la classe a bien été ajoutée à responsehandlers.py et que Splunk a été redémarré après la modification.
Les événements apparaissent mais aucun champ n’est extraitMême cause racine que ci‑dessus — le gestionnaire est responsable de la séparation de chaque événement WeTransfer en un document JSON distinct, que Splunk extrait automatiquement ensuite. Vérifiez le nom et le code du gestionnaire, puis redémarrez.
Événements en double à chaque cycle de sondageLe paramètre since dans URL Arguments est statique — le module complémentaire re‑récupère les mêmes événements à chaque sondage. Des doublons sont écrits dans l’index ; éliminez‑les au moment de la recherche avec | dedup event_id. Pour les éviter à l’ingestion, utilisez la substitution de réponse du module complémentaire pour avancer le curseur à chaque sondage (avancé).
Erreurs 401 dans restmodinput*.logLe jeton Bearer dans HTTP Header Properties est manquant, mal formé ou révoqué. Vérifiez la ligne Authorization=Bearer <token> et, si nécessaire, générez un nouveau jeton depuis le panneau d’administration WeTransfer.
Dépassements de délai ou connexion refusée vers wetransfer.comProblème de sortie réseau. Votre hôte Splunk ne peut pas atteindre wetransfer.com directement — probablement à cause d’un pare‑feu d’entreprise ou d’un proxy HTTP. Configurez le proxy sortant de Splunk dans les paramètres de l’entrée ou au niveau système, et vérifiez la connectivité avec un curl depuis l’hôte Splunk.
Cela vous a‑t‑il été utile?

Des questions?

Contactez votre responsable de compte pour toute question. Si vous n’êtes pas encore client Enterprise, cliquez sur le bouton pour envoyer une demande.