Realizar verificações de velocidade
A frequência de eventos de um utilizador ou entidade (como um cartão de crédito) pode indicar atividade suspeita e potencial fraude. Por exemplo, depois que os fraudadores tentam alguns pedidos individuais, eles geralmente usam um único cartão de crédito para fazer rapidamente muitos pedidos de um único endereço IP ou dispositivo. Eles também podem usar muitos cartões de crédito diferentes para fazer rapidamente muitos pedidos. As verificações de velocidade ajudam a identificar esses tipos de padrões de eventos. Ao definir velocidades, você pode observar eventos de entrada para esses tipos de padrões e usar regras para definir limites além dos quais você deseja tratar os padrões como suspeitos.
Se sua instância da Proteção contra Fraude do Microsoft Dynamics 365 tiver vários ambientes, você poderá definir uma velocidade definida em um ambiente específico usando o alternador de ambiente. Você pode fazer referência à velocidade somente nas regras definidas no ambiente correspondente. Se a velocidade for criada em um ambiente pai e a regra for definida no mesmo ambiente, as transações nos ambientes filho serão incluídas na velocidade quando a regra de nível pai for executada.
Definir uma velocidade
Os conjuntos de velocidades são constituídos por velocidades individuais. Você define velocidades na Proteção contra Fraude do Dynamics 365 usando as palavras-chave SELECT, FROM, WHEN e GROUPBY na estrutura a seguir.
SELECT <aggregation method> AS <velocity name>
FROM <event type>
WHEN <condition>
GROUPBY <attribute name>
Nota
As matrizes não podem ser usadas para GROUPBY em uma definição de velocidade.
Após SELECT, especifique um método de agregação: Count, DistinctCount ou Sum. Em seguida, use a palavra-chave AS para nomear a velocidade. Esse nome pode ser usado para fazer referência à velocidade nas regras.
Aqui está uma explicação dos métodos de agregação.
Método de agregação Description Exemplo Count Esse método retorna o número de vezes que um evento ocorreu. SELECT Count() AS numPurchases DistinctCount Esse método retorna o número de valores distintos para a propriedade especificada. Se a propriedade especificada for nula ou vazia para um evento de entrada, o evento não contribuirá para a agregação. SELECT DistinctCount(@"device.ipAddress") AS distinctIPaddresses Soma Esse método retorna a soma de valores para uma propriedade numérica especificada. SELECT Sum(@"totalAmount") AS totalSpending Após FROM, especifique um evento de avaliação ou observação para observar a velocidade. O campo para o qual você deseja observar a velocidade ou agrupar por, deve fazer parte da chamada da API. Para observar uma velocidade entre eventos, especifique vários eventos em avaliações ou eventos de observação.
A instrução WHEN é opcional. Depois de QUANDO, você pode digitar uma expressão booleana. Apenas os eventos que correspondem à condição são considerados na agregação. Outros eventos são ignorados. A expressão é usada para filtrar os eventos que são considerados na velocidade.
Depois de GROUPBY, especifique uma propriedade ou uma expressão. A propriedade ou expressão é então avaliada para cada evento que é processado. Todos os eventos que são avaliados com o mesmo valor na instrução GROUPBY são combinados para calcular a agregação especificada na instrução SELECT . Se a expressão GROUPBY for nula ou vazia para um evento de entrada, o evento não contribuirá para a agregação.
Gorjeta
Qualquer expressão que possa ser usada em uma regra também pode ser usada em uma velocidade. Essas expressões incluem listas e chamadas externas. Para obter uma lista completa das funções disponíveis, consulte o guia de referência de idiomas.
Nota
A janela de tempo sobre a qual você deseja observar a velocidade não é especificada na própria definição de velocidade. Em vez disso, você o especifica quando faz referência à velocidade de uma regra.
Exemplos de velocidades
Use os exemplos a seguir para criar suas próprias velocidades.
A quantidade de dinheiro que cada usuário gastou
SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"
O número de vezes que cada endereço IP foi usado para criar uma nova conta
SELECT Count() AS NewAccounts_perIP
FROM AccountCreation
GROUPBY @"device.ipAddress"
Para cada dispositivo, o número de utilizadores únicos que iniciaram sessão
SELECT DistinctCount(@"user.userId") AS uniqueUserLogins_perDevice
FROM AccountLogin
GROUPBY @"deviceAttributes.deviceId"
Para cada utilizador, o número de tentativas de início de sessão que foram rejeitadas pela Proteção contra Fraude ou receberam uma pontuação de alto risco
SELECT Count() AS loginRejections_perUser
FROM AccountLogin
WHEN @"ruleEvaluation.decision" == "Reject" or @"riskScore" > 900
GROUPBY @"user.userId"
Para cada usuário, o número de compras que foram feitas fora dos EUA e que também continham um produto em uma lista de alto risco
SELECT Count() AS intlHighRiskTxns_perUser
FROM Purchase
WHEN @"user.country" != "US" and ContainsKey("Risky Products", "Product ID", @"ProductList.productId")
GROUPBY @"user.userId
Para cada usuário, o número de e-mails personalizados exclusivos que foram usados em um evento de avaliação e observação
SELECT DistinctCount(@"custom.email") AS uniqueEmails_perUser
FROM Assessment_A1, Assessment_A1:status
GROUPBY @"custom.userId"
Criar um conjunto de velocidades
No portal Proteção contra fraudes, na navegação à esquerda, selecione Velocidades e, em seguida, selecione Novo conjunto de velocidades.
A Proteção contra Fraude cria um conjunto de velocidades de rascunho que é visível apenas para você (o criador). Observe que todas as alterações feitas no rascunho são salvas automaticamente.
Opcional: No campo Condição , insira uma condição booleana. Em alternativa, deixe o campo em branco.
Apenas os eventos que correspondem a esta condição são considerados na agregação. Outros eventos são ignorados. Por exemplo, se você quiser que as velocidades no conjunto de velocidades agreguem apenas eventos que ocorrem nos Estados Unidos, defina a seguinte condição:
QUANDO @"user.countryRegion" == "US"
Para definir uma nova velocidade a partir do zero, selecione Nova velocidade. Para obter informações sobre como definir velocidades, consulte a seção Definir uma velocidade anteriormente neste artigo.
Para começar a partir de um modelo de velocidade existente, selecione a seta à direita de Nova velocidade. Para exibir uma lista completa dos modelos existentes e seu conteúdo, selecione Ver tudo.
Você pode adicionar até 10 velocidades em um conjunto.
Para publicar a velocidade, selecione Publicar.
Na caixa de diálogo de confirmação, você pode alterar o nome, a descrição ou o status da velocidade. Quando estiver pronto, selecione Publicar.
Depois que a velocidade é publicada, as velocidades no conjunto de velocidades são visíveis para todos os usuários. À medida que os eventos fluem através da Proteção contra Fraudes, as velocidades começarão a agregar dados.
Nota
Depois que uma velocidade é publicada, ela começa a agregar dados desse ponto em diante. Os dados históricos não são considerados.
Para obter informações sobre como usar suas velocidades para tomar decisões, consulte a seção Usar uma velocidade em regras , mais adiante neste artigo.
Compreender o painel Exemplo
Quando você cria ou edita um conjunto de velocidades, o painel Amostra aparece no lado direito da página.
O painel Exemplo mostra todas as propriedades de evento que podem ser referenciadas em suas velocidades. Essas propriedades variam, dependendo do tipo de evento que sua velocidade observa. Selecione o tipo de evento no campo Evento na parte superior do painel.
A seção de exemplo de carga útil contém um exemplo das propriedades que podem ser enviadas na API de solicitação para a avaliação.
A seção de exemplo de enriquecimento contém um exemplo das propriedades que a Proteção contra fraude adiciona ao seu evento após o envio da solicitação inicial. Por exemplo, essas propriedades incluem informações da solução de impressão digital de dispositivo da Proteção contra Fraude e pontuações de risco e bot dos modelos de aprendizado de máquina.
O exemplo de enriquecimento também inclui informações da avaliação da regra, como a decisão, o nome da regra e o nome da cláusula que foi acionada. Você pode usar qualquer uma dessas propriedades em sua velocidade. Use um sinal de arroba (@) para fazer referência a eles (por exemplo, @"user.firstName").
Velocidades definidas pelo sistema (padrão)
A Proteção contra Fraude cria várias velocidades definidas pelo sistema por ambiente. Por exemplo, as seguintes velocidades padrão podem ser adicionadas.
- Padrão - Velocidades de e-mail
- Default - Velocidades do instrumento de pagamento
- Padrão - Velocidades IP
- Padrão - Velocidades do ID do dispositivo
Algumas funcionalidades de Proteção contra Fraude dependem das velocidades padrão, como a página de resultados de pesquisa para proteção de compra.
Não é possível editar ou excluir velocidades definidas pelo sistema. No entanto, você pode cloná-los e, em seguida, editar ou excluir os clones.
Gerencie seus conjuntos de velocidade
Para editar um conjunto de velocidades publicado existente, selecione a velocidade e, em seguida, selecione Editar.
Um rascunho da sua velocidade publicada é criado e é visível apenas para você. Todas as alterações feitas no rascunho são salvas automaticamente.
Quando estiver pronto para enviar as alterações para a produção, selecione Publicar. O conjunto de velocidades publicado anteriormente é substituído pelas suas alterações.
Nota
Quaisquer alterações feitas em uma velocidade afetam apenas os valores calculados a partir desse ponto. Eles não afetam os dados de eventos anteriores.
Para eliminar um conjunto de velocidades existente, selecione as reticências (...) e, em seguida, selecione Eliminar.
Nota
Não é possível excluir um conjunto de velocidades se alguma de suas velocidades for referenciada em uma regra publicada.
Para atualizar o nome ou a descrição de um conjunto de velocidades, selecione as reticências (...) e, em seguida, selecione Renomear.
Para alterar o status do conjunto de velocidades, selecione Ativar ou Desativar.
- As velocidades em um conjunto de velocidades marcado como Ativo são constantemente atualizadas à medida que novos eventos fluem para a Proteção contra fraudes.
- As velocidades em um conjunto de velocidades marcado como Inativo nunca são atualizadas.
Usar uma velocidade nas regras
Para usar suas velocidades para tomar decisões sobre eventos de avaliação recebidos, você deve consultá-los em suas regras. Por exemplo, a velocidade a seguir é definida como parte de um conjunto de velocidades.
SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000
Na sua regra, você pode fazer uma verificação de velocidade usando a sintaxe a seguir.
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000
O primeiro parâmetro é fundamental. Este parâmetro é usado para procurar a velocidade. Na definição de velocidade anterior para totalSpending, a instrução GROUPBY\ @"user.userId" indica que os valores serão agregados para cada ID de usuário encontrado. Quando você faz referência à velocidade de uma regra, o parâmetro key especifica o ID do usuário para recuperar o valor de velocidade. Se o parâmetro chave for nulo ou vazio, a Proteção contra fraude retornará 0.
O segundo parâmetro é timeWindow. Este parâmetro especifica a janela de tempo sobre a qual você deseja observar a velocidade. Você pode selecionar uma janela de tempo entre um segundo a noventa dias. Atualmente, as seguintes são todas as janelas de tempo válidas:
- [1–59]s
- [1–59]m
- [1–23]h
- [1–90]d
Nota
A janela de tempo começa no início da unidade de medida anterior. Por exemplo, se a data e a hora atuais forem 11h04 de 1º de abril de 2021 e você verificar uma velocidade em uma janela de tempo de duas horas (2h), verá os dados desde as 9h00, não desde as 9h04.
Se uma velocidade falhar ao retornar um valor devido a um erro, um valor padrão de 0 será retornado e sua regra continuará a ser executada.
As velocidades são atualizadas com o evento atual após a avaliação da regra. Portanto, se você fizer referência a uma velocidade em uma regra, ela não incluirá o evento atual que está sendo processado.
As velocidades também podem ser invocadas a partir de Funções. Para obter mais informações, consulte Funções.
Usar regras para exibir valores de velocidade
Além de retornar decisões, as regras podem usar funções de observação, como Output(), para imprimir determinados valores na resposta da API. Por exemplo, um usuário pode escrever a seguinte cláusula, que não toma uma decisão, mas simplesmente produz os valores de várias velocidades na resposta da API.
OBSERVE Output(
totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)
Cada evento de avaliação que aciona essa regra imprimirá a seguinte seção na resposta da API:
"MerchantRuleOutput": {
"clause1": {
"totalSpending_7d": "523.99",
"loginsPerDevice_1m": "1"
}
},
Em vez de imprimir os valores de velocidade diretamente na resposta da API, você pode usar o rastreamento de eventos para enviar os valores para sua própria instância dos Hubs de Eventos do Azure ou do Armazenamento de Blobs do Azure. Por exemplo, você cria a seguinte regra.
RETURN Approve(), Trace(
totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)
Se você se inscrever no evento FraudProtection.Trace.Rule, as seguintes informações serão enviadas como parte de cada evento.
"attributes": {
"totalSpending_7d": 523.99
"loginsPerDevice_1m": 1
}