Трассировка событий
В этой статье описывается, как использовать трассировку событий в 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, чтобы определить доступные подписки.
Начать
Чтобы начать использовать функции трассировки событий, выполните следующие действия.
На портале защиты от мошенничества выберите "Данные" и выберите " Трассировка событий".
Выберите "Создать подписку".
Введите отображаемое имя подписки.
Выберите расположение хранилища:
- Для Центров событий: введите строка подключения для экземпляра Центров событий в Azure Key Vault. Azure Key Vault должен находиться в том же клиенте, что и подписка на защиту от мошенничества. Предоставьте приложению Защиты от мошенничества секретный доступ к Azure Key Vault. Введите URL-адрес секретного идентификатора из Azure Key Vault на портале защиты от мошенничества. Дополнительные сведения см. в разделе "Получение центров событий" строка подключения.
- Для служба хранилища BLOB-объектов: введите строка подключения для учетной записи Хранилище BLOB-объектов Azure в Azure Key Vault. Azure Key Vault должен находиться в том же клиенте, что и подписка на защиту от мошенничества. Предоставьте приложению Защиты от мошенничества секретный доступ к Azure Key Vault. На портале защиты от мошенничества введите URL-адрес идентификатора секрета из Azure Key Vault и имя контейнера, в котором находятся данные трассировки событий. Дополнительные сведения см. в разделе "Просмотр ключей доступа к учетной записи".
Выберите Test connection (Проверить подключение). После успешного тестирования подключения отображаются сведения, связанные с учетной записью, извлеченные из строка подключения в Azure Key Vault. Для Центры событий Azure эти сведения, доступные только для чтения, включают пространство имен Концентратора событий и имя концентратора событий. Для Хранилище BLOB-объектов Azure отображается имя учетной записи служба хранилища. Убедитесь, что эта информация соответствует учетной записи хранения, которую вы планируете использовать. Без успешного теста подключения кнопка "Создать " не включена.
Выберите событие и просмотрите описание и пример полезных данных JSON. Затем сохраните подписку, нажав кнопку "Создать". События мгновенно отправляются в экземпляр Центров событий с этого момента. Если вы выбрали служба хранилища BLOB-объектов, процесс копирования для записи всех исторических данных начинается, и все события публикуются в контейнере каждые 30 минут.
Вернитесь на портал защиты от мошенничества, чтобы просмотреть количество событий или часовых метрик и убедитесь, что данные отправляются в Центры событий и служба хранилища BLOB-объектов. Метрики событий, кадров и кадров показывают среднее значение за последние 24 часа.
Совет
Дополнительные сведения о мониторинге центров событий см. в портал Azure и настройке метрик. Дополнительные сведения см. в разделе Центры событий Azure метрик в Azure Monitor.
Необязательно. Настройте собственный конвейер входящего трафика из Центров событий в Power BI. Сведения о начале разработки пользовательских отчетов см. в статье "Работа с Power BI".
Необязательно: Подключение в Центры событий из 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": "{}"
}