Skip to main content
Ce rapport est un cumul de la vulnérabilité par utilisateur sur 12 mois : une ligne par personne ayant reçu au moins une simulation au cours de la dernière année, avec les nombres et les taux de clics, d’identifiants saisis et de signalements, une séquence de clics en cours et une liste concaténée des 5 derniers résultats. La fenêtre couvre 12 mois civils (minuit UTC le même jour du mois, douze mois plus tôt), et non une durée de 365 jours.
Les interactions d’analyseurs automatisés ou de robots sont exclues des nombres de clics et d’identifiants saisis. Il s’agit d’un écart délibéré par rapport à l’exportation héritée. Consultez Écarts par rapport à l’exportation héritée.
La configuration, les identifiants, la pagination et la nouvelle tentative en cas de limite de débit sont identiques à ceux du guide de connectivité Power BI / Excel. Ajoutez d’abord la requête partagée Fn_FetchAll : ce rapport l’appelle par son nom.

Portées de clé requises

Ce rapport utilise la liste des résultats opérationnelle par personne, et non la famille d’aperçus de rapports. Une clé disposant uniquement de reporting:read ne peut pas appeler GET /v1/simulation_results (l’API renvoie 403). Consultez choisir la bonne granularité.

Points de terminaison sources

Filtres autorisés sur la liste des résultats : limit, page_token, simulation, entity. Cette liste ne comporte aucun delivered_after / start_date, de sorte que les 12 derniers mois sont appliqués dans Power Query après le parcours complet. Champs utilisés pour chaque résultat : id, simulation, entity, status, targeted_at, delivered_at, bounced_at, opened_at, clicked_at, attachment_opened_at, credential_submitted_at, reported_at, reported_before_interaction, bot_activity_detected, email_subject, sender_email, difficulty_level, created_at, updated_at.

Granularité

Une ligne par entité ayant au moins un résultat avec delivered_at au cours des 12 derniers mois civils. Une personne ciblée mais jamais jointe n’apparaît pas. Les simulations multiples pour une même personne sont regroupées ici. Budget de requêtes : un parcours paginé de tous les résultats de simulation de l’organisation, plus un parcours des entités. Définissez toujours limit = "500".

Priorité des résultats (last_5_assessments)

Chacun des cinq résultats livrés les plus récents (delivered_at décroissant) est résumé sous la forme YYYY-MM-DD: <outcome>. Le premier horodatage correspondant l’emporte, en commençant par la priorité la plus élevée : Livré seulement correspond à no action (le message est arrivé; la personne n’a rien fait). Une personne qui a cliqué puis signalé correspond à clicked : le signalement ne l’emporte pas sur une interaction à risque dans cette liste. Les lignes signalées comme robots reçoivent tout de même un libellé de résultat à partir des horodatages présents; elles n’incrémentent simplement pas les nombres de clics et d’identifiants saisis. Séquence de clics en cours : parcourez ces mêmes résultats livrés du plus récent au plus ancien et comptez les lignes consécutives où clicked_at n’est pas nul et où bot_activity_detected n’est pas true. Arrêtez-vous au premier échec.

Correspondance des colonnes

Les noms de colonnes hérités proviennent de l’exportation de votre fournisseur précédent. Les champs /v1 sont les noms de l’API publique; la requête en dérive les nombres et les taux. Clé de jointure conservée pour un modèle en étoile : entity_id.

Écarts par rapport à l’exportation héritée

  • L’activité des robots est exclue des nombres de clics et d’identifiants saisis. L’exportation d’un fournisseur précédent comptait les interactions d’analyseurs automatisés ou de robots comme des clics et des saisies d’identifiants. Cette requête ne le fait pas. Un résultat avec bot_activity_detected = true demeure une simulation livrée : il est compté dans total_received et dans les agrégats de signalements, mais il est traité comme un non-clic et une non-saisie : il est omis de clicks / credential_submissions et il interrompt une séquence de clics en cours. Ne « corrigez » pas cela en comptant les robots pour correspondre à l’exportation héritée.
  • Le signalement ne l’emporte pas sur un clic dans last_5_assessments. Une personne qui a cliqué puis signalé est libellée clicked.
  • Les champs supplémentaires de l’annuaire sont omis, non mis à null. Le service et les champs similaires ne figurent pas dans /v1.
  • Aucun filtre temporel côté serveur. GET /v1/simulation_results n’a pas de delivered_after. La requête parcourt tous les résultats, puis ne conserve que delivered_at des 12 derniers mois civils. Une grande organisation ayant un long historique peut consommer une plus grande part du budget de débit par clé qu’une liste filtrée.

Prochaines étapes

Configuration de Power BI et Excel

Identifiants, pagination et chargement de ces requêtes dans Power BI ou Excel.

Journal d'hameçonnage par courriel

Interactions d’hameçonnage au niveau des événements pour les 12 derniers mois.

Conformité par personne

Inscriptions à la formation à la granularité personne × affectation.

Clés d'API

Accordez simulation:read et entity:read à la clé qui actualise ce rapport.