Pelacakan peristiwa
Artikel ini menjelaskan cara menggunakan pelacakan peristiwa di Perlindungan Penipuan Microsoft Dynamics 365.
Fungsionalitas pelacakan peristiwa di Perlindungan Penipuan Microsoft Dynamics 365 memungkinkan Anda membuat platform telemetri real time yang dapat diperluas dan beroperasi di luar portal. Setiap peristiwa dijadwalkan atau dipicu oleh tindakan tingkat pengguna atau tingkat sistem. Anda dapat berlangganan peristiwa yang Anda minati dan meneruskan payload peristiwa ke Azure Event Hubs atau penyimpanan Azure Blob. Anda juga dapat meminta peristiwa dari beberapa sesi pelacakan peristiwa secara bersamaan. Sistem kemudian memberikan peristiwa dalam urutan kronologis.
Peristiwa dapat diagregasi dan digunakan untuk menentukan metrik yang dapat Anda gunakan untuk memantau dan mengelola biaya dan penggunaan layanan Anda. Peristiwa juga dapat digunakan untuk mengembangkan laporan kustom yang menggunakan data transaksional, atau untuk mempertahankan log sistem untuk tindakan yang diambil di portal Perlindungan Penipuan (misalnya, "pengguna Daftar yang diedit B pada tanggal C"). Saat Anda menggunakan konektor Azure Event Hubs yang tersedia di Microsoft Power Automate dan Azure Logic Apps, Anda juga dapat menggunakan data yang Anda kirim ke Azure Event Hubs untuk pemberitahuan atau alur kerja yang sangat disesuaikan. Demikian pula, dengan penyimpanan Azure Blob Anda dapat membuat langganan baru yang menyalin semua data historis ke akun penyimpanan dingin Anda untuk analisis lebih lanjut.
Jika instans Perlindungan Penipuan Anda memiliki beberapa lingkungan, Anda dapat menemukan pelacakan peristiwa untuk setiap lingkungan dengan menggunakan pengalih lingkungan. Jika lingkungan memiliki lingkungan anak, pelacakan peristiwa yang berlangganan untuk lingkungan induk secara otomatis menyertakan peristiwa yang sama untuk semua lingkungan anak.
Catatan
Pelanggan pelacakan peristiwa harus memiliki langganan ke layanan Azure tambahan seperti Event Hub atau penyimpanan Blob. Hubungi eksekutif akun Microsoft Anda untuk detailnya. Jika Anda memiliki kredensial administrator global Azure, masuk ke portal Azure untuk menentukan langganan yang tersedia.
Memulai
Untuk mulai menggunakan fungsionalitas pelacakan peristiwa, ikuti langkah-langkah ini.
Di portal Perlindungan Penipuan, pilih Data, lalu pilih Pelacakan Peristiwa.
Pilih Langganan baru.
Masukkan nama tampilan langganan.
Pilih lokasi penyimpanan:
- Untuk Azure Event Hubs: Masukkan string koneksi untuk instans Azure Event Hubs di Azure Key Vault. Azure Key Vault harus berada di penyewa yang sama dengan langganan Perlindungan Penipuan Anda. Berikan Dapatkan Akses Rahasia ke aplikasi Perlindungan Penipuan ke Azure Key Vault. Masukkan URL Pengidentifikasi Rahasia dari Azure Key Vault Anda di portal Perlindungan Penipuan. Untuk informasi selengkapnya, lihat Mendapatkan string koneksi Azure Event Hubs.
- Untuk Blob Storage: Masukkan string koneksi untuk akun Azure Blob Storage di Azure Key Vault. Azure Key Vault harus berada di penyewa yang sama dengan langganan Perlindungan Penipuan Anda. Berikan Dapatkan Akses Rahasia ke aplikasi Perlindungan Penipuan ke Azure Key Vault. Di portal Perlindungan Penipuan, masukkan URL pengidentifikasi rahasia dari Azure Key Vault Anda dan nama kontainer tempat data pelacakan peristiwa Anda berada. Untuk informasi selengkapnya, lihat Menampilkan kunci akses akun.
Pilih Pengujian koneksi. Setelah koneksi berhasil diuji, informasi terkait akun yang diekstrak dari string koneksi di Azure Key Vault ditampilkan. Untuk Azure Event Hubs, informasi baca-saja ini mencakup Namespace Layanan Pusat Aktivitas dan Nama Pusat Aktivitas. Untuk Azure Blob Storage, nama akun Penyimpanan ditampilkan. Verifikasi bahwa informasi ini cocok dengan akun penyimpanan yang ingin Anda gunakan. Tanpa pengujian koneksi yang berhasil, tombol Buat tidak diaktifkan.
Pilih peristiwa dan tinjau deskripsi dan sampel payload JSON. Kemudian simpan langganan dengan memilih Buat. Peristiwa dikirim secara instans ke instans Azure Event Hubs Anda dari titik waktu tersebut. Jika Anda memilih Blob Storage, proses salin untuk menulis semua data historis dimulai dan semua peristiwa diterbitkan ke kontainer Anda setiap 30 menit.
Kembali ke portal Perlindungan Penipuan untuk melihat jumlah metrik Peristiwa/Jam. dan pastikan bahwa data dikirim ke Azure Event Hubs dan Blob Storage. Metrik Peristiwa/Jam dan Kegagalan/Jam menunjukkan rata-rata selama 24 jam terakhir.
Tip
Untuk pemantauan tambahan untuk Azure Event Hubs, buka portal Azure, dan siapkan metrik. Untuk informasi selengkapnya, lihat Metrik Azure Event Hubs di Azure Monitor.
Opsional: Siapkan alur ingress Anda sendiri dari Azure Event Hubs ke Power BI. Untuk informasi tentang cara mulai mengembangkan laporan kustom, lihat Bekerja dengan Power BI.
Opsional: Koneksi ke Azure Event Hubs dari Power Automate untuk menentukan alur kerja kustom. Untuk informasi selengkapnya, lihat Bekerja dengan Logic Apps atau Power Automate.
Skema peristiwa
Lima klasifikasi peristiwa yang didukung saat ini tersedia dalam pelacakan peristiwa: peristiwa transaksional, peristiwa pelacakan, peristiwa penilaian, peristiwa audit, dan peristiwa pemantauan.
Peristiwa transaksi
Gunakan peristiwa transaksi untuk membuat kartu skor kustom dan alur kerja otomatis menggunakan data yang tersedia dalam panggilan API penilaian dan nonassesi Anda. Dengan menggunakan penyimpanan blob, Anda juga dapat menyalin data dari panggilan API historis untuk membuat gudang data untuk bisnis Anda. Payload untuk peristiwa ini mencakup seluruh permintaan dan respons untuk setiap panggilan API.
Namespace: FraudProtection.Observe.<Nama> API atau FraudProtection.Assessment.<Nama 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"
}
}
Melacak peristiwa
Anda menggunakan peristiwa pelacakan untuk melaporkan dan memantau performa untuk semua aturan yang menyertakan jenis pengembalian Trace(). Payload untuk peristiwa ini mencakup bidang standar seperti nama aturan yang memicu peristiwa, jenis peristiwa yang berkorelasi dengan jenis penilaian untuk aturan tersebut, ID korelasi, dll. Anda kemudian dapat mengirim atribut kustom menggunakan pasangan kunci:nilai dalam jenis pengembalian Trace() untuk menyertakan variabel dari payload sampel, skor risiko, dan bidang kustom. Untuk informasi selengkapnya tentang cara menggunakan Trace() dalam aturan Anda untuk memicu peristiwa ini, lihat Fungsi pengamatan dalam panduan bahasa aturan.
Namespace: 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
}
}
Peristiwa penilaian
Peristiwa penilaian dan label terkait dan pengamatan dapat dilacak ke hub peristiwa dan blob.
Namespace: FraudProtection.Assessments.
{
"request": "",
"response": "",
"eventId": "uniqueId",
"assessmentApiName": "<your assessment api name>",
"assessmentName": "<your assessment name>"
}
Namespace: FraudProtection.CaseManagement.Events.
Status keputusan manajemen kasus dan label yang dibuat dari Manajemen Kasus.
{
"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"
}
Namespace: 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>"
}
Peristiwa audit
Gunakan peristiwa audit untuk melacak tindakan portal dan mengembangkan log audit. Peristiwa audit saat ini mendukung operasi baru/edit/hapus pada aturan, daftar, kecepatan, dan panggilan eksternal.
Namespace: 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"
}
Akses log audit
Ada dua cara agar Anda dapat mengakses log audit. Anda dapat menyiapkan pelacakan peristiwa, atau Anda dapat meminta log audit yang dibuat secara otomatis dikirim dengan membuat tiket dukungan Pelanggan. Jika Anda memutuskan untuk tidak menggunakan pelacakan peristiwa dan sebaliknya mengirimkan tiket dukungan, tiket dukungan dirutekan ke tim teknik Perlindungan Penipuan. Tim mengekstrak log dan menyediakannya kembali kepada Anda. Log audit ditangkap dan disimpan di geo yang sama tempat Anda memprovisikan lingkungan. Log tidak dapat diedit setelah diambil dan periode retensi log adalah 365 hari. Log yang lebih lama dari 365 hari dihapus secara otomatis.
Ada lima peristiwa yang dihasilkan yang dapat dilacak dengan menggunakan log audit. Peristiwa tersebut adalah:
- Pengguna ditetapkan ke peran Perlindungan Penipuan untuk pertama kalinya.
- Peran pengguna yang ada diperbarui.
- Semua penetapan peran dihapus untuk pengguna tertentu.
- Pengguna menerima persetujuan FCRA.
- Pengguna memperbarui pengaturan Penguat penerimaan transaksi (TAB). Setiap perubahan pada pengaturan ini dianggap sebagai pembaruan.
Peristiwa log aktivitas
Gunakan peristiwa log aktivitas untuk mendapatkan catatan terperinci tentang siapa yang melakukan apa, kapan, dan di mana untuk beberapa tindakan dalam Perlindungan Penipuan. Misalnya, Anda dapat melihat siapa yang membuat perubahan terakhir pada aturan. Hasilnya cocok dengan hasil pencarian Log aktivitas.
Namespace: 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"
}
"userID" diikuti oleh operasi dan bidang jenis sumber daya tertentu.
Memantau peristiwa
Anda dapat menggunakan peristiwa pemantauan untuk pelaporan dan pemberitahuan kustom pada API dan performa panggilan eksternal Anda dengan pelaporan yang tersedia di portal Perlindungan Penipuan. Setiap peristiwa di bawah ini memberikan wawasan tentang latensi dan kesalahan untuk setiap layanan.
Namespace: FraudProtection.Monitoring.RequestLatencyMsDistribution.
Untuk panggilan API, jumlah permintaan dan distribusi latensi (dalam md) dikirim setiap 20 detik dalam peristiwa ini. Peristiwa ini mencakup bidang startTime dan endTime yang menentukan periode agregasi dan nama dimensi dan nilai yang dapat digunakan untuk memfilter metrik sesuai kebutuhan.
{
"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"
}
}
Bidang Sampel mewakili jumlah permintaan per API.
Namespace: FraudProtection.Monitoring.ExternalCalls
Kejadian ini mencakup latensi (dalam ms) dan kode status HTTP dari setiap tautan panggilan <eksternal ke dokumen> panggilan eksternal yang dipicu dari aturan. Dimensi tambahan untuk aturan dan klausa yang memicu panggilan juga disediakan.
Untuk panggilan eksternal, metrik latensi (dalam ms) dan kode status http dikirim dengan setiap permintaan dalam peristiwa ini. Dimensi tambahan untuk aturan yang memicu panggilan juga disediakan untuk meningkatkan pengalaman pemecahan masalah jika Anda tertarik untuk menyelidiki performa panggilan 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"
}
Namespace: FraudProtection.Errors.ExternalCalls
Kejadian ini mencatat kesalahan untuk setiap panggilan eksternal yang gagal, dan dapat berguna untuk men-debug masalah apa pun yang mungkin Anda lihat dengan performa panggilan eksternal Anda. Permintaan dan respons penuh untuk panggilan dicatat, serta latensi dan aturan dan klausa panggilan dipicu.
{
"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": "{}"
}