Поделиться через


Трассировка событий

В этой статье описывается, как использовать трассировку событий в Microsoft Dynamics 365 Для защиты от мошенничества.

Функция трассировки событий в Microsoft Dynamics 365 Fraud Protection позволяет установить платформу телеметрии в режиме реального времени, которая является расширяемой и операционной за пределами портала. Каждое событие запланировано или активируется действием уровня пользователя или системы. Вы можете подписаться на интересующие вас события и перенаправить полезные данные событий в Центры событий Azure или хранилище BLOB-объектов Azure. Можно также запросить события из нескольких сеансов трассировки событий одновременно. Затем система передает события в хронологическом порядке.

События можно агрегировать и использовать для определения метрик, которые можно использовать для мониторинга затрат и использования служб и управления ими. События также можно использовать для разработки пользовательских отчетов, использующих данные транзакций, или для поддержания системных журналов действий, выполняемых на портале защиты от мошенничества (например, "пользователь редактированный список B на дату C"). При использовании соединителей Центры событий Azure, доступных в Microsoft Power Automate и Azure Logic Apps, можно также использовать данные, которые отправляются в Центры событий Azure для оповещения или высоконастройанных рабочих процессов. Аналогичным образом с хранилищем BLOB-объектов Azure можно создать новую подписку, которая копирует все исторические данные в учетную запись холодного хранения для дальнейшего анализа.

Если экземпляр защиты от мошенничества имеет несколько сред, можно найти трассировку событий для каждой среды с помощью переключателя среды. Если среда имеет дочерние среды, трассировка событий, подписанная на родительскую среду, автоматически включает одни и те же события для всех дочерних сред.

Примечание.

Клиенты отслеживания событий должны иметь подписку на дополнительные службы Azure, такие как Концентратор событий или хранилище BLOB-объектов. Обратитесь к руководителю учетной записи Майкрософт для получения сведений. Если у вас есть учетные данные глобального администратора Azure, войдите в портал Azure, чтобы определить доступные подписки.

Начать

Чтобы начать использовать функции трассировки событий, выполните следующие действия.

  1. На портале защиты от мошенничества выберите "Данные" и выберите " Трассировка событий".

  2. Выберите "Создать подписку".

  3. Введите отображаемое имя подписки.

  4. Выберите расположение хранилища:

    1. Для Центров событий: введите строка подключения для экземпляра Центров событий в Azure Key Vault. Azure Key Vault должен находиться в том же клиенте, что и подписка на защиту от мошенничества. Предоставьте приложению Защиты от мошенничества секретный доступ к Azure Key Vault. Введите URL-адрес секретного идентификатора из Azure Key Vault на портале защиты от мошенничества. Дополнительные сведения см. в разделе "Получение центров событий" строка подключения.
    2. Для служба хранилища BLOB-объектов: введите строка подключения для учетной записи Хранилище BLOB-объектов Azure в Azure Key Vault. Azure Key Vault должен находиться в том же клиенте, что и подписка на защиту от мошенничества. Предоставьте приложению Защиты от мошенничества секретный доступ к Azure Key Vault. На портале защиты от мошенничества введите URL-адрес идентификатора секрета из Azure Key Vault и имя контейнера, в котором находятся данные трассировки событий. Дополнительные сведения см. в разделе "Просмотр ключей доступа к учетной записи".
  5. Выберите Test connection (Проверить подключение). После успешного тестирования подключения отображаются сведения, связанные с учетной записью, извлеченные из строка подключения в Azure Key Vault. Для Центры событий Azure эти сведения, доступные только для чтения, включают пространство имен Концентратора событий и имя концентратора событий. Для Хранилище BLOB-объектов Azure отображается имя учетной записи служба хранилища. Убедитесь, что эта информация соответствует учетной записи хранения, которую вы планируете использовать. Без успешного теста подключения кнопка "Создать " не включена.

  6. Выберите событие и просмотрите описание и пример полезных данных JSON. Затем сохраните подписку, нажав кнопку "Создать". События мгновенно отправляются в экземпляр Центров событий с этого момента. Если вы выбрали служба хранилища BLOB-объектов, процесс копирования для записи всех исторических данных начинается, и все события публикуются в контейнере каждые 30 минут.

  7. Вернитесь на портал защиты от мошенничества, чтобы просмотреть количество событий или часовых метрик и убедитесь, что данные отправляются в Центры событий и служба хранилища BLOB-объектов. Метрики событий, кадров и кадров показывают среднее значение за последние 24 часа.

    Совет

    Дополнительные сведения о мониторинге центров событий см. в портал Azure и настройке метрик. Дополнительные сведения см. в разделе Центры событий Azure метрик в Azure Monitor.

  8. Необязательно. Настройте собственный конвейер входящего трафика из Центров событий в Power BI. Сведения о начале разработки пользовательских отчетов см. в статье "Работа с Power BI".

  9. Необязательно: Подключение в Центры событий из Power Automate для определения пользовательских рабочих процессов. Дополнительные сведения см. в статье "Работа с Logic Apps" или Power Automate.

Схемы событий

В настоящее время в трассировке событий доступны пять поддерживаемых классификаций событий: транзакционные события, события трассировки, события оценки, события аудита и события мониторинга.

События транзакций

Используйте события транзакций для создания пользовательской оценки карта и автоматизированных рабочих процессов с помощью данных, доступных в вызовах API оценки и неиспользования. С помощью хранилища BLOB-объектов можно также скопировать данные из исторических вызовов API для создания хранилища данных для бизнеса. Полезные данные для этого события включают весь запрос и ответ для каждого вызова API.

Пространство имен: FraudProtection.Observe.<Имя> API или FraudProtection.Assessment.<Имя 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"
    }
}

События трассировки

События трассировки используются для отчета и отслеживания производительности для всех правил, включающих тип возвращаемого значения Trace(). Полезные данные для этого события включают стандартизированные поля, такие как имя правила, которое активировало событие, тип события, который коррелирует с типом оценки для этого правила, идентификатором корреляции и т. д. Затем можно отправлять пользовательские атрибуты с помощью пар "ключ:значение" в типе возврата Trace(), чтобы включить переменные из примера полезных данных, оценки риска и настраиваемых полей. Дополнительные сведения о том, как использовать Trace() в правилах для активации этих событий, см . в руководстве по языку правил функции наблюдения.

Пространство имен: 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
} 

    }

События оценки

Оценка и связанные события меток и наблюдений можно отслеживать до центров событий и больших двоичных объектов.

Пространство имен: FraudProtection.Assessments.
{
    "request": "",
    "response": "",
    "eventId": "uniqueId",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Пространство имен: FraudProtection.CaseManagement.Events.

Состояние решения по управлению делами и метки, сделанные из управления делами.

{
	"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"
}
Пространство имен: 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>"
}
Пространство имен: FraudProtection.Labels.
{
    "request": "",
    "labelEventId": "",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}

События аудита

Используйте события аудита для отслеживания действий портала и разработки журнала аудита. События аудита в настоящее время поддерживают операции создания, редактирования и удаления правил, списков, скоростей и внешних вызовов.

Пространство имен: 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"
}

Доступ к журналу аудита

Существует два способа доступа к журналам аудита. Можно настроить трассировку событий или отправить автоматически созданный журнал аудита, создав запрос в службу поддержки клиентов. Если вы решили не использовать трассировку событий и вместо этого отправьте запрос в службу поддержки, запрос в службу поддержки направляется группе инженеров защиты от мошенничества. Команда извлекает журналы и возвращает их вам. Журналы аудита записываются и хранятся в том же географическом регионе, в котором подготавливается среда. Журналы не могут быть изменены после их записи, а срок хранения журнала — 365 дней. Журналы старше 365 дней автоматически удаляются.

Существует пять событий, которые можно отслеживать с помощью журналов аудита. Эти события:

  • Пользователь впервые назначается роли защиты от мошенничества.
  • Роль существующего пользователя обновляется.
  • Все назначения ролей удаляются для конкретного пользователя.
  • Пользователь принимает согласие FCRA.
  • Пользователь обновляет параметры средства повышения принятия транзакций (TAB). Любое изменение этих параметров считается обновлением.

События журналов действий

Используйте события журналов действий, чтобы получить подробные записи о том, кто сделал, когда и где для некоторых действий в службе защиты от мошенничества. Например, можно увидеть, кто внесли последнее изменение в правило. Результаты соответствуют результатам поиска в журналах действий.

Пространство имен: 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"
}

За "userID" следует операция и определенные поля типа ресурса.

Мониторинг событий

Вы можете использовать события мониторинга для пользовательских отчетов и оповещений в API и производительности внешних вызовов с помощью отчетов, доступных на портале защиты от мошенничества. Каждый из приведенных ниже событий содержит сведения о задержке и ошибках для каждой службы.

Пространство имен: FraudProtection.Monitoring.RequestLatencyMsDistribution.

Для вызовов API количество запросов и распределение задержки (в мс) отправляются каждые 20 секунд в этом событии. Эти события включают поля startTime и endTime, определяющие период агрегирования и имена измерений и значения, которые можно использовать для фильтрации метрик по мере необходимости.


{
"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"
}
}

Поле "Примеры" представляет количество запросов на API.

Пространство имен: FraudProtection.Monitoring.ExternalCalls

Это событие включает задержку (в мс) и код состояния HTTP каждой ссылки внешнего вызова к документации> по внешнему вызову<, которая активируется из правила. Также предоставляются дополнительные измерения для правила и предложения, запускающего вызов.

Для внешних вызовов задержка (в мс) и метрики кода состояния HTTP отправляются с каждым запросом в этом событии. Дополнительные измерения для правила, запускающего вызов, также предоставляются для улучшения возможностей устранения неполадок, если вы заинтересованы в изучении производительности отдельного вызова.


{
    "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"
}

Пространство имен: FraudProtection.Errors.ExternalCalls

Эти события регистрируют ошибки для каждого неудачного внешнего вызова и могут быть полезны для отладки любых проблем, которые могут возникнуть при выполнении внешних вызовов. Регистрируются полные запросы и ответы на вызов, а также задержка и правило и предложение, из которых был активирован вызов.


{
    "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": "{}"
}