Przeprowadzanie kontroli prędkości
Częstotliwość zdarzeń od użytkownika lub jednostki (na przykład karty kredytowej) może wskazywać na podejrzane działania i potencjalne oszustwa. Na przykład po wypróbowaniu kilku indywidualnych zamówień przez oszustów często używają jednej karty kredytowej, aby szybko złożyć wiele zamówień z jednego adresu IP lub urządzenia. Mogą również używać wielu różnych kart kredytowych, aby szybko złożyć wiele zamówień. Kontrole prędkości pomagają zidentyfikować tego typu wzorce zdarzeń. Definiując wielkość przydziału, można obserwować zdarzenia przychodzące dla tych typów wzorców i używać reguł do definiowania progów, poza którymi chcesz traktować wzorce jako podejrzane.
Jeśli twoje wystąpienie usługi Microsoft Dynamics 365 Fraud Protection ma wiele środowisk, możesz zdefiniować szybkość ustawioną w określonym środowisku przy użyciu przełącznika środowiska. Szybkość można odwoływać się tylko w regułach zdefiniowanych w odpowiednim środowisku. Jeśli szybkość jest tworzona w środowisku nadrzędnym, a reguła jest zdefiniowana w tym samym środowisku, transakcje w środowiskach podrzędnych będą uwzględniane w szybkości uruchamiania reguły na poziomie nadrzędnym.
Definiowanie prędkości
Zestawy prędkości składają się z pojedynczych prędkości. W usłudze Dynamics 365 Fraud Protection można zdefiniować przydziały przy użyciu słów kluczowych SELECT, FROM, WHEN i GROUPBY w poniższej strukturze.
SELECT <aggregation method> AS <velocity name>
FROM <event type>
WHEN <condition>
GROUPBY <attribute name>
Uwaga
Tablice nie mogą być używane do grupowania według definicji prędkości.
Po wybraniu pozycji SELECT określ metodę agregacji: Count, DistinctCount lub Sum. Następnie użyj słowa kluczowego AS , aby nazwać szybkość. Ta nazwa może być następnie używana do odwoływania się do szybkości w regułach.
Oto wyjaśnienie metod agregacji.
Metoda agregacji opis Przykład Count Ta metoda zwraca liczbę przypadków wystąpienia zdarzenia. SELECT Count() AS numPurchases Distinctcount Ta metoda zwraca liczbę unikatowych wartości dla określonej właściwości. Jeśli określona właściwość ma wartość null lub jest pusta dla zdarzenia przychodzącego, zdarzenie nie będzie współtworzyć agregacji. SELECT DistinctCount(@"device.ipAddress") AS distinctIPaddresses Sum Ta metoda zwraca sumę wartości dla określonej właściwości liczbowej. SELECT Sum(@"totalAmount") AS totalSpending Po opcji FROM określ zdarzenie oceny lub obserwacji, aby obserwować prędkość. To pole, dla którego chcesz obserwować szybkość lub grupowanie według, musi być częścią wywołania interfejsu API. Aby obserwować szybkość między zdarzeniami, określ wiele zdarzeń w ocenach lub zdarzeniach obserwacji.
Instrukcja WHEN jest opcjonalna. Po funkcji WHEN można wpisać wyrażenie logiczne. W agregacji są uwzględniane tylko zdarzenia zgodne z warunkiem. Inne zdarzenia są ignorowane. Wyrażenie służy do filtrowania zdarzeń, które są uwzględniane w szybkości.
Po kolumnie GROUPBY określ właściwość lub wyrażenie. Właściwość lub wyrażenie jest następnie oceniane dla każdego przetworzonego zdarzenia. Wszystkie zdarzenia, które są oceniane na tę samą wartość w instrukcji GROUPBY , są łączone w celu obliczenia agregacji określonej w instrukcji SELECT . Jeśli wyrażenie GROUPBY ma wartość null lub jest puste dla zdarzenia przychodzącego, zdarzenie nie będzie współtworzyć agregacji.
Napiwek
Dowolne wyrażenie, które można użyć w regule, może być również używane w szybkości. Te wyrażenia obejmują listy i wywołania zewnętrzne. Aby uzyskać pełną listę dostępnych funkcji, zobacz przewodnik po języku.
Uwaga
Przedział czasu, który chcesz obserwować szybkość, nie jest określony w samej definicji prędkości. Zamiast tego należy określić ją podczas odwoływania się do prędkości z reguły.
Przykłady liczby we/wy
Skorzystaj z poniższych przykładów, aby utworzyć własne przydziały.
Kwota pieniędzy wydana przez każdego użytkownika
SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"
Liczba przypadków użycia każdego adresu IP do utworzenia nowego konta
SELECT Count() AS NewAccounts_perIP
FROM AccountCreation
GROUPBY @"device.ipAddress"
Dla każdego urządzenia liczba unikatowych użytkowników, którzy się zalogowali
SELECT DistinctCount(@"user.userId") AS uniqueUserLogins_perDevice
FROM AccountLogin
GROUPBY @"deviceAttributes.deviceId"
Dla każdego użytkownika liczba prób logowania, które zostały odrzucone przez usługę Fraud Protection lub otrzymały ocenę wysokiego ryzyka
SELECT Count() AS loginRejections_perUser
FROM AccountLogin
WHEN @"ruleEvaluation.decision" == "Reject" or @"riskScore" > 900
GROUPBY @"user.userId"
Dla każdego użytkownika liczba zakupów wykonanych poza USA, które również zawierały produkt na liście wysokiego ryzyka
SELECT Count() AS intlHighRiskTxns_perUser
FROM Purchase
WHEN @"user.country" != "US" and ContainsKey("Risky Products", "Product ID", @"ProductList.productId")
GROUPBY @"user.userId
Dla każdego użytkownika liczba unikatowych niestandardowych wiadomości e-mail używanych w ramach zdarzenia oceny i obserwacji
SELECT DistinctCount(@"custom.email") AS uniqueEmails_perUser
FROM Assessment_A1, Assessment_A1:status
GROUPBY @"custom.userId"
Tworzenie zestawu prędkości
W portalu ochrony przed oszustwami w obszarze nawigacji po lewej stronie wybierz pozycję Velocities, a następnie wybierz pozycję Nowy zestaw prędkości.
Usługa Fraud Protection tworzy zestaw prędkości roboczych, który jest widoczny tylko dla Ciebie (twórca). Należy pamiętać, że wszystkie zmiany wprowadzone w wersji roboczej są automatycznie zapisywane.
Opcjonalnie: w polu Warunek wprowadź warunek logiczny. Alternatywnie pozostaw pole puste.
W agregacji są uwzględniane tylko zdarzenia zgodne z tym warunkiem. Inne zdarzenia są ignorowane. Jeśli na przykład chcesz, aby szybkość była ustawiona na agregację tylko zdarzeń występujących w Stany Zjednoczone, zdefiniuj następujący warunek:
WHEN @"user.countryRegion" == "US"
Aby zdefiniować nową prędkość od podstaw, wybierz pozycję Nowa prędkość. Aby uzyskać informacje o sposobie definiowania prędkości, zobacz sekcję Definiowanie prędkości we wcześniejszej części tego artykułu.
Aby rozpocząć od istniejącego szablonu prędkości, wybierz strzałkę z prawej strony pozycji Nowa prędkość. Aby wyświetlić pełną listę istniejących szablonów i ich zawartości, wybierz pozycję Zobacz wszystko.
W zestawie można dodać maksymalnie 10 przydziałów.
Aby opublikować szybkość, wybierz pozycję Publikuj.
W oknie dialogowym potwierdzenia można zmienić nazwę, opis lub stan prędkości. Gdy wszystko będzie gotowe, wybierz pozycję Publikuj.
Po opublikowaniu prędkości szybkość jest widoczna dla wszystkich użytkowników. W miarę jak zdarzenia przepływają przez ochronę przed oszustwami, alokacje zaczną agregować dane.
Uwaga
Po opublikowaniu prędkości zaczyna agregować dane od tego momentu. Dane historyczne nie są brane pod uwagę.
Aby uzyskać informacje o sposobie podejmowania decyzji przy użyciu przydziałów, zobacz sekcję Używanie prędkości w regułach w dalszej części tego artykułu.
Omówienie okienka Przykład
Podczas tworzenia lub edytowania zestawu prędkości okienko Przykład jest wyświetlane po prawej stronie.
W okienku Przykład są wyświetlane wszystkie właściwości zdarzenia, do których można odwoływać się we właściwościach. Te właściwości różnią się w zależności od typu zdarzenia obserwowanego przez szybkość. Wybierz typ zdarzenia w polu Zdarzenie w górnej części okienka.
Sekcja przykładowa ładunek zawiera przykład właściwości, które można wysłać w interfejsie API żądania na potrzeby oceny.
Sekcja przykładowa wzbogacania zawiera przykład właściwości, które usługa Fraud Protection dodaje do zdarzenia po wysłaniu początkowego żądania. Na przykład te właściwości obejmują informacje z rozwiązania do odcisku palca urządzenia usługi Fraud Protection oraz oceny ryzyka i bota z modeli uczenia maszynowego.
Przykład wzbogacania zawiera również informacje z oceny reguły, takie jak decyzja, nazwa reguły i nazwa klauzuli, która została wyzwolona. Możesz użyć dowolnej z tych właściwości w swojej szybkości. Użyj znaku at (@), aby odwoływać się do nich (na przykład @"user.firstName").
Alokacje zdefiniowane przez system (domyślne)
Ochrona przed oszustwami tworzy kilka przydziałów zdefiniowanych przez system na środowisko. Można na przykład dodać następujące domyślne jednostki.
- Ustawienie domyślne — przydziały wiadomości e-mail
- Ustawienie domyślne — przydziały instrumentu płatniczego
- Ustawienie domyślne — przydziały adresów IP
- Ustawienie domyślne — przydziały identyfikatora urządzenia
Niektóre funkcje ochrony przed oszustwami opierają się na domyślnych możliwościach, takich jak strona Wyniki wyszukiwania na potrzeby ochrony zakupu.
Nie można edytować ani usuwać przydziałów zdefiniowanych przez system. Można je jednak sklonować, a następnie edytować lub usuwać klony.
Zarządzanie zestawami prędkości
Aby edytować istniejący opublikowany zestaw prędkości, wybierz szybkość, a następnie wybierz pozycję Edytuj.
Tworzona jest wersja robocza opublikowanej prędkości i jest widoczna tylko dla Ciebie. Wszystkie zmiany wprowadzone w wersji roboczej są automatycznie zapisywane.
Gdy wszystko będzie gotowe do wypchnięcia zmian do środowiska produkcyjnego, wybierz pozycję Publikuj. Wcześniej opublikowany zestaw prędkości jest zastępowany zmianami.
Uwaga
Wszelkie zmiany wprowadzone do prędkości mają wpływ tylko na wartości obliczane od tego momentu. Nie mają one wpływu na poprzednie dane zdarzenia.
Aby usunąć istniejący zestaw prędkości, wybierz wielokropek (...), a następnie wybierz pozycję Usuń.
Uwaga
Nie można usunąć zestawu prędkości, jeśli w opublikowanej regule odwołuje się którakolwiek z jego wartości.
Aby zaktualizować nazwę lub opis zestawu prędkości, wybierz wielokropek (...), a następnie wybierz pozycję Zmień nazwę.
Aby zmienić stan zestawu prędkości, wybierz pozycję Aktywuj lub Dezaktywuj.
- Alokacje w zestawie prędkości, który jest oznaczony jako Aktywny, są stale aktualizowane, gdy nowe zdarzenia przepływają do ochrony przed oszustwami.
- Przydziały w zestawie prędkości oznaczonym jako Nieaktywne nigdy nie są aktualizowane.
Używanie prędkości w regułach
Aby użyć możliwości podejmowania decyzji dotyczących przychodzących zdarzeń oceny, należy odwołać się do nich w regułach. Na przykład następująca prędkość jest definiowana jako część zestawu prędkości.
SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000
W regule możesz sprawdzić szybkość, korzystając z następującej składni.
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000
Pierwszy parametr jest kluczem. Ten parametr służy do wyszukiwania szybkości. W poprzedniej definicji prędkości dla totalSpending instrukcja GROUPBY\@"user.userId"wskazuje, że wartości zostaną zagregowane dla każdego napotkanego identyfikatora użytkownika. Podczas odwoływania się do prędkości z reguły parametr klucza określa identyfikator użytkownika, aby pobrać wartość prędkości dla. Jeśli parametr klucza ma wartość null lub jest pusty, funkcja Fraud Protection zwraca wartość 0.
Drugi parametr to timeWindow. Ten parametr określa przedział czasu, który ma obserwować szybkość. Możesz wybrać przedział czasu między jedną sekundą a dziewięcioma dniami. Obecnie wszystkie prawidłowe okna czasowe są następujące:
- [1–59]s
- [1–59]m
- [1–23]h
- [1–90]d
Uwaga
Przedział czasu rozpoczyna się na początku poprzedniej lekcji miary. Jeśli na przykład bieżąca data i godzina to 11:04 w dniu 1 kwietnia 2021 r. i sprawdzisz szybkość w ciągu dwóch godzin (2h), zobaczysz dane od godziny 9:00, a nie od godziny 9:04.
Jeśli szybkość nie zwróci wartości z powodu błędu, zostanie zwrócona wartość domyślna 0 , a reguła będzie nadal działać.
Przydziały są aktualizowane przy użyciu bieżącego zdarzenia po ocenie reguły. W związku z tym w przypadku odwoływania się do prędkości w regule nie będzie uwzględniać przetwarzanego bieżącego zdarzenia.
Można również wywołać jednostki we fragmentach z usługi Functions. Aby uzyskać więcej informacji, zobacz Funkcje.
Wyświetlanie wartości prędkości za pomocą reguł
Oprócz zwracania decyzji reguły mogą używać funkcji obserwacji, takich jak Output(), aby wydrukować określone wartości w odpowiedzi interfejsu API. Na przykład użytkownik może napisać następującą klauzulę, która nie podejmuje decyzji, ale po prostu wyprowadź wartości kilku przydziałów w odpowiedzi interfejsu API.
OBSERVE Output(
totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)
Każde zdarzenie oceny wyzwalające tę regułę spowoduje wyświetlenie następującej sekcji w odpowiedzi interfejsu API:
"MerchantRuleOutput": {
"clause1": {
"totalSpending_7d": "523.99",
"loginsPerDevice_1m": "1"
}
},
Zamiast drukować wartości prędkości bezpośrednio do odpowiedzi interfejsu API, możesz użyć śledzenia zdarzeń, aby wysłać wartości do własnego wystąpienia usługi Azure Event Hubs lub usługi Azure Blob Storage. Możesz na przykład utworzyć następującą regułę.
RETURN Approve(), Trace(
totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)
Jeśli subskrybujesz zdarzenie FraudProtection.Trace.Rule, następujące informacje zostaną wysłane w ramach każdego zdarzenia.
"attributes": {
"totalSpending_7d": 523.99
"loginsPerDevice_1m": 1
}