Partager via


Suivi d’événements

Important

Depuis le 3 février 2025, Dynamics 365 Fraud Protection n’est plus disponible pour l’achat. La prise en charge de la protection contre les fraudes prendra fin le 3 février 2026. Pour plus d’informations, consultez l’article Fin de prise en charge de Dynamics 365 Fraud Protection.

Cet article explique comment utiliser le suivi des événements dans Microsoft Dynamics 365 Fraud Protection.

La fonctionnalité de suivi des événements dans Microsoft Dynamics 365 Fraud Protection vous permet d’établir une plateforme de télémétrie en temps réel extensible et opérationnelle en dehors du portail. Chaque événement est planifié ou déclenché par une action au niveau de l’utilisateur ou au niveau du système. Vous pouvez vous abonner aux événements qui vous intéressent et transférer les charges utiles des événements vers Azure Event Hubs ou le stockage Blob Azure. Vous pouvez également demander des événements à partir de plusieurs sessions de suivi d’événements en même temps. Le système remet ensuite les événements dans l’ordre chronologique.

Les événements peuvent être agrégés et utilisés pour définir des métriques que vous pouvez utiliser pour surveiller et gérer vos coûts de service et votre utilisation. Les événements peuvent également être utilisés pour développer des rapports personnalisés qui utilisent des données transactionnelles ou pour gérer les journaux système des actions effectuées dans le portail De protection contre les fraudes (par exemple, « liste modifiée par l’utilisateurB à la date C »). Lorsque vous utilisez les connecteurs Azure Event Hubs disponibles dans Microsoft Power Automate et Azure Logic Apps, vous pouvez également utiliser les données que vous envoyez à Azure Event Hubs pour les alertes ou les flux de travail hautement personnalisés. De même, avec stockage Blob Azure, vous pouvez créer un abonnement qui copie toutes les données historiques dans votre compte de stockage froid pour une analyse plus approfondie.

Si votre instance Fraud Protection a plusieurs environnements, vous pouvez trouver le suivi des événements pour chaque environnement à l’aide du sélecteur d’environnement. Si l’environnement possède des environnements enfants, le suivi des événements auquel on s'est abonné pour l’environnement parent prend automatiquement en compte les mêmes événements pour tous les environnements enfants.

Remarque

Les clients de suivi des événements doivent disposer d’un abonnement à d’autres services Azure tels que Event Hub ou Stockage Blob. Pour plus d’informations, contactez votre responsable de compte Microsoft. Si vous avez des informations d’identification d’administrateur général Azure, connectez-vous au portail Azure pour déterminer les abonnements disponibles.

Commencez

Pour commencer à utiliser la fonctionnalité de suivi d’événements, procédez comme suit.

  1. Dans le portail Protection contre les fraudes , sélectionnez Données, puis suivi des événements.

  2. Sélectionnez Nouvel abonnement.

  3. Entrez un nom d'affichage d'abonnement.

  4. Sélectionnez un emplacement de stockage :

    1. Pour Event Hubs : entrez la chaîne de connexion de l’instance Event Hubs dans Azure Key Vault. Azure Key Vault doit résider dans le même locataire que votre abonnement Fraud Protection. Accordez l'accès secret à l'application Fraud Protection au Key Vault Azure. Entrez l'URL de l'identifiant secret depuis votre coffre de clés Azure dans le portail Fraud Protection. Pour plus d’informations, consultez Comment obtenir une chaîne de connexion pour Event Hubs.
    2. Pour Stockage Blob : entrez la chaîne de connexion du compte Stockage Blob Azure dans Azure Key Vault. Azure Key Vault doit résider dans le même locataire que votre abonnement Fraud Protection. Accordez l'accès secret à l'application Fraud Protection au Key Vault Azure. Dans le portail Fraud Protection, entrez l’URL de l’identificateur secret de votre coffre de clés Azure et un nom de conteneur où résident vos données de suivi des événements. Pour plus d’informations, consultez Afficher les clés d’accès au compte.
  5. Sélectionnez Tester la connexion. Une fois la connexion testée, les informations relatives au compte extraites de la chaîne de connexion dans Azure Key Vault s’affichent. Pour Azure Event Hubs, ces informations en lecture seule incluent l’espace de noms Event Hub et le nom d’Event Hub. Pour stockage Blob Azure, le nom du compte de stockage s’affiche. Vérifiez que ces informations correspondent au compte de stockage que vous envisagez d’utiliser. Sans test de connexion réussi, le bouton Créer n’est pas activé.

  6. Sélectionnez un événement et passez en revue la description et l’exemple de charge utile JSON. Enregistrez ensuite l’abonnement en sélectionnant Créer. Les événements sont instantanément envoyés à votre instance Event Hubs à partir de ce point dans le temps. Si vous avez sélectionné Stockage Blob, le processus de copie pour écrire toutes les données historiques commence et tous les événements sont publiés sur votre conteneur toutes les 30 minutes.

  7. Revenez au portail Fraud Protection pour afficher le nombre d'événements par heure et vérifiez que les données sont envoyées vers Event Hubs et Stockage Blob. Les métriques Événements/Hr et Échecs/Hr indiquent une moyenne au cours des 24 dernières heures.

    Conseil / Astuce

    Pour une surveillance supplémentaire pour Event Hubs, accédez au portail Azure et configurez les métriques. Pour plus d’informations, consultez les métriques Azure Event Hubs dans Azure Monitor.

  8. Facultatif : configurez votre propre pipeline d’entrée à partir d’Event Hubs vers Power BI. Pour plus d’informations sur la façon de commencer à développer des rapports personnalisés, consultez Utiliser Power BI.

  9. Facultatif : Connectez-vous à Event Hubs à partir de Power Automate pour définir des flux de travail personnalisés. Pour plus d’informations, consultez Utiliser Logic Apps ou Power Automate.

Schémas d’événements

Cinq classifications prises en charge des événements sont actuellement disponibles dans le suivi des événements : événements transactionnels, événements de trace, événements d’évaluation, événements d’audit et événements de surveillance.

Événements transactionnels

Utilisez des événements transactionnels pour créer des cartes de performance personnalisées et des workflows automatisés à l’aide des données disponibles dans vos appels d’API d’évaluation et de non-assessment. À l’aide du stockage d’objets blob, vous pouvez également copier les données à partir d’appels d’API historiques pour créer un entrepôt de données pour votre entreprise. La charge utile de cet événement inclut l’intégralité de la demande et de la réponse pour chaque appel d’API.

Espace de noms : FraudProtection.Observe.<Nom de l'API> ou FraudProtection.Assessment.<Nom de l'API>
{
    "uniqueId": "unique event id and used to deduplicate events",
    "request": {
        //API request payload
    },
    "response": {
        //API response payload
    },
    "name": "FraudProtection.Observe.AccountLabel",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-09-25T03:46:53.3716978Z"
    }
}

Événements de trace

Vous utilisez des événements de suivi pour signaler et surveiller les performances de toutes les règles qui incluent le type de retour Trace(). La charge utile de cet événement inclut des champs standardisés tels que le nom de la règle qui a déclenché l’événement, le type d’événement qui correspond au type d’évaluation de cette règle, l’ID de corrélation, etc. Vous pouvez ensuite envoyer des attributs personnalisés à l’aide de paires clé :valeur dans le type de retour Trace() pour inclure des variables à partir de l’exemple de charge utile, du score de risque et des champs personnalisés. Pour plus d’informations sur l’utilisation de Trace() dans vos règles pour déclencher ces événements, consultez les fonctions d’observation dans le guide du langage Règles.

Espace de noms : FraudProtection.Trace.Rule.
{
    "name": "FraudProtection.Trace.Rule",
    "version": "1.0",
    "metadata":
{
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "timestamp": "2020-06-10T23:43:33.4526859Z" 
}
    "ruleName": "Risk Score Policy",
    "eventType": "Purchase",
    "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
    "eventId": "e75e703c-1e54-4d41-af4b-a4c1b8866f02",
    "attributes":
{
      "example": "ManualReview” //key:value pairs defined in the Trace() return type
} 

    }

Événements d’évaluation

Les événements d'évaluation et d'observation associés peuvent être tracés jusqu'aux hubs d'événements et aux blobs.

Espace de noms : FraudProtection.Assessments.
{
    "request": "",
    "response": "",
    "eventId": "uniqueId",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Espace de noms : FraudProtection.CaseManagement.Events.

Statut de décision de la gestion des cas et étiquettes prises à partir de la gestion des cas.

{
	"name": "FraudProtection.CaseManagement.Events",
	"version": "1.0",
	"metadata": {
		"tenantId": "<your tenantID>",
		"timestamp": "2020-09-25T03:46:53.3716978Z"
	},
	"assessmentId": "<your assessment uniqueId>",
	"assessmentName": "<your assessment name>",
	"caseId": "uniqueId of the case record",
	"queueId": "uniqueId of the queue the case was routed to",
	"queueName": "name of the queue the case was routed to",
	"eventType": "<your assessment uniqueId>",
	"eventId": "<your assessment transaction uniqueId>",
	"creationDate": "creation datetime",
	"reviewStartDate": "review start datetime",
	"reviewedDate": "reviewed datetime",
	"decision": "decision of the review agent",
	"reason": "decision reason",
	"reasonNote": "decision note",
	"agentId": "uniqueId of the review agent",
	"agentName": "name of the review agent",
	"status": "status of the decision",
	"fraudFlag": "fraud flag (label) of the decision"
}
Espace de noms : FraudProtection.Observations.
{
    "request": "",
    "primaryEventId": "<assessment event id>",
    "observationApiName": "<your observation api name>",
    "observationName": "<your observation name>",
    "observationEventId": "<your observation event id>",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Espace de noms : FraudProtection.Labels.
{
    "request": "",
    "labelEventId": "",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}

Événements d’audit

Utilisez des événements d’audit pour suivre les actions du portail et développer un journal d’audit. Les événements d’audit prennent actuellement en charge les opérations de nouvelle/modification/suppression sur les règles, les listes, les vitesses et les appels externes.

Espace de noms : FraudProtection.Audit.
"audit": {
    "entityId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "entityName": "Manual Review Rule",
    "entityType": "Rule",
    "operationName": "NewRule",
    "userId": "user@contoso.com"
},
"name": "FraudProtection.Audit",
"version": "1.0",
"metadata": {
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "timestamp": "2020-06-10T23:43:33.4526859Z"
}

Accès au journal d'audit

Il existe deux façons d’accéder aux journaux d’audit. Vous pouvez configurer le suivi des événements ou demander un journal d’audit généré automatiquement en créant un ticket de support client. Si vous décidez de ne pas utiliser le suivi des événements et que vous envoyez plutôt un ticket de support, le ticket de support est acheminé vers l’équipe d’ingénierie de la protection des fraudes. L'équipe extrait les fichiers journaux et vous les remet. Les journaux d’audit sont capturés et stockés dans la même zone géographique dans laquelle vous approvisionnez un environnement. Les journaux ne peuvent pas être modifiés après leur capture et la période de rétention du journal est de 365 jours. Les journaux antérieurs à 365 jours sont automatiquement supprimés.

Il existe cinq événements générés qui peuvent être suivis à l’aide des journaux d’audit. Ces événements sont les suivants :

  • Un utilisateur est affecté à un rôle De protection contre les fraudes pour la première fois.
  • Le rôle d’un utilisateur existant est mis à jour.
  • Toutes les attributions de rôles sont supprimées pour un utilisateur spécifique.
  • Un utilisateur accepte le consentement FCRA.
  • Un utilisateur met à jour les paramètres de l'amplificateur d'acceptation de transaction (TAB). Toute modification apportée à ces paramètres est considérée comme une mise à jour.

Événements des journaux d’activité

Utilisez les événements des journaux d'activité pour obtenir des enregistrements détaillés sur qui a fait quoi, quand et où pour certaines actions dans la Protection contre la fraude. Par exemple, vous pouvez voir qui a apporté la dernière modification à une règle. Les résultats correspondent aux résultats de la recherche des journaux d’activité .

Espace de noms : FraudProtection.ActivityLog.
{
"eventId": "0c6e1948-75a9-4513-bb4c-4828c9a8ab05",
"operationType": "Create",
"resourceType": "Decision rule",
"resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"resourceName": "Rule Test",
"userId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
}

Le « userID » est suivi d’opérations et de champs de type de ressource spécifiques.

Événements de supervision

Vous pouvez utiliser les événements de suivi pour la création de rapports et d'alertes personnalisées sur vos API et les performances des appels externes avec les rapports disponibles dans le portail de protection contre la fraude. Chacun des événements ci-dessous fournit un aperçu de la latence et des erreurs pour chaque service.

Espace de noms (namespace) : FraudProtection.Monitoring.RequestLatencyMsDistribution.

Pour les appels d’API, les nombres de requêtes et les distributions de latence (en ms) sont envoyés toutes les 20 secondes dans cet événement. Ces événements incluent les champs startTime et endTime qui déterminent la période d’agrégation et les noms de dimension et les valeurs qui peuvent être utilisés pour filtrer les métriques selon les besoins.


{
"Index": [
             1
],
"BucketSamples": [
             2
],
"NumberOfBuckets": 10000,
"BucketSize": 10,
"MinimumValue": 0,
"CounterName": "RequestLatencyMsDistribution",
"DimensionNames": [
   "EnvironmentId",
   "TenantId",
   "ApiName",
   "ExperienceType",
   "IsTestRequest",
   "RequestType",
   "HttpRequestStatus",
   "HttpStatusCode"
],
"DimensionValues": [
   "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "v1.0/Observe/Create",
   "N/A",
   "False",
   "REALTIME",
   "Success",
   "200"
],
"StartTime": "2020-06-22T23:43:20",
"EndTime": "2020-06-22T23:43:40",
"Samples": 2,
"Min": 3,
"Max": 7,
"name": "FraudProtection.Monitoring.RequestLatencyMsDistribution",
"version": "1.0",
"metadata": {
   "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "timestamp": "2020-06-22T23:43:20.0947542Z"
}
}

Le champ Exemples représente le nombre de demandes par API.

Espace de noms : FraudProtection.Monitoring.ExternalCalls

Cet événement inclut la latence (en ms) et le code d’état HTTP de chaque appel externe < vers le document d'appel externe > déclenché à partir d’une règle. Des dimensions supplémentaires pour la règle et la clause qui déclenchent l’appel sont également fournies.

Pour les appels externes, la latence (en ms) et les métriques de code d’état http sont envoyées avec chaque requête dans cet événement. Des dimensions supplémentaires pour la règle déclenchant l’appel sont également fournies pour améliorer l’expérience de résolution des problèmes si vous souhaitez examiner les performances d’un appel individuel.


{
    "name": "FraudProtection.Monitoring.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "Success",
    "httpStatusCode": 200,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause"
}

Espace de noms : FraudProtection.Errors.ExternalCalls

Cet événement journalise les erreurs pour chaque appel externe ayant échoué et peut être utile pour déboguer les problèmes que vous pouvez rencontrer avec vos performances d’appel externe. La requête et la réponse complètes pour l’appel sont journalisées, ainsi que la latence et la règle et la clause à partir de laquelle l’appel a été déclenché.


{
    "name": "FraudProtection.Errors.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "ResponseFailure",
    "httpStatusCode": 404,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause",
    "response": "{}",
    "requestUri": "https://samplewebsite/sample",
    "requestBody": "{}"
}