Udostępnij za pośrednictwem


Śledzenie zdarzeń

W tym artykule opisano sposób używania śledzenia zdarzeń w usłudze Microsoft Dynamics 365 Fraud Protection.

Funkcja śledzenia zdarzeń w usłudze Microsoft Dynamics 365 Fraud Protection umożliwia ustanowienie platformy telemetrii w czasie rzeczywistym, która jest rozszerzalna i operacyjna poza portalem. Każde zdarzenie jest zaplanowane lub wyzwalane przez akcję na poziomie użytkownika lub na poziomie systemu. Możesz subskrybować zdarzenia, które cię interesują, i przekazywać ładunki zdarzeń do usługi Azure Event Hubs lub usługi Azure Blob Storage. Można również żądać zdarzeń z wielu sesji śledzenia zdarzeń jednocześnie. Następnie system dostarcza zdarzenia w kolejności chronologicznej.

Zdarzenia mogą być agregowane i używane do definiowania metryk, których można użyć do monitorowania kosztów i użycia usług oraz zarządzania nimi. Zdarzenia mogą być również używane do tworzenia niestandardowych raportów korzystających z danych transakcyjnych lub do obsługi dzienników systemowych dla akcji podjętych w portalu ochrony przed oszustwami (na przykład "użytkownik A edytowana lista B w dniu C"). Jeśli używasz łączników usługi Azure Event Hubs, które są dostępne w usługach Microsoft Power Automate i Azure Logic Apps, możesz również użyć danych wysyłanych do usługi Azure Event Hubs na potrzeby alertów lub wysoce dostosowanych przepływów pracy. Podobnie w usłudze Azure Blob Storage możesz utworzyć nową subskrypcję, która kopiuje wszystkie dane historyczne na konto magazynu zimnego w celu dalszej analizy.

Jeśli wystąpienie ochrony przed oszustwami ma wiele środowisk, możesz znaleźć śledzenie zdarzeń dla każdego środowiska przy użyciu przełącznika środowiska. Jeśli środowisko ma środowiska podrzędne, śledzenie zdarzeń subskrybowane dla środowiska nadrzędnego automatycznie zawiera te same zdarzenia dla wszystkich środowisk podrzędnych.

Uwaga

Klienci śledzenia zdarzeń muszą mieć subskrypcję dodatkowych usług platformy Azure, takich jak Event Hub lub Blob Storage. Aby uzyskać szczegółowe informacje, skontaktuj się z dyrektorem ds. kont Microsoft. Jeśli masz poświadczenia administratora globalnego platformy Azure, zaloguj się do witryny Azure Portal , aby określić dostępne subskrypcje.

Rozpocznij

Aby rozpocząć korzystanie z funkcji śledzenia zdarzeń, wykonaj następujące kroki.

  1. W portalu ochrony przed oszustwami wybierz pozycję Dane, a następnie wybierz pozycję Śledzenie zdarzeń.

  2. Wybierz pozycję Nowa subskrypcja.

  3. Wprowadź nazwę wyświetlaną subskrypcji.

  4. Wybierz lokalizację magazynu:

    1. W polu Event Hubs: wprowadź parametry połączenia dla wystąpienia usługi Event Hubs w usłudze Azure Key Vault. Usługa Azure Key Vault powinna znajdować się w tej samej dzierżawie co subskrypcja usługi Fraud Protection. Udziel dostępu tajnego do aplikacji Ochrony przed oszustwami w usłudze Azure Key Vault. Wprowadź adres URL identyfikatora wpisu tajnego z usługi Azure Key Vault w portalu ochrony przed oszustwami. Aby uzyskać więcej informacji, zobacz Get an Event Hubs parametry połączenia (Pobieranie usługi Event Hubs parametry połączenia).
    2. W polu Blob Storage: wprowadź parametry połączenia dla konta usługi Azure Blob Storage w usłudze Azure Key Vault. Usługa Azure Key Vault powinna znajdować się w tej samej dzierżawie co subskrypcja usługi Fraud Protection. Udziel dostępu tajnego do aplikacji Ochrony przed oszustwami w usłudze Azure Key Vault. W portalu ochrony przed oszustwami wprowadź adres URL identyfikatora wpisu tajnego z usługi Azure Key Vault i nazwę kontenera, w którym znajdują się dane śledzenia zdarzeń. Aby uzyskać więcej informacji, zobacz Wyświetlanie kluczy dostępu do konta.
  5. Wybierz pozycję Testuj połączenie. Po pomyślnym przetestowaniu połączenia zostaną wyświetlone informacje dotyczące konta wyodrębnione z parametry połączenia w usłudze Azure Key Vault. W przypadku usługi Azure Event Hubs te informacje tylko do odczytu obejmują przestrzeń nazw centrum zdarzeń i nazwę centrum zdarzeń. W przypadku usługi Azure Blob Storage zostanie wyświetlona nazwa konta usługi Storage. Sprawdź, czy te informacje są zgodne z kontem magazynu, którego zamierzasz użyć. Bez pomyślnego testu połączenia przycisk Utwórz nie jest włączony.

  6. Wybierz zdarzenie i przejrzyj opis i przykład ładunku JSON. Następnie zapisz subskrypcję, wybierając pozycję Utwórz. Zdarzenia są natychmiast wysyłane do wystąpienia usługi Event Hubs z tego punktu w czasie. W przypadku wybrania usługi Blob Storage rozpocznie się proces kopiowania w celu zapisania wszystkich danych historycznych, a wszystkie zdarzenia są publikowane w kontenerze co 30 minut.

  7. Wróć do portalu ochrony przed oszustwami, aby wyświetlić liczbę zdarzeń /hr. i upewnij się, że dane są wysyłane do usługi Event Hubs i usługi Blob Storage. Metryki Zdarzenia/Hr i Failures/Hr pokazują średnią w ciągu ostatnich 24 godzin.

    Napiwek

    Aby uzyskać dodatkowe monitorowanie usługi Event Hubs, przejdź do witryny Azure Portal i skonfiguruj metryki. Aby uzyskać więcej informacji, zobacz Metryki usługi Azure Event Hubs w usłudze Azure Monitor.

  8. Opcjonalnie: skonfiguruj własny potok ruchu przychodzącego z usługi Event Hubs do usługi Power BI. Aby uzyskać informacje na temat rozpoczynania tworzenia niestandardowych raportów, zobacz Praca z usługą Power BI.

  9. Opcjonalnie: Połączenie do usługi Event Hubs z usługi Power Automate, aby zdefiniować niestandardowe przepływy pracy. Aby uzyskać więcej informacji, zobacz Praca z usługą Logic Apps lub Power Automate.

Schematy zdarzeń

Pięć obsługiwanych klasyfikacji zdarzeń jest obecnie dostępnych w śledzeniu zdarzeń: zdarzenia transakcyjne, zdarzenia śledzenia, zdarzenia oceny, zdarzenia inspekcji i zdarzenia monitorowania.

Zdarzenia transakcyjne

Użyj zdarzeń transakcyjnych, aby utworzyć niestandardowe karty wyników i zautomatyzowane przepływy pracy przy użyciu danych dostępnych w wywołaniach interfejsu API oceny i bez oceny. Za pomocą usługi Blob Storage można również skopiować dane z historycznych wywołań interfejsu API, aby utworzyć magazyn danych dla twojej firmy. Ładunek dla tego zdarzenia obejmuje całe żądanie i odpowiedź dla każdego wywołania interfejsu API.

Przestrzeń nazw: FraudProtection.Observe.<Nazwa> interfejsu API lub FraudProtection.Assessment.<Nazwa interfejsu 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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-09-25T03:46:53.3716978Z"
    }
}

Śledzenie zdarzeń

Zdarzenia śledzenia służą do raportowania i monitorowania wydajności dla wszystkich reguł zawierających typ zwracany trace(). Ładunek dla tego zdarzenia zawiera ustandaryzowane pola, takie jak nazwa reguły, która wyzwoliła zdarzenie, typ zdarzenia skorelowany z typem oceny dla tej reguły, identyfikator korelacji itp. Następnie można wysyłać atrybuty niestandardowe przy użyciu par key:value w typie zwracania Trace(), aby uwzględnić zmienne z przykładowego ładunku, ocenę ryzyka i pola niestandardowe. Aby uzyskać więcej informacji na temat używania funkcji Trace() w regułach w celu wyzwolenia tych zdarzeń, zobacz Funkcje obserwacji w przewodniku po języku reguł.

Przestrzeń nazw: FraudProtection.Trace.Rule.
{
    "name": "FraudProtection.Trace.Rule",
    "version": "1.0",
    "metadata":
{
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "timestamp": "2020-06-10T23:43:33.4526859Z" 
}
    "ruleName": "Risk Score Policy",
    "eventType": "Purchase",
    "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
    "eventId": "e75e703c-1e54-4d41-af4b-a4c1b8866f02",
    "attributes":
{
      "example": "ManualReview” //key:value pairs defined in the Trace() return type
} 

    }

Zdarzenia oceny

Zdarzenia oceny i obserwacji oraz etykiety i obserwacji można śledzić w centrach zdarzeń i obiektach blob.

Przestrzeń nazw: FraudProtection.Assessments.
{
    "request": "",
    "response": "",
    "eventId": "uniqueId",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Przestrzeń nazw: FraudProtection.CaseManagement.Events.

Stan decyzji i etykiety dotyczące zarządzania przypadkami wykonane z zarządzania przypadkami.

{
	"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"
}
Przestrzeń nazw: 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>"
}
Przestrzeń nazw: FraudProtection.Labels.
{
    "request": "",
    "labelEventId": "",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}

Inspekcja zdarzeń

Użyj zdarzeń inspekcji, aby śledzić akcje portalu i opracowywać dziennik inspekcji. Zdarzenia inspekcji obsługują obecnie operacje na nowych/edytowanych/usuwanych regułach, listach, obiektach we/wy i wywołaniach zewnętrznych.

Przestrzeń nazw: FraudProtection.Audit.
"audit": {
    "entityId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "entityName": "Manual Review Rule",
    "entityType": "Rule",
    "operationName": "NewRule",
    "userId": "user@contoso.com"
},
"name": "FraudProtection.Audit",
"version": "1.0",
"metadata": {
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "timestamp": "2020-06-10T23:43:33.4526859Z"
}

Dostęp do dziennika inspekcji

Istnieją dwa sposoby uzyskiwania dostępu do dzienników inspekcji. Możesz skonfigurować śledzenie zdarzeń lub zażądać wysłania automatycznie wygenerowanego dziennika inspekcji, tworząc bilet pomocy technicznej klienta. Jeśli zdecydujesz się nie używać śledzenia zdarzeń i zamiast tego przesyłasz bilet pomocy technicznej, bilet pomocy technicznej jest kierowany do zespołu inżynierów ds. ochrony przed oszustwami. Zespół wyodrębnia dzienniki i dostarcza je z powrotem do Ciebie. Dzienniki inspekcji są przechwytywane i przechowywane w tym samym obszarze geograficznym, w którym aprowizujesz środowisko. Dzienniki nie mogą być edytowane po ich przechwyceniu, a okres przechowywania dziennika wynosi 365 dni. Dzienniki starsze niż 365 dni są automatycznie usuwane.

Istnieje pięć wygenerowanych zdarzeń, które można śledzić przy użyciu dzienników inspekcji. Te zdarzenia to:

  • Użytkownik jest przypisywany do roli ochrony przed oszustwami po raz pierwszy.
  • Rola istniejącego użytkownika jest aktualizowana.
  • Wszystkie przypisania ról są usuwane dla określonego użytkownika.
  • Użytkownik akceptuje zgodę FCRA.
  • Użytkownik aktualizuje ustawienia Dopalacz akceptacji transakcji (TAB). Każda zmiana tych ustawień jest uznawana za aktualizację.

Zdarzenia dzienników aktywności

Użyj zdarzeń dzienników aktywności, aby uzyskać szczegółowe informacje o tym, kto zrobił co, kiedy i gdzie w przypadku niektórych działań w ramach ochrony przed oszustwami. Możesz na przykład zobaczyć, kto dokonał ostatniej zmiany reguły. Wyniki są zgodne z wynikami wyszukiwania dzienników aktywności.

Przestrzeń nazw: FraudProtection.ActivityLog.
{
"eventId": "0c6e1948-75a9-4513-bb4c-4828c9a8ab05",
"operationType": "Create",
"resourceType": "Decision rule",
"resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"resourceName": "Rule Test",
"userId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
}

Po polu "userID" następuje operacja i określone pola typu zasobu.

Monitorowanie zdarzeń

Zdarzenia monitorowania można używać do raportowania niestandardowego i zgłaszania alertów w interfejsie API oraz wydajności wywołań zewnętrznych za pomocą raportowania dostępnego w portalu ochrony przed oszustwami. Każde z poniższych zdarzeń zapewnia wgląd w opóźnienia i błędy dla każdej usługi.

Przestrzeń nazw: FraudProtection.Monitoring.RequestLatencyMsDistribution.

W przypadku wywołań interfejsu API liczby żądań i dystrybucji opóźnień (w ms) są wysyłane co 20 sekund w tym zdarzeniu. Te zdarzenia obejmują pola startTime i endTime, które określają okres agregacji oraz nazwy wymiarów i wartości, których można użyć do filtrowania metryk zgodnie z potrzebami.


{
"Index": [
             1
],
"BucketSamples": [
             2
],
"NumberOfBuckets": 10000,
"BucketSize": 10,
"MinimumValue": 0,
"CounterName": "RequestLatencyMsDistribution",
"DimensionNames": [
   "EnvironmentId",
   "TenantId",
   "ApiName",
   "ExperienceType",
   "IsTestRequest",
   "RequestType",
   "HttpRequestStatus",
   "HttpStatusCode"
],
"DimensionValues": [
   "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "timestamp": "2020-06-22T23:43:20.0947542Z"
}
}

Pole Przykłady reprezentuje liczbę żądań na interfejs API.

Przestrzeń nazw: FraudProtection.Monitoring.ExternalCalls

To zdarzenie zawiera opóźnienie (w ms) i kod stanu HTTP każdego linku wywołania zewnętrznego do dokumentu> wywołania <zewnętrznego, który jest wyzwalany z reguły. Podano również dodatkowe wymiary reguły i klauzuli wyzwalającej wywołanie.

W przypadku wywołań zewnętrznych opóźnienie (w ms) i metryki kodu stanu HTTP są wysyłane z każdym żądaniem w tym zdarzeniu. Dodatkowe wymiary reguły wyzwalającej wywołanie są również udostępniane, aby poprawić środowisko rozwiązywania problemów, jeśli interesuje Cię badanie wydajności pojedynczego wywołania.


{
    "name": "FraudProtection.Monitoring.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "Success",
    "httpStatusCode": 200,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause"
}

Przestrzeń nazw: FraudProtection.Errors.ExternalCalls

To zdarzenie rejestruje błędy dla każdego nieudanego wywołania zewnętrznego i może być przydatne do debugowania wszelkich problemów, które mogą wystąpić z wydajnością wywołań zewnętrznych. Pełne żądanie i odpowiedź dla wywołania są rejestrowane, a także opóźnienie oraz reguła i klauzula, z których zostało wyzwolone wywołanie.


{
    "name": "FraudProtection.Errors.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "ResponseFailure",
    "httpStatusCode": 404,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause",
    "response": "{}",
    "requestUri": "https://samplewebsite/sample",
    "requestBody": "{}"
}