Partilhar via


Rastreamento de eventos

Este artigo descreve como usar o rastreamento de eventos na Proteção contra Fraude do Microsoft Dynamics 365.

A funcionalidade de rastreamento de eventos na Proteção contra Fraude do Microsoft Dynamics 365 permite estabelecer uma plataforma de telemetria em tempo real que é extensível e operacional fora do portal. Cada evento é agendado ou acionado por uma ação no nível do usuário ou do sistema. Pode subscrever eventos em que está interessado e reencaminhar as cargas úteis do evento para os Hubs de Eventos do Azure ou para o armazenamento de Blobs do Azure. Você também pode solicitar eventos de várias sessões de rastreamento de eventos ao mesmo tempo. Em seguida, o sistema entrega os eventos em ordem cronológica.

Os eventos podem ser agregados e usados para definir métricas que você pode usar para monitorar e gerenciar seus custos e uso de serviço. Os eventos também podem ser usados para desenvolver relatórios personalizados que usam dados transacionais ou para manter logs do sistema para ações realizadas no portal de Proteção contra Fraude (por exemplo, "usuário A lista editada B na data C"). Ao usar os conectores de Hubs de Eventos do Azure disponíveis no Microsoft Power Automate e nos Aplicativos Lógicos do Azure, você também pode usar os dados enviados aos Hubs de Eventos do Azure para alertas ou fluxos de trabalho altamente personalizados. Da mesma forma, com o armazenamento de Blob do Azure, você pode criar uma nova assinatura que copia todos os dados históricos em sua conta de armazenamento frio para análise posterior.

Se sua instância de Proteção contra fraude tiver vários ambientes, você poderá encontrar o rastreamento de eventos para cada ambiente usando o seletor de ambiente. Se o ambiente tiver ambientes filho, o rastreamento de eventos inscrito para o ambiente pai incluirá automaticamente os mesmos eventos para todos os ambientes filho.

Nota

Os clientes de rastreamento de eventos devem ter uma assinatura de serviços adicionais do Azure, como Hub de Eventos ou armazenamento de Blob. Contacte o seu executivo de conta Microsoft para obter detalhes. Se tiver credenciais de administrador global do Azure, inicie sessão no portal do Azure para determinar as subscrições disponíveis.

Começar agora

Para começar a usar a funcionalidade de rastreamento de eventos, siga estas etapas.

  1. No portal de Proteção contra Fraude, selecione Dados e, em seguida, selecione Rastreamento de Eventos.

  2. Selecione Nova assinatura.

  3. Insira um nome para exibição de assinatura.

  4. Selecione um local de armazenamento:

    1. Para Hubs de Eventos: insira a cadeia de conexão para a instância de Hubs de Eventos no Cofre de Chaves do Azure. O Cofre da Chave do Azure deve residir no mesmo locatário que sua assinatura de Proteção contra Fraude. Conceda Acesso Secreto ao aplicativo Proteção contra Fraude ao Cofre da Chave do Azure. Insira a URL do Identificador Secreto do seu Cofre de Chaves do Azure no portal de Proteção contra Fraude. Para obter mais informações, consulte Obter uma cadeia de conexão de Hubs de Eventos.
    2. Para Armazenamento de Blob: insira a cadeia de conexão para a conta de Armazenamento de Blobs do Azure no Cofre de Chaves do Azure. O Cofre da Chave do Azure deve residir no mesmo locatário que sua assinatura de Proteção contra Fraude. Conceda Acesso Secreto ao aplicativo Proteção contra Fraude ao Cofre da Chave do Azure. No portal de Proteção contra Fraude, insira a URL do identificador secreto do Cofre da Chave do Azure e um nome de contêiner onde residem os dados de rastreamento de eventos. Para obter mais informações, consulte Exibir chaves de acesso à conta.
  5. Selecione Testar ligação. Depois que a conexão for testada com êxito, as informações relacionadas à conta que foram extraídas da cadeia de conexão no Cofre da Chave do Azure serão exibidas. Para Hubs de Eventos do Azure, essas informações somente leitura incluem o Namespace do Hub de Eventos e o Nome do Hub de Eventos. Para o Armazenamento de Blobs do Azure, o nome da conta de armazenamento é exibido. Verifique se essas informações correspondem à conta de armazenamento que você pretende usar. Sem um teste de conexão bem-sucedido, o botão Criar não está habilitado.

  6. Selecione um evento e revise a descrição e a amostra da carga JSON útil. Em seguida, salve a assinatura selecionando Criar. Os eventos são enviados instantaneamente para a instância dos Hubs de Eventos a partir desse momento. Se você selecionou Armazenamento de Blob, o processo de cópia para gravar todos os dados históricos começa e todos os eventos são publicados no contêiner a cada 30 minutos.

  7. Volte ao portal de Proteção contra Fraude para visualizar a contagem da métrica Eventos/RH e verifique se os dados estão sendo enviados para Hubs de Eventos e Armazenamento de Blobs . As métricas de Eventos/H e Falhas/RH mostram uma média nas últimas 24 horas.

    Gorjeta

    Para monitoramento adicional para Hubs de Eventos, vá para o portal do Azure e configure métricas. Para obter mais informações, consulte Métricas dos Hubs de Eventos do Azure no Azure Monitor.

  8. Opcional: configure seu próprio pipeline de entrada dos Hubs de Eventos para o Power BI. Para obter informações sobre como começar a desenvolver relatórios personalizados, consulte Trabalhar com o Power BI.

  9. Opcional: Ligue-se a Hubs de Eventos a partir do Power Automate para definir fluxos de trabalho personalizados. Para obter mais informações, consulte Trabalhar com aplicativos lógicos ou Power Automate.

Esquemas de eventos

Cinco classificações de eventos com suporte estão atualmente disponíveis no rastreamento de eventos: eventos transacionais, eventos de rastreamento, eventos de avaliação, eventos de auditoria e eventos de monitoramento.

Eventos transacionais

Use eventos transacionais para criar scorecards personalizados e fluxos de trabalho automatizados usando os dados disponíveis em suas chamadas de API de avaliação e não avaliação. Usando o armazenamento de blob, você também pode copiar os dados de chamadas de API históricas para criar um data warehouse para sua empresa. A carga para este evento inclui toda a solicitação e resposta para cada chamada de API.

Espaço de nomes: FraudProtection.Observe.<Nome> da API ou FraudProtection.Assessment.<Nome da API>
{
    "uniqueId": "unique event id and used to deduplicate events",
    "request": {
        //API request payload
    },
    "response": {
        //API response payload
    },
    "name": "FraudProtection.Observe.AccountLabel",
    "version": "1.0",
    "metadata": {
        "tenantId": "63f55d63-9653-4ed9-be77-294da21202ae",
        "timestamp": "2020-09-25T03:46:53.3716978Z"
    }
}

Rastrear eventos

Você usa eventos de rastreamento para relatar e monitorar o desempenho de todas as regras que incluem o tipo de retorno Trace(). A carga útil para esse evento inclui campos padronizados, como o nome da regra que disparou o evento, o tipo de evento que se correlaciona com o tipo de avaliação dessa regra, ID de correlação, etc. Em seguida, você pode enviar atributos personalizados usando pares key:value no tipo de retorno Trace() para incluir variáveis da carga útil de amostra, a pontuação de risco e campos personalizados. Para obter mais informações sobre como usar Trace() em suas regras para acionar esses eventos, consulte Funções de observação no Guia de idioma Regras.

Espaço de nomes: FraudProtection.Trace.Rule.
{
    "name": "FraudProtection.Trace.Rule",
    "version": "1.0",
    "metadata":
{
    "tenantId": "63f55d63-9653-4ed9-be77-294da21202ae",
    "timestamp": "2020-06-10T23:43:33.4526859Z" 
}
    "ruleName": "Risk Score Policy",
    "eventType": "Purchase",
    "correlationId": "e49319e6-0bea-4567-9f3e-c9f873fc958a",
    "eventId": "e75e703c-1e54-4d41-af4b-a4c1b8866f02",
    "attributes":
{
      "example": "ManualReview” //key:value pairs defined in the Trace() return type
} 

    }

Eventos de avaliação

A avaliação e os eventos de rótulo e observação associados podem ser rastreados até hubs de eventos e blobs.

Espaço de nomes: FraudProtection.Assessments.
{
    "request": "",
    "response": "",
    "eventId": "uniqueId",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Espaço de nomes: FraudProtection.CaseManagement.Events.

Status da decisão de gerenciamento de casos e rótulos feitos a partir do Gerenciamento de casos.

{
	"name": "FraudProtection.CaseManagement.Events",
	"version": "1.0",
	"metadata": {
		"tenantId": "<your tenantID>",
		"timestamp": "2020-09-25T03:46:53.3716978Z"
	},
	"assessmentId": "<your assessment uniqueId>",
	"assessmentName": "<your assessment name>",
	"caseId": "uniqueId of the case record",
	"queueId": "uniqueId of the queue the case was routed to",
	"queueName": "name of the queue the case was routed to",
	"eventType": "<your assessment uniqueId>",
	"eventId": "<your assessment transaction uniqueId>",
	"creationDate": "creation datetime",
	"reviewStartDate": "review start datetime",
	"reviewedDate": "reviewed datetime",
	"decision": "decision of the review agent",
	"reason": "decision reason",
	"reasonNote": "decision note",
	"agentId": "uniqueId of the review agent",
	"agentName": "name of the review agent",
	"status": "status of the decision",
	"fraudFlag": "fraud flag (label) of the decision"
}
Espaço de nomes: FraudProtection.Observations.
{
    "request": "",
    "primaryEventId": "<assessment event id>",
    "observationApiName": "<your observation api name>",
    "observationName": "<your observation name>",
    "observationEventId": "<your observation event id>",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Namespace: FraudProtection.Labels.
{
    "request": "",
    "labelEventId": "",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}

Eventos de auditoria

Use eventos de auditoria para acompanhar as ações do portal e desenvolver um log de auditoria. Atualmente, os eventos de auditoria suportam operações novas/editadas/excluídas em regras, listas, velocidades e chamadas externas.

Espaço de nomes: FraudProtection.Audit.
"audit": {
    "entityId": "cde1518f-305e-42e8-8d05-9b955efe3f46",
    "entityName": "Manual Review Rule",
    "entityType": "Rule",
    "operationName": "NewRule",
    "userId": "user@contoso.com"
},
"name": "FraudProtection.Audit",
"version": "1.0",
"metadata": {
    "tenantId": "63f55d63-9653-4ed9-be77-294da21202ae",
    "timestamp": "2020-06-10T23:43:33.4526859Z"
}

Acesso ao log de auditoria

Há duas maneiras de acessar os logs de auditoria. Você pode configurar o rastreamento de eventos ou solicitar o envio de um log de auditoria gerado automaticamente criando um tíquete de suporte ao cliente. Se você decidir não usar o rastreamento de eventos e, em vez disso, enviar um tíquete de suporte, o tíquete de suporte será encaminhado para a equipe de engenharia de Proteção contra Fraude. A equipe extrai os logs e os fornece de volta para você. Os logs de auditoria são capturados e armazenados na mesma área geográfica em que você provisiona um ambiente. Os logs não podem ser editados depois de capturados e o período de retenção de logs é de 365 dias. Os registos com mais de 365 dias são automaticamente eliminados.

Há cinco eventos gerados que podem ser rastreados usando os logs de auditoria. Esses eventos são:

  • Um usuário é atribuído a uma função de Proteção contra Fraude pela primeira vez.
  • A função de um usuário existente é atualizada.
  • Todas as atribuições de função são removidas para um usuário específico.
  • Um usuário aceita o consentimento da FCRA.
  • Um usuário atualiza as configurações do Impulsionador de aceitação de transações (TAB). Qualquer alteração nessas configurações é considerada uma atualização.

Eventos de logs de atividades

Use eventos de registros de atividades para obter registros detalhados de quem fez o quê, quando e onde para algumas ações na Proteção contra fraude. Por exemplo, você pode ver quem fez a última alteração em uma regra. Os resultados correspondem aos resultados da pesquisa de registos de atividade.

Espaço de nomes: FraudProtection.ActivityLog.
{
"eventId": "0c6e1948-75a9-4513-bb4c-4828c9a8ab05",
"operationType": "Create",
"resourceType": "Decision rule",
"resourceId": "b1053216-2fc4-4ef6-94e8-c4da706d87fa",
"resourceName": "Rule Test",
"userId": "fb88ba00-58e0-421c-8742-10ae04dddb86"
}

O "userID" é seguido por campos de operação e tipo de recurso específico.

Monitorizar eventos

Você pode usar eventos de monitoramento para relatórios e alertas personalizados sobre sua API e desempenho de chamadas externas com os relatórios disponíveis no portal de Proteção contra fraude. Cada um dos eventos abaixo fornece informações sobre a latência e os erros de cada serviço.

Espaço de nomes: FraudProtection.Monitoring.RequestLatencyMsDistribution.

Para chamadas de API, contagens de solicitações e distribuições de latência (em ms) são enviadas a cada 20 segundos neste evento. Esses eventos incluem campos startTime e endTime que determinam o período de agregação e nomes e valores de dimensão que podem ser usados para filtrar as métricas conforme necessário.


{
"Index": [
             1
],
"BucketSamples": [
             2
],
"NumberOfBuckets": 10000,
"BucketSize": 10,
"MinimumValue": 0,
"CounterName": "RequestLatencyMsDistribution",
"DimensionNames": [
   "EnvironmentId",
   "TenantId",
   "ApiName",
   "ExperienceType",
   "IsTestRequest",
   "RequestType",
   "HttpRequestStatus",
   "HttpStatusCode"
],
"DimensionValues": [
   "63f55d63-9653-4ed9-be77-294da21202ae",
   "63f55d63-9653-4ed9-be77-294da21202ae",
   "v1.0/Observe/Create",
   "N/A",
   "False",
   "REALTIME",
   "Success",
   "200"
],
"StartTime": "2020-06-22T23:43:20",
"EndTime": "2020-06-22T23:43:40",
"Samples": 2,
"Min": 3,
"Max": 7,
"name": "FraudProtection.Monitoring.RequestLatencyMsDistribution",
"version": "1.0",
"metadata": {
   "tenantId": "63f55d63-9653-4ed9-be77-294da21202ae",
   "timestamp": "2020-06-22T23:43:20.0947542Z"
}
}

O campo Amostras representa a contagem de solicitações por API.

Espaço de nomes: FraudProtection.Monitoring.ExternalCalls

Esse evento inclui a latência (em ms) e o código de status HTTP de cada link de chamada <externa para o documento> de chamada externa que é acionado a partir de uma regra. Dimensões adicionais para a regra e a cláusula que acionam a chamada também são fornecidas.

Para chamadas externas, as métricas de latência (em ms) e código de status http são enviadas com cada solicitação neste evento. Dimensões adicionais para a regra que aciona a chamada também são fornecidas para melhorar a experiência de solução de problemas se você estiver interessado em investigar o desempenho de uma chamada individual.


{
    "name": "FraudProtection.Monitoring.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "63f55d63-9653-4ed9-be77-294da21202ae",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "Success",
    "httpStatusCode": 200,
    "correlationId": "50BFA0D6-1E3D-4700-A2B3-1DD01162C08A",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause"
}

Espaço de nomes: FraudProtection.Errors.ExternalCalls

Esse evento registra erros para cada chamada externa com falha e pode ser útil para depurar quaisquer problemas que você possa ver com o desempenho da chamada externa. A solicitação e a resposta completas para a chamada são registradas, bem como a latência e a regra e cláusula a partir da qual a chamada foi acionada.


{
    "name": "FraudProtection.Errors.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "63f55d63-9653-4ed9-be77-294da21202ae",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "ResponseFailure",
    "httpStatusCode": 404,
    "correlationId": "50BFA0D6-1E3D-4700-A2B3-1DD01162C08A",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause",
    "response": "{}",
    "requestUri": "https://samplewebsite/sample",
    "requestBody": "{}"
}