Sebességellenőrzések végrehajtása
A felhasználó vagy entitás eseményeinek gyakorisága (például hitelkártya) gyanús tevékenységre és lehetséges csalásra utalhat. Ha például a csalók megpróbálnak néhány egyedi megrendelést, gyakran egyetlen hitelkártyával gyorsan leadnak számos megrendelést egyetlen IP-címről vagy eszközről. Emellett számos különböző hitelkártyát is használhatnak a megrendelések gyors leadásához. A sebességellenőrzések segítenek azonosítani az ilyen típusú eseménymintákat. A velocitások meghatározásával megfigyelheti az ilyen típusú minták bejövő eseményeit, és szabályokat használhat olyan küszöbértékek meghatározására, amelyeken túl gyanúsként szeretné kezelni a mintákat.
Ha a Microsoft Dynamics 365 Fraud Protection-példány több környezettel is rendelkezik, a környezetváltóval meghatározhat egy adott környezetben beállított sebességet. A sebességre csak a megfelelő környezetben meghatározott szabályokban hivatkozhat. Ha a sebesség egy szülőkörnyezetben jön létre, és a szabály ugyanabban a környezetben van definiálva, a gyermekkörnyezetekben lévő tranzakciók a szülőszintű szabály futtatásakor a sebesség részét képezik.
Sebesség meghatározása
A sebességkészletek egyedi sebességcsoportokból állnak. A Dynamics 365 Fraud Protectionben a következő struktúrában található Standard kiadás LECT, FROM, WHEN és GROUPBY kulcsszavak használatával határozhatja meg a velocitásokat.
SELECT <aggregation method> AS <velocity name>
FROM <event type>
WHEN <condition>
GROUPBY <attribute name>
Feljegyzés
A tömbök nem használhatók a GROUPBY sebességdefinícióban való csoportosítására.
A Standard kiadás LECT után adjon meg egy összesítési módszert: Darabszám, DistinctCount vagy Sum. Ezután az AS kulcsszóval nevezze el a sebességet. Ezzel a névvel hivatkozhat a szabályok sebességére.
Íme az összesítési módszerek magyarázata.
Összesítési módszer Leírás Példa Count Ez a metódus az esemény bekövetkezésének hányszorosát adja vissza. Standard kiadás LECT Count() AS numPurchases DistinctCount Ez a metódus a megadott tulajdonság különböző értékeinek számát adja vissza. Ha a megadott tulajdonság null értékű vagy üres egy bejövő esemény esetében, az esemény nem járul hozzá az összesítéshez. Standard kiadás LECT DistinctCount(@"device.ipAddress") AS distinctIPaddresses Sum Ez a metódus egy adott numerikus tulajdonság értékeinek összegét adja vissza. Standard kiadás LECT Sum(@"totalAmount") AS totalSpending A FROM után adjon meg egy felmérési vagy megfigyelési eseményt a sebesség megfigyeléséhez. Az API-hívás részét kell képeznie a sebesség megfigyeléséhez vagy csoportosításához használt mezőnek. Az eseményközi sebesség megfigyeléséhez adjon meg több eseményt az értékelések vagy megfigyelési események között.
A WHEN utasítás megadása nem kötelező. A WHEN után beírhat egy logikai kifejezést. Az összesítés csak a feltételnek megfelelő eseményeket veszi figyelembe. A rendszer figyelmen kívül hagyja a többi eseményt. A kifejezés a sebességben figyelembe vett események szűrésére szolgál.
A GROUPBY után adjon meg egy tulajdonságot vagy kifejezést. A rendszer ezután kiértékeli a tulajdonságot vagy kifejezést minden feldolgozott esemény esetében. A GROUPBY utasításban azonos értékre kiértékelt események összesítése a Standard kiadás LECT utasításban megadott összesítés kiszámításához történik. Ha a GROUPBY kifejezés null értékű vagy üres egy bejövő esemény esetében, az esemény nem járul hozzá az összesítéshez.
Tipp.
A szabályban használható kifejezések sebességben is használhatók. Ezek a kifejezések listákat és külső hívásokat tartalmaznak. Az elérhető függvények teljes listájáért tekintse meg a nyelvi referencia-útmutatót.
Feljegyzés
Az időablak, amelyet meg szeretne figyelni a sebesség felett, nincs megadva magában a sebességdefinícióban. Ehelyett azt kell megadnia, amikor egy szabály sebességére hivatkozik.
Példák a földrajzi helyzetre
Az alábbi példák segítségével saját helyeket hozhat létre.
Az egyes felhasználók által elköltött pénz mennyisége
SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"
Az egyes IP-címek új fiók létrehozásához használt száma
SELECT Count() AS NewAccounts_perIP
FROM AccountCreation
GROUPBY @"device.ipAddress"
Az egyes eszközökhöz tartozó egyedi felhasználók száma, akik bejelentkeztek
SELECT DistinctCount(@"user.userId") AS uniqueUserLogins_perDevice
FROM AccountLogin
GROUPBY @"deviceAttributes.deviceId"
Minden felhasználó esetében a Csalás elleni védelem által elutasított vagy magas kockázati pontszámot kapott bejelentkezési kísérletek száma
SELECT Count() AS loginRejections_perUser
FROM AccountLogin
WHEN @"ruleEvaluation.decision" == "Reject" or @"riskScore" > 900
GROUPBY @"user.userId"
Minden felhasználó esetében az Egyesült Államokon kívül történt vásárlások száma, amely egy magas kockázatú listán szereplő terméket is tartalmazott
SELECT Count() AS intlHighRiskTxns_perUser
FROM Purchase
WHEN @"user.country" != "US" and ContainsKey("Risky Products", "Product ID", @"ProductList.productId")
GROUPBY @"user.userId
Minden felhasználó esetében az értékelési és megfigyelési események során használt egyedi egyéni e-mailek száma
SELECT DistinctCount(@"custom.email") AS uniqueEmails_perUser
FROM Assessment_A1, Assessment_A1:status
GROUPBY @"custom.userId"
Sebességkészlet létrehozása
A Csalás elleni védelem portál bal oldali navigációs sávján válassza a Velocities elemet, majd az Új sebességkészlet lehetőséget.
A Fraud Protection létrehoz egy vázlatsebesség-készletet, amely csak Ön (a létrehozó) számára látható. Vegye figyelembe, hogy a rendszer automatikusan menti a piszkozaton végrehajtott összes módosítást.
Nem kötelező: A Feltétel mezőben adjon meg egy logikai feltételt. Másik lehetőségként hagyja üresen a mezőt.
Az összesítés csak az ennek a feltételnek megfelelő eseményeket veszi figyelembe. A rendszer figyelmen kívül hagyja a többi eseményt. Ha például azt szeretné, hogy a sebességben megadott sebességek csak a Egyesült Államok előforduló eseményeket összesítse, adja meg a következő feltételt:
WHEN @"user.countryRegion" == "US"
Ha új sebességet szeretne definiálni az alapoktól, válassza az Új sebesség lehetőséget. A sebesség meghatározásával kapcsolatos további információkért lásd a cikk korábbi, Sebesség meghatározása szakaszát.
Ha egy meglévő sebességsablonból szeretne kiindulni, válassza az Új sebességtől jobbra lévő nyilat. A meglévő sablonok és azok tartalmának teljes listájának megtekintéséhez válassza az Összes megtekintése lehetőséget.
Egy készletben legfeljebb 10 virtuális elemet adhat hozzá.
A sebesség közzétételéhez válassza a Közzététel lehetőséget.
A megerősítést kérő párbeszédpanelen módosíthatja a sebesség nevét, leírását vagy állapotát. Ha elkészült, válassza a Közzététel lehetőséget.
A sebesség közzététele után a sebességhalmazban lévő sebességek minden felhasználó számára láthatók. Ahogy az események a Fraud Protectionen keresztül áramlanak, a helymeghatározások elkezdik összesíteni az adatokat.
Feljegyzés
A sebesség közzététele után megkezdi az adatok összesítését az adott pontról előre. Az előzményadatok nem tekinthetők meg.
További információ arról, hogyan használhatja a sebességeket a döntések meghozatalához, lásd a jelen cikk későbbi, Szabályokban szakaszában található Sebesség használata a szabályokban című szakaszt.
A Minta panel ismertetése
Sebességkészlet létrehozásakor vagy szerkesztésekor megjelenik a Minta panel a lap jobb oldalán.
A Minta panelen az összes olyan eseménytulajdonság látható, amely a helymeghatározásokban hivatkozható. Ezek a tulajdonságok a sebesség által megfigyelt esemény típusától függően változnak. Válassza ki az eseménytípust a panel tetején található Esemény mezőben.
A hasznos adatok mintaszakasza egy példát tartalmaz a kérelem API-ban elküldhető tulajdonságokra az értékeléshez.
A bővítési mintaszakasz azokat a tulajdonságokat tartalmazza, amelyeket a Fraud Protection a kezdeti kérés elküldése után hozzáad az eseményhez. Ezek a tulajdonságok közé tartoznak például a Fraud Protection eszköz ujjlenyomat-készítési megoldásának információi, valamint a gépi tanulási modellek kockázat- és roboteredményei.
A bővítési minta tartalmazza a szabályértékelésből származó információkat is, például a döntést, a szabály nevét és az aktivált záradék nevét. Ezen tulajdonságok bármelyikét használhatja a sebességében. Használjon at sign (@) rájuk mutató hivatkozást (például @"user.firstName").
Rendszer által definiált (alapértelmezett) helymeghatározások
A Csalásvédelem környezetenként több rendszer által definiált velocitást hoz létre. Előfordulhat például, hogy a következő alapértelmezett helymeghatározások vannak hozzáadva.
- Alapértelmezett – E-mail-beállítások
- Alapértelmezett – Fizetési eszköz helymeghatározó adatai
- Alapértelmezett – IP-címek
- Alapértelmezett – Eszközazonosító-beállítások
Egyes csalásvédelmi funkciók az alapértelmezett helymeghatározásokra támaszkodnak, például a keresési eredmények lapra a vásárlásvédelemhez.
A rendszer által definiált földrajzi helyeket nem szerkesztheti és nem törölheti. Azonban klónozhatja őket, majd szerkesztheti vagy törölheti a klónokat.
Sebességkészletek kezelése
Meglévő közzétett sebességkészlet szerkesztéséhez válassza ki a sebességet, majd válassza a Szerkesztés lehetőséget.
Létrejön egy vázlat a közzétett sebességről, és csak Ön számára látható. A rendszer automatikusan menti a piszkozaton végrehajtott összes módosítást.
Ha készen áll a módosítások éles környezetbe való leküldésére, válassza a Közzététel lehetőséget. A korábban közzétett sebességkészlet felülíródik a módosításokkal.
Feljegyzés
A sebességben végrehajtott módosítások csak az adott ponttól számított értékeket érintik. Ezek nem befolyásolják a korábbi eseményadatokat.
Meglévő sebességkészlet törléséhez jelölje ki a három pontot (...), majd válassza a Törlés lehetőséget.
Feljegyzés
Nem törölhet sebességkészletet, ha valamelyik sebességre hivatkozik egy közzétett szabály.
Egy sebességkészlet nevének vagy leírásának frissítéséhez jelölje ki a három pontot (...), majd válassza az Átnevezés lehetőséget.
A sebességkészlet állapotának módosításához válassza az Aktiválás vagy inaktiválás lehetőséget.
- Az aktívként megjelölt sebességhalmazban lévő sebességkészletek sebessége folyamatosan frissül, amint új események áramlanak a Fraud Protectionbe.
- Az inaktívként megjelölt sebességhalmazban lévő sebességkészletek sebességei soha nem frissülnek.
Sebesség használata szabályokban
Ahhoz, hogy a földrajzi helyekkel döntéseket hozhassanak a bejövő értékelési eseményekről, a szabályokban hivatkoznia kell rájuk. A következő sebesség például egy sebességkészlet részeként van definiálva.
SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000
A szabályban a sebesség-ellenőrzést az alábbi szintaxissal végezheti el.
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000
Az első paraméter a kulcs. Ez a paraméter a sebesség keresésére szolgál. A totalSpending előző sebességdefiníciójában a GROUPBY\@"user.userId"utasítás azt jelzi, hogy a rendszer az egyes felhasználói azonosítók értékeit összesíti. Amikor egy szabály sebességére hivatkozik, a kulcsparaméter megadja a felhasználó azonosítóját a sebességérték lekéréséhez. Ha a kulcsparaméter null értékű vagy üres, a Fraud Protection 0 értéket ad vissza.
A második paraméter a timeWindow. Ez a paraméter azt az időkeretet adja meg, amely felett meg szeretné figyelni a sebességet. Választhat egy időablakot egy másodperc és kilencven nap között. Jelenleg az alábbiak érvényesek az összes érvényes időablakra:
- [1–59]s
- [1–59]m
- [1–23]h
- [1–90]d
Feljegyzés
Az időablak az előző mértékegység elején kezdődik. Ha például az aktuális dátum és idő 2021. április 1-jén 11:04 óra, és kétórás (2 órás) időkereten keresztül ellenőrzi a sebességet, akkor az adatokat 9:00 óra óta fogja látni, nem pedig 9:04 óta.
Ha egy sebesség hiba miatt nem ad vissza értéket, a rendszer egy alapértelmezett 0 értéket ad vissza, és a szabály továbbra is fut.
A velocities a szabály kiértékelése után frissül az aktuális eseménysel. Ezért ha egy szabályban egy sebességre hivatkozik, az nem tartalmazza a jelenleg feldolgozott eseményt.
A függvényekből is meghívhatók a velocities parancsok. További információ: Functions.
Sebességértékek megtekintése szabályokkal
A döntések visszaadása mellett a szabályok olyan megfigyelési függvényeket is használhatnak, mint például a Output() bizonyos értékek nyomtatása az API-válaszba. Egy felhasználó például megírhatja a következő záradékot, amely nem hoz döntést, de egyszerűen több helyérték értékét adja ki az API-válaszban.
OBSERVE Output(
totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)
A szabályt aktiváló minden értékelési esemény ezután kinyomtatja a következő szakaszt az API-válaszban:
"MerchantRuleOutput": {
"clause1": {
"totalSpending_7d": "523.99",
"loginsPerDevice_1m": "1"
}
},
A sebességértékek közvetlenül az API-válaszba való nyomtatása helyett az eseménykövetés használatával elküldheti az értékeket az Azure Event Hubs vagy az Azure Blob Storage saját példányának. Például a következő szabályt hozza létre.
RETURN Approve(), Trace(
totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)
Ha feliratkozik a FraudProtection.Trace.Rule eseményre, a rendszer az alábbi adatokat küldi el az egyes események részeként.
"attributes": {
"totalSpending_7d": 523.99
"loginsPerDevice_1m": 1
}