Freigeben über


Durchführen von Geschwindigkeitsprüfungen

Von Bedeutung

Ab dem 3. Februar 2025 steht Dynamics 365 Fraud Protection nicht mehr zum Kauf zur Verfügung. Die Unterstützung für Betrugsschutz endet am 3. Februar 2026. Weitere Informationen finden Sie im Artikel Ende des Supports für Dynamics 365 Fraud Protection.

Die Häufigkeit von Ereignissen eines Benutzers oder einer Entität (z. B. einer Kreditkarte) kann auf verdächtige Aktivitäten und potenziellen Betrug hinweisen. Beispielsweise verwenden Betrüger nach dem Ausprobieren einiger einzelner Bestellungen häufig eine einzelne Kreditkarte, um viele Bestellungen von einer einzelnen IP-Adresse oder einem einzigen Gerät schnell zu platzieren. Sie können auch viele verschiedene Kreditkarten verwenden, um schnell viele Bestellungen zu tätigen. Geschwindigkeitskontrollen helfen Ihnen, diese Arten von Ereignismustern zu identifizieren. Indem Sie Geschwindigkeiten definieren, können Sie eingehende Ereignisse für diese Arten von Mustern überwachen und Regeln verwenden, um Schwellenwerte zu definieren, über die Sie die Muster als verdächtig behandeln möchten.

Wenn Ihre Instanz von Microsoft Dynamics 365 Fraud Protection über mehrere Umgebungen verfügt, können Sie mithilfe des Umgebungswechsels eine Geschwindigkeit definieren, die in einer bestimmten Umgebung festgelegt ist. Sie können nur auf die Geschwindigkeit in den Regeln verweisen, die in der entsprechenden Umgebung definiert sind. Wenn Velocity in einer übergeordneten Umgebung erstellt wird und die Regel in derselben Umgebung definiert ist, werden die Transaktionen in den untergeordneten Umgebungen Teil der Velocity, wenn die Regel auf Eltern-Ebene angewendet wird.

Definieren einer Geschwindigkeit

Geschwindigkeitssätze bestehen aus einzelnen Geschwindigkeiten. Sie definieren Geschwindigkeiten in Dynamics 365 Fraud Protection mithilfe der Schlüsselwörter SELECT, FROM, WHEN und GROUPBY in der folgenden Struktur.

SELECT <aggregation method> AS <velocity name>
FROM <event type>
WHEN <condition>
GROUPBY <attribute name>

Hinweis

Arrays können in einer Velocity-Definition nicht für GROUPBY verwendet werden.

  • Geben Sie nach SELECT eine Aggregationsmethode an: Count, DistinctCount oder Sum. Verwenden Sie dann das AS-Schlüsselwort , um die Geschwindigkeit zu benennen. Dieser Name kann dann verwendet werden, um auf die Geschwindigkeit in Regeln zu verweisen.

    Hier ist eine Erläuterung der Aggregationsmethoden.

    Aggregationsmethode BESCHREIBUNG Beispiel
    Anzahl Diese Methode gibt die Häufigkeit zurück, mit der ein Ereignis aufgetreten ist. SELECT Anzahl() AS anzahlKäufe
    DistinctCount Diese Methode gibt die Anzahl der unterschiedlichen Werte für die angegebene Eigenschaft zurück. Wenn die angegebene Eigenschaft null oder leer für ein eingehendes Ereignis ist, trägt das Ereignis nicht zur Aggregation bei. SELECT DistinctCount(@"device.ipAddress") ALS unterschiedlicheIPadressen
    Summe Diese Methode gibt die Summe der Werte für eine angegebene numerische Eigenschaft zurück. SELECT Sum(@"totalAmount") AS Gesamtausgaben
  • Geben Sie nach FROM ein Bewertungs- oder Beobachtungsereignis an, um die Geschwindigkeit zu beobachten. Das Feld, bei dem Sie entweder die Geschwindigkeit beobachten möchten oder nach dem Sie gruppieren möchten, muss Teil des API-Aufrufs sein. Um eine ereignisübergreifende Geschwindigkeit zu beobachten, spezifizieren Sie mehrere Ereignisse in Beurteilungen oder Beobachtungsereignissen.

  • Die WHEN-Anweisung ist optional. Nach WHEN können Sie einen booleschen Ausdruck eingeben. Nur Ereignisse, die der Bedingung entsprechen, werden in der Aggregation berücksichtigt. Andere Ereignisse werden ignoriert. Der Ausdruck wird verwendet, um die Ereignisse zu filtern, die in der Geschwindigkeit berücksichtigt werden.

  • Geben Sie nach GROUPBY eine Eigenschaft oder einen Ausdruck an. Die Eigenschaft oder der Ausdruck wird dann für jedes verarbeitete Ereignis ausgewertet. Alle Ereignisse, die mit demselben Wert in der GROUPBY-Anweisung ausgewertet werden, werden kombiniert, um die Aggregation zu berechnen, die in der SELECT-Anweisung angegeben ist. Wenn der GROUPBY-Ausdruck null oder leer für ein eingehendes Ereignis ist, trägt das Ereignis nicht zur Aggregation bei.

Tipp

Jeder Ausdruck, der in einer Regel verwendet werden kann, kann auch in einer Geschwindigkeit verwendet werden. Zu diesen Ausdrücken gehören Listen und externe Aufrufe. Eine vollständige Liste der verfügbaren Funktionen finden Sie im Sprachreferenzhandbuch.

Hinweis

Das Zeitfenster, das Sie beobachten möchten, ist in der Geschwindigkeitsdefinition selbst nicht angegeben. Stattdessen geben Sie sie an, wenn Sie auf die Geschwindigkeit aus einer Regel verweisen.

Beispiele für Geschwindigkeiten

Verwenden Sie die folgenden Beispiele, um Ihre eigenen Geschwindigkeiten zu erstellen.

Der Betrag, den jeder Benutzer ausgegeben hat

SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"

Die Häufigkeit, mit der jede IP-Adresse zum Erstellen eines neuen Kontos verwendet wurde

SELECT Count() AS NewAccounts_perIP
FROM AccountCreation
GROUPBY @"device.ipAddress"

Für jedes Gerät die Anzahl der eindeutigen Benutzer, die sich angemeldet haben

SELECT DistinctCount(@"user.userId") AS uniqueUserLogins_perDevice
FROM AccountLogin
GROUPBY @"deviceAttributes.deviceId"

Für jeden Benutzer wird die Anzahl der Anmeldeversuche erfasst, die von der Betrugsprävention abgelehnt wurden oder eine hohe Risikobewertung erhalten haben.

SELECT Count() AS loginRejections_perUser
FROM AccountLogin
WHEN @"ruleEvaluation.decision" == "Reject" or @"riskScore" > 900
GROUPBY @"user.userId"

Für jeden Benutzer, die Anzahl der Einkäufe, die außerhalb der USA getätigt wurden, und die auch ein Produkt in einer Liste mit hohem Risiko enthielten

SELECT Count() AS intlHighRiskTxns_perUser
FROM Purchase
WHEN @"user.country" != "US" and ContainsKey("Risky Products", "Product ID", @"ProductList.productId")
GROUPBY @"user.userId

Für jeden Benutzer die Anzahl eindeutiger benutzerdefinierter E-Mails, die für ein Bewertungs- und Beobachtungsereignis verwendet wurden

SELECT DistinctCount(@"custom.email") AS uniqueEmails_perUser
FROM Assessment_A1, Assessment_A1:status
GROUPBY @"custom.userId"

Erstellen eines Geschwindigkeitssatzes

  1. Wählen Sie im Portal "Betrugsschutz" in der linken Navigationsleiste "Geschwindigkeiten" und dann " Neue Geschwindigkeit" aus.

    Fraud Protection erstellt eine vorläufige Geschwindigkeitseinstellung, die nur für Sie (den Ersteller) sichtbar ist. Beachten Sie, dass alle Änderungen, die Sie am Entwurf vornehmen, automatisch gespeichert werden.

  2. Optional: Geben Sie im Feld "Bedingung " eine boolesche Bedingung ein. Lassen Sie alternativ das Feld leer.

    Nur Ereignisse, die dieser Bedingung entsprechen, werden in der Aggregation berücksichtigt. Andere Ereignisse werden ignoriert. Wenn beispielsweise die Geschwindigkeiten in der Geschwindigkeit so festgelegt werden sollen, dass nur Ereignisse aggregiert werden, die in den USA auftreten, definieren Sie die folgende Bedingung:

    WENN @"user.countryRegion" == "US"

  3. Um eine neue Geschwindigkeit von Grund auf neu zu definieren, wählen Sie "Neue Geschwindigkeit" aus. Informationen zum Definieren von Geschwindigkeiten finden Sie weiter oben in diesem Artikel im Abschnitt " Definieren einer Geschwindigkeit ".

    Um mit einer vorhandenen Geschwindigkeitsvorlage zu beginnen, wählen Sie den Pfeil rechts neben der Neuen Geschwindigkeit aus. Um eine vollständige Liste vorhandener Vorlagen und deren Inhalte anzuzeigen, wählen Sie "Alle anzeigen" aus.

    Sie können einem Satz bis zu 10 Geschwindigkeiten hinzufügen.

  4. Um die Geschwindigkeit zu veröffentlichen, wählen Sie "Veröffentlichen" aus.

  5. Im Bestätigungsdialogfeld können Sie den Namen, die Beschreibung oder den Status der Geschwindigkeit ändern. Wenn Sie fertig sind, wählen Sie "Veröffentlichen" aus.

Nachdem die Geschwindigkeit veröffentlicht wurde, sind die Geschwindigkeiten im Geschwindigkeitssatz für alle Benutzer sichtbar. Wenn Ereignisse durch Fraud Protection fließen, beginnen die Durchsatzraten mit der Aggregation von Daten.

Hinweis

Nachdem eine Geschwindigkeit veröffentlicht wurde, beginnt sie, Daten von diesem Punkt nach vorne zu aggregieren. Historische Daten werden nicht berücksichtigt.

Informationen dazu, wie Sie Ihre Geschwindigkeiten verwenden, um Entscheidungen zu treffen, finden Sie im Abschnitt "Verwenden einer Geschwindigkeit in Regeln " weiter unten in diesem Artikel.

Den Musterbereich verstehen

Wenn Sie einen Geschwindigkeitssatz erstellen oder bearbeiten, wird der Beispielbereich auf der rechten Seite der Seite angezeigt.

  • Im Beispielbereich werden alle Ereigniseigenschaften angezeigt, auf die in Ihren Geschwindigkeiten verwiesen werden kann. Diese Eigenschaften variieren je nach Ereignistyp, den Ihre Geschwindigkeit beobachtet. Wählen Sie den Ereignistyp im Feld "Ereignis " oben im Bereich aus.

  • Der Abschnitt "Nutzlastbeispiel " enthält ein Beispiel für die Eigenschaften, die in der Anforderungs-API für die Bewertung gesendet werden können.

  • Der Abschnitt "Anreicherungsbeispiel " enthält ein Beispiel für die Eigenschaften, die Betrugsschutz zu Ihrem Ereignis hinzufügt, nachdem die ursprüngliche Anforderung gesendet wurde. Zu diesen Eigenschaften gehören beispielsweise Informationen aus der Geräte-Fingerabdrucklösung von Betrugsschutz sowie Risiko- und Bot-Bewertungen aus den Machine Learning-Modellen.

    Das Anreicherungsbeispiel enthält auch Informationen aus der Regelauswertung, z. B. die Entscheidung, den Regelnamen und den Namen der ausgelösten Klausel. Sie können jede dieser Eigenschaften in Ihrer Geschwindigkeit verwenden. Verwenden Sie ein At-Zeichen (@), um darauf zu verweisen (z. B. @"user.firstName").

Systemdefinierte Geschwindigkeiten (Standardgeschwindigkeiten)

Betrugsschutz erstellt mehrere systemdefinierte Geschwindigkeiten pro Umgebung. Beispielsweise können die folgenden Standardgeschwindigkeiten hinzugefügt werden.

  • Standard – E-Mail-Geschwindigkeiten
  • Standardwert – Geschwindigkeiten von Zahlungsinstrumenten
  • Standard – IP-Geschwindigkeiten
  • Standard – Geräte-ID-Geschwindigkeiten

Einige Betrugsschutzfunktionen basieren auf den Standardgeschwindigkeiten, z. B. der Suchergebnisseite zum Kaufschutz.

Sie können systemdefinierte Geschwindigkeiten nicht bearbeiten oder löschen. Sie können sie jedoch klonen und dann die Klonen bearbeiten oder löschen.

Verwalten Sie Ihre Geschwindigkeitsbereiche

  • Um einen vorhandenen veröffentlichten Geschwindigkeitssatz zu bearbeiten, wählen Sie die Geschwindigkeit und dann "Bearbeiten" aus.

    Ein Entwurf Ihrer veröffentlichten Geschwindigkeit wird erstellt und ist nur für Sie sichtbar. Alle Änderungen, die Sie am Entwurf vornehmen, werden automatisch gespeichert.

    Wenn Sie bereit sind, Ihre Änderungen in die Produktion zu übertragen, wählen Sie "Veröffentlichen" aus. Der zuvor veröffentlichte Geschwindigkeitssatz wird mit Ihren Änderungen überschrieben.

    Hinweis

    Alle Änderungen, die Sie an einer Geschwindigkeit vornehmen, wirken sich nur auf die Werte aus, die von diesem Punkt nach vorne berechnet werden. Sie wirken sich nicht auf vorherige Ereignisdaten aus.

  • Um eine vorhandene Geschwindigkeitsgruppe zu löschen, wählen Sie die Auslassungspunkte (...) und dann Löschen.

    Hinweis

    Sie können ein Geschwindigkeitsset nicht löschen, wenn eine seiner Geschwindigkeiten in einer veröffentlichten Regel referenziert wird.

  • Um den Namen oder die Beschreibung eines Geschwindigkeitssatzes zu aktualisieren, wählen Sie die Auslassungspunkte (...) und dann Umbenennen aus.

  • Um den Status des Geschwindigkeitswerts zu ändern, wählen Sie Aktivieren oder Deaktivieren aus.

    • Die Geschwindigkeiten in einer Geschwindigkeitsgruppe, die als aktiv gekennzeichnet ist, werden kontinuierlich aktualisiert, wenn neue Ereignisse zusätzlich in Fraud Protection einfließen.
    • Die Geschwindigkeiten in einem Geschwindigkeitssatz, der als "Inaktiv" gekennzeichnet ist, werden nie aktualisiert.

Verwenden Sie eine Geschwindigkeit in Regeln

Um Ihre Geschwindigkeiten zu verwenden, um Entscheidungen über eingehende Bewertungsereignisse zu treffen, müssen Sie in Ihren Regeln darauf verweisen. Beispielsweise wird die folgende Geschwindigkeit als Teil eines Geschwindigkeitssatzes definiert.

SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase 
GROUPBY @"user.userId"
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000

In Ihrer Regel können Sie mithilfe der folgenden Syntax eine Geschwindigkeitsprüfung durchführen.

WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000

Der erste Parameter ist der Schlüssel. Dieser Parameter wird verwendet, um die Geschwindigkeit nachzuschlagen. In der vorherigen Geschwindigkeitsdefinition für totalSpending gibt die GROUPBY\ @"user.userId" -Anweisung an, dass Werte für jede aufgetretene Benutzer-ID aggregiert werden. Wenn Sie auf die Geschwindigkeit aus einer Regel verweisen, gibt der Schlüsselparameter die Benutzer-ID an, für die der Geschwindigkeitswert abgerufen werden soll. Wenn der Schlüsselparameter null oder leer ist, gibt Betrugsschutz 0 zurück.

Der zweite Parameter ist timeWindow. Dieser Parameter gibt das Zeitfenster an, über das Sie die Geschwindigkeit beobachten möchten. Sie können ein Zeitfenster zwischen einer Sekunde und neunzig Tagen auswählen. Derzeit sind alle gültigen Zeitfenster aufgeführt:

  • [1–59]s
  • [1–59]m
  • [1–23]h
  • [1–90]d

Hinweis

Das Zeitfenster beginnt am Anfang der vorherigen Maßeinheit. Wenn beispielsweise das aktuelle Datum und die aktuelle Uhrzeit am 1. April 2021 um 11:04 Uhr liegen und Sie eine Geschwindigkeit über ein Zwei-Stunden-Zeitfenster (2h) überprüfen, werden die Daten seit 9:00 Uhr angezeigt, nicht seit 9:04 Uhr.

Wenn eine Geschwindigkeit aufgrund eines Fehlers einen Wert nicht zurückgeben kann, wird ein Standardwert von 0 zurückgegeben, und Die Regel wird weiterhin ausgeführt.

Geschwindigkeiten werden nach der Regelauswertung mit dem aktuellen Ereignis aktualisiert. Wenn Sie daher auf eine Geschwindigkeit in einer Regel verweisen, würde es nicht das aktuelle Ereignis enthalten, das verarbeitet wird.

Geschwindigkeiten können auch über Funktionen aufgerufen werden. Weitere Informationen finden Sie unter Funktionen.

Verwenden von Regeln zum Anzeigen von Geschwindigkeitswerten

Neben der Rückgabe von Entscheidungen können Regeln Beobachtungsfunktionen wie Output() verwenden, um bestimmte Werte in die API-Antwort zu drucken. Beispielsweise könnte ein Benutzer die folgende Klausel schreiben, die keine Entscheidung macht, sondern einfach die Werte mehrerer Geschwindigkeiten in der API-Antwort ausgibt.

OBSERVE Output(
    totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
    loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)

Jedes Bewertungsereignis, das diese Regel auslöst, druckt dann den folgenden Abschnitt in der API-Antwort:

"MerchantRuleOutput": {
    "clause1": {
        "totalSpending_7d": "523.99",
        "loginsPerDevice_1m": "1"
    }
},

Anstatt die Geschwindigkeitswerte direkt in die API-Antwort zu drucken, können Sie die Ereignisablaufverfolgung verwenden, um die Werte an Ihre eigene Instanz von Azure Event Hubs oder Azure Blob Storage zu senden. Beispielsweise erstellen Sie die folgende Regel.

RETURN Approve(), Trace(
    totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
    loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)

Wenn Sie das FraudProtection.Trace.Rule-Ereignis abonnieren, werden die folgenden Informationen dann als Teil jedes Ereignisses gesendet.

"attributes": {
    "totalSpending_7d": 523.99
    "loginsPerDevice_1m": 1
}

Weitere Ressourcen