Condividi tramite


Eseguire controlli di velocità

Importante

A partire dal 3 febbraio 2025, Dynamics 365 Fraud Protection non è più disponibile per l'acquisto. Il supporto per la protezione delle frodi terminerà il 3 febbraio 2026. Per altre informazioni, vedere l'articolo Fine del supporto per Dynamics 365 Fraud Protection.

La frequenza degli eventi di un utente o di un'entità (ad esempio una carta di credito) potrebbe indicare attività sospette e potenziali frodi. Ad esempio, dopo che i truffatori provano alcuni singoli ordini, spesso usano una singola carta di credito per effettuare rapidamente molti ordini da un singolo indirizzo IP o dispositivo. Possono anche usare molte carte di credito diverse per effettuare rapidamente molti ordini. I controlli di velocità consentono di identificare questi tipi di modelli di eventi. Definendo velocità, è possibile controllare gli eventi in ingresso per questi tipi di modelli e usare regole per definire soglie oltre le quali si vogliono considerare i modelli come sospetti.

Se l'istanza di Microsoft Dynamics 365 Fraud Protection include più ambienti, è possibile definire una velocità impostata in un ambiente specifico usando il commutatore di ambiente. È possibile fare riferimento alla velocità solo nelle regole definite nell'ambiente corrispondente. Se la velocità viene creata in un ambiente principale e la regola viene definita nello stesso ambiente, le transazioni negli ambienti figlio verranno incluse nella velocità quando viene eseguita la regola a livello principale.

Definire una velocità

I set di velocità sono costituiti da velocità individuali. Definisci le velocità in Dynamics 365 Fraud Protection utilizzando le parole chiave SELECT, FROM, WHENe GROUPBY nella struttura seguente.

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

Nota

Le matrici non possono essere usate per GROUPBY in una definizione di velocità.

  • Dopo SELECT, specificare un metodo di aggregazione: Count, DistinctCounto Sum. Usare quindi la parola chiave AS per denominare la velocità. Questo nome può quindi essere usato per fare riferimento alla velocità nelle regole.

    Ecco una spiegazione dei metodi di aggregazione.

    Metodo di aggregazione Descrizione Esempio
    Contare Questo metodo restituisce il numero di volte in cui si è verificato un evento. SELECT Count() AS numAcquisti
    DistinctCount Questo metodo restituisce il numero di valori distinti per la proprietà specificata. Se la proprietà specificata è nulla o vuota per un evento in ingresso, l'evento non contribuirà all'aggregazione. SELECT DistinctCount(@"device.ipAddress") AS distinctIPaddresses
    Somma Questo metodo restituisce la somma dei valori per una proprietà numerica specificata. SELECT Sum(@"totalAmount") AS totalSpending
  • Dopo da, specificare un evento di valutazione o osservazione su cui monitorare la velocità. Il campo per cui si desidera osservare la velocità o raggruppare deve essere parte della chiamata API. Per osservare una velocità tra vari eventi, specificare più eventi nelle valutazioni o eventi di osservazione.

  • L'istruzione WHEN è facoltativa. Dopo WHEN, è possibile digitare un'espressione booleana. Solo gli eventi che corrispondono alla condizione vengono considerati nell'aggregazione. Gli altri eventi vengono ignorati. L'espressione viene usata per filtrare gli eventi considerati nella velocità.

  • Dopo GROUPBY, specificare una proprietà o un'espressione. La proprietà o l'espressione viene quindi valutata per ogni evento elaborato. Tutti gli eventi valutati allo stesso valore nell'istruzione GROUPBY vengono combinati per calcolare l'aggregazione specificata nell'istruzione SELECT. Se l'espressione GROUPBY è nulla o vuota per un evento in ingresso, l'evento non contribuirà all'aggregazione.

Suggerimento

Qualsiasi espressione che può essere usata in una regola può essere usata anche in una velocità. Queste espressioni includono elenchi e chiamate esterne. Per un elenco completo delle funzioni disponibili, vedere nella guida di riferimento al linguaggio .

Nota

L'intervallo di tempo che si vuole osservare non è specificato nella definizione di velocità stessa. Al contrario, è necessario specificarlo quando si fa riferimento alla velocità da una regola.

Esempi di velocità

Usare gli esempi seguenti per creare velocità personalizzate.

Importo di denaro speso da ogni utente

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

Numero di volte in cui ogni indirizzo IP è stato usato per creare un nuovo account

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

Per ogni dispositivo, il numero di utenti univoci che hanno eseguito l'accesso.

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

Per ogni utente, il numero di tentativi di accesso rifiutati da Fraud Protection o ha ricevuto un punteggio di rischio elevato

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

Per ogni utente, il numero di acquisti effettuati all'esterno degli Stati Uniti e che conteneva anche un prodotto in un elenco ad alto rischio

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

Per ogni utente, il numero di messaggi di posta elettronica personalizzati univoci usati in un evento di valutazione e osservazione

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

Creare un set di velocità

  1. Nel portale Protezione dalle frodi, nel riquadro di spostamento a sinistra selezionare Velocitàe quindi selezionare Nuovo set di velocità.

    La protezione dalle frodi crea un insieme di velocità in bozza visibile solo a te (il creatore). Si noti che tutte le modifiche apportate alla bozza vengono salvate automaticamente.

  2. Facoltativo: nel campo condizione immettere una condizione booleana. In alternativa, lasciare vuoto il campo.

    Nell'aggregazione vengono considerati solo gli eventi che corrispondono a questa condizione. Gli altri eventi vengono ignorati. Ad esempio, se si desidera che le velocità nella velocità impostata aggregano solo gli eventi che si verificano negli Stati Uniti, definire la condizione seguente:

    WHEN @"user.countryRegion" == "US"

  3. Per definire una nuova velocità da zero, selezionare Nuova velocità. Per informazioni su come definire le velocità, vedere la sezione Definire una velocità più indietro in questo articolo.

    Per iniziare da un modello di velocità esistente, selezionare la freccia a destra di Nuova velocità. Per visualizzare un elenco completo dei modelli esistenti e il relativo contenuto, selezionare Visualizza tutti i.

    È possibile aggiungere fino a 10 velocità in un set.

  4. Per pubblicare la velocità, selezionare Pubblica.

  5. Nella finestra di dialogo di conferma è possibile modificare il nome, la descrizione o lo stato della velocità. Quando si è pronti, selezionare Pubblica.

Dopo la pubblicazione della velocità, le velocità nel set di velocità sono visibili a tutti gli utenti. Man mano che gli eventi passano attraverso la protezione dalle frodi, le velocità inizieranno ad aggregare i dati.

Nota

Dopo la pubblicazione di una velocità, inizia ad aggregare i dati da quel punto in avanti. I dati cronologici non vengono considerati.

Per informazioni su come usare le velocità per prendere decisioni, vedere la sezione Usare una velocità nelle regole più avanti in questo articolo.

Informazioni sul riquadro Esempio

Quando si crea o si modifica un insieme di velocità, il riquadro esempio viene visualizzato sul lato destro della pagina.

  • Il riquadro Sample mostra tutte le proprietà degli eventi a cui è possibile fare riferimento nelle velocità. Queste proprietà variano a seconda del tipo di evento osservato dalla velocità. Selezionare il tipo di evento nel campo Evento nella parte superiore del riquadro.

  • La sezione esempio di payload contiene un esempio delle proprietà che possono essere inviate nell'API di richiesta per la valutazione.

  • La sezione esempio di arricchimento contiene un esempio delle proprietà aggiunte da Fraud Protection all'evento dopo l'invio della richiesta iniziale. Queste proprietà, ad esempio, includono le informazioni del device fingerprinting soluzione di protezione dalle frodi e i punteggi dei bot e dei rischi dei modelli di Machine Learning.

    L'esempio di arricchimento include anche informazioni provenienti dalla valutazione delle regole, come l'esito, il nome della regola e il nome della clausola attivata. È possibile usare una qualsiasi di queste proprietà nella velocità. Usare un simbolo at (@) per farvi riferimento (ad esempio, @"user.firstName").

Velocità definite dal sistema (impostazione predefinita)

La protezione dalle frodi crea diverse velocità definite dal sistema per ogni ambiente. Ad esempio, è possibile aggiungere le velocità predefinite seguenti.

  • predefinita - Velocità di posta elettronica
  • Predefinita - Velocità dello strumento di pagamento
  • predefinita - Velocità IP
  • Predefinito - Velocità ID dispositivo

Alcune funzionalità di Protezione dalle frodi si basano sulle velocità predefinite, ad esempio i risultati della ricerca pagina per la protezione degli acquisti.

Non è possibile modificare o eliminare velocità definite dal sistema. Tuttavia, è possibile clonarli e quindi modificare o eliminare i cloni.

Gestire i set di velocità

  • Per modificare un set di velocità pubblicato esistente, selezionare la velocità e quindi selezionare Modifica.

    Viene creata una bozza della velocità pubblicata ed è visibile solo a te. Tutte le modifiche apportate alla bozza vengono salvate automaticamente.

    Quando si è pronti per eseguire il push delle modifiche nell'ambiente di produzione, selezionare Pubblica. Il set di velocità pubblicato in precedenza viene sovrascritto con le modifiche.

    Nota

    Tutte le modifiche apportate a una velocità influiscono solo sui valori calcolati da quel punto in avanti. Non influiscono sui dati degli eventi precedenti.

  • Per eliminare un set di velocità esistente, seleziona l'icona dei tre puntini (...), quindi seleziona Elimina.

    Nota

    Non è possibile eliminare un set di velocità se viene fatto riferimento a una delle velocità in una regola pubblicata.

  • Per aggiornare il nome o la descrizione di un set di velocità, selezionare i puntini di sospensione (...) e quindi selezionare Rinomina.

  • Per modificare lo stato del set di velocità, selezionare Attiva o Disattiva.

    • Le velocità di un set di velocità contrassegnato come Active vengono costantemente aggiornate man mano che i nuovi eventi passano nella protezione dalle frodi.
    • Le velocità in un set di velocità contrassegnato come inattivo non vengono mai aggiornate.

Usare una velocità nelle regole

Per usare le velocità per prendere decisioni sugli eventi di valutazione in ingresso, è necessario farvi riferimento nelle regole. Ad esempio, la velocità seguente viene definita come parte di un set di velocità.

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

Nella regola è possibile eseguire un controllo della velocità usando la sintassi seguente.

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

Il primo parametro è chiave. Questo parametro viene usato per cercare la velocità. Nella definizione della velocità precedente per totalSpending, l'istruzione @"user.userId"GROUPBY\ indica che i valori verranno aggregati per ogni ID utente rilevato. Quando si fa riferimento alla velocità da una regola, il parametro chiave specifica l'ID utente per cui recuperare il valore di velocità. Se il parametro della chiave è null o vuoto, La protezione dalle frodi restituisce 0.

Il secondo parametro è timeWindow. Questo parametro specifica l'intervallo di tempo che si desidera osservare la velocità. È possibile selezionare un intervallo di tempo compreso tra un secondo e nove giorni. Attualmente, sono disponibili tutte le finestre temporali valide:

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

Nota

L'intervallo di tempo inizia all'inizio dell'unità di misura precedente. Ad esempio, se la data e l'ora correnti sono le 11:04 del 1° aprile 2021 e si controlla la velocità in una finestra temporale di due ore (2h), verranno visualizzati i dati a partire dalle 9:00, non dalle 9:04.

Se una velocità non restituisce un valore a causa di un errore, viene restituito un valore predefinito di 0 e la regola continua a essere eseguita.

Le velocità vengono aggiornate con l'evento corrente dopo che la regola è stata valutata. Pertanto, se si fa riferimento a una velocità in una regola, non includerà l'evento corrente in fase di elaborazione.

Le velocità possono anche essere richiamate da Funzioni. Per altre informazioni, vedere Funzioni di .

Usare le regole per visualizzare i valori di velocità

Oltre a restituire decisioni, le regole possono usare funzioni di osservazione , ad esempio Output() per stampare determinati valori nella risposta api. Ad esempio, un utente potrebbe scrivere la clausola seguente, che non decide, ma restituirà semplicemente i valori di diverse velocità nella risposta dell'API.

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

Ogni evento di valutazione che attiva questa regola stamperà quindi la sezione seguente nella risposta dell'API:

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

Anziché stampare i valori di velocità direttamente nella risposta dell'API, è possibile usare tracciamento degli eventi per inviare i valori alla propria istanza di Azure Event Hubs o Azure Blob Storage. Ad esempio, si crea la regola seguente.

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

Se si sottoscrive l'evento FraudProtection.Trace.Rule, le informazioni seguenti verranno inviate come parte di ogni evento.

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

Risorse aggiuntive