Del via


Konfigurere beskyttelse af kundekonti

Microsoft Dynamics 365 Fraud Protection omfatter kontobeskyttelsesfunktioner, der kan hjælpe dig med at vurdere, om der forekommer mistænkelig aktivitet i din virksomheds økosystem. Disse funktioner omfatter egenskaber til risikovurdering, som du kan bruge til at blokere eller udfordre svigagtige forsøg på at oprette konti eller bringe eksisterende konti i fare. Her er nogle eksempler:

  • API'er til risikovurdering i realtid
  • En regel og liste, som du kan bruge til at optimere risikostrategien, så den opfylder dine forretningsbehov
  • Overvågningsdashboards, der kan bruges til at overvåge effektiviteten af beskyttelse mod svindel og tendenser i dit økosystem

Kontobeskyttelse dækker tre typer hændelser af kontolivscyklusser: kontooprettelse, kontologon og brugerdefineret vurdering. Der er flere forsvarslinjer for hver hændelsestype:

  • Effektiv robotregistrering: Når Fraud Protection registrerer et automatisk forsøg på at bruge en liste over kompromitterede legitimationsoplysninger eller direkte at oprette eller redigere konti, er dens første forsvar dynamisk og effektiv robotregistrering. Denne avancerede adaptive kunstige intelligens (AI) genererer hurtigt en score, der er knyttet til sandsynligheden for, at en robot igangsætter hændelsen.
  • Styrket vurdering i realtid: Som næste forsvarslinje bruger Fraud Protection AI-modeller til at generere en score for risikovurderingen. Du kan bruge denne score sammen med regler til at godkende, udfordre, afvise eller gennemgå logon- og tilmeldingsforsøg ud fra forretningsbehov.

Mål for dette dokument

Dette dokument fører dig gennem følgende aktiviteter:

Forudsætninger

Før du påbegynder opgaverne i dette dokument, skal du udføre følgende opgaver:

Trin 1: Implementere API'er til kontobeskyttelse

Hvis du vil drage nytte af samtlige funktioner i Fraud Protection, skal du sende dine transaktionsdata til API'erne i realtid.

  • I evalueringsoplevelsen kan du derefter analysere resultaterne af at bruge Fraud Protection.
  • I beskyttelsesoplevelsen kan du også imødekomme beslutninger baseret på de regler, du har konfigureret.

Afhængigt af hvordan du vælger at bruge Fraud Protection, kan du anvende forskellige API'er til kontobeskyttelse. Disse API'er omfatter: AccountCreation, AccountLogin, AccountCreationStatus, AccountLoginStatus, AccountUpdate, Label og Brugerdefinerede hændelser.

Du kan finde mere information om understøttede hændelser under Dynamics 365 Fraud Protection-API.

Trin 2: Opret Microsoft Entra-apps

Vigtigt

Hvis du vil fuldføre dette trin, skal du være programadministrator, cloudprogramadministrator eller global administrator i din Microsoft Entra-lejer.

Hvis du vil hente de tokens, der kræves for at kalde API'erne, skal du bruge Fraud Protection til at konfigurere Microsoft Entra-programmer.

Konfigurer en Microsoft Entra-app

  1. I Fraud Protection-portalen skal du vælge Data i venstre navigationspanel og derefter vælge API Management.

  2. På siden API Management skal du vælge Konfiguration.

  3. Vælg Oprettelse af programmer, og udfyld felterne for at oprette din app. Følgende felter er påkrævet:

    • Visningsnavn for program - Giv dit program et beskrivende navn. Beskrivelsen må højst være på 93 tegn.

    • Miljø – Vælg produktionens slutpunktet.

    • Godkendelsesmetode - Vælg, om du vil bruge et certifikat eller en hemmelighed (adgangskode) til godkendelse.

      • Vælg Certifikat, og vælg derefter Vælg fil for at uploade den offentlige nøgle. Når du henter tokens, skal du bruge den tilsvarende private nøgle.
      • Vælg Hemmelighed for automatisk at oprette en adgangskode, når programmet er blevet oprettet.
  4. Vælg Opret program, når du er færdig med at udfylde felterne.

    Bekræftelsessiden opsummerer din app's navn, ID og certifikataftryk eller hemmelighed, afhængigt af den godkendelsesmetode, du har valgt.

Vigtig

Gem oplysningerne om certifikataftrykket eller hemmeligheden til senere brug. Disse oplysninger vises kun én gang.

Oprette flere apps

Du kan oprette så mange apps, der er nødvendige for at køre API-kald i hvert af dine produktionsmiljøer.

  1. Vælg Opret et andet program under fanen Konfiguration.
  2. Udfyld felterne for at oprette din app, og vælg derefter Opret program.

Kald til realtids-API'er for Fraud Protection

Brug oplysningerne i dette afsnit til at integrere dine systemer ved hjælp af Fraud Protection.

Krævede ID'er og oplysninger

  • API-slutpunkt – URI'en til dit miljø vises i feltet Kontooplysninger på dashboardet for Fraud Protection.
  • Mappe-id (lejer-id) - Mappe-id er en Globally Unique Identifier (GUID) for en lejers domæne i Azure. Den vises i Azure-portalen og i feltet Kontooplysninger på Fraud Protection-dashboardet.
  • Program-id (klient) – Program-id'et identificerer den Microsoft Entra-app, du oprettede for at kalde API'er. Du kan finde dette id på den bekræftelsesside, der vises, når du vælger Opret program på siden API Management. Du kan også finde det senere under App registreringer på Azure-portalen. Der vil være ét id for hver af de apps, du opretter.
  • Certifikataftryk eller hemmelighed – Du kan finde certifikataftrykket eller hemmeligheden på den bekræftelsesside, der vises, når du vælger Opret program på siden API Management.
  • Forekomst-id – Forekomst-id'et er det globale entydige id (GUID) for dit miljø i Fraud Protection. Det vises i feltet Integration på Fraud Protection-dashboardet.

Opret et adgangstoken

Du skal oprette dette token og angive hvert API-kald for det. Bemærk, at adgangstokens har begrænset levetid. Det anbefales, at du cacher og genbruger hvert adgangstoken, indtil det er tid til at oprette et nyt. Følgende C#-kodeeksempler indeholder eksempler på, hvordan du kan hente et token med dit certifikat eller din hemmelighed. Udskift pladsholderne med dine egne oplysninger.

Aftryk af CERTIFIKAT

   public async Task<string> AcquireTokenWithCertificateAsync()
     {
          var x509Cert = CertificateUtility.GetByThumbprint("<Certificate thumbprint>");
          var clientAssertion = new ClientAssertionCertificate("<Client ID>", x509Cert);
          var context = new AuthenticationContext("<Authority URL. Typically https://login.microsoftonline.com/[Directory_ID]>");
          var authenticationResult = await context.AcquireTokenAsync("<API endpoint>", clientAssertion);
          
          return authenticationResult.AccessToken;
     }

Hemmelighed

   public async Task<string> AcquireTokenWithSecretAsync()
     {
          var clientAssertion = new ClientCredential("<Client ID>", "<Client secret>");
          var context = new AuthenticationContext("<Authority URL. Typically https://login.microsoftonline.com/[Directory_ID]>");
          var authenticationResult = await context.AcquireTokenAsync("<API endpoint>", clientAssertion);
          
          return authenticationResult.AccessToken;
     }

Svar

Bag kulisserne opretter den foregående kode en HTTP-anmodning og modtager et svar, der ligner det følgende eksempel.

   HTTP/1.1 200 OK
     Content-Type: application/json; charset=utf-8
     Date: <date>
     Content-Length: <content length>
     {
          "token_type":"Bearer",
          "expires_in":"3599",
          "ext_expires_in":"3599",
          "expires_on":"<date timestamp>",
          "not_before":"<date timestamp>",
          "resource":"https://api.dfp.dynamics.com",
          "access_token":"<your access token; e.g.: eyJ0eXA...NFLCQ>"
     }

Yderligere oplysninger om adgangstoken finder du i følgende Azure-dokumentation:

Kald til API'erne

  1. Send følgende nødvendige påkrævede HTTP-overskrifter for hver anmodning.
Navn på overskrift Værdi for overskrift
Godkendelse

Brug følgende format til denne overskrift: Bærer accesstoken

I dette format er adgangstoken det token, der returneres af Microsoft Entra ID.

x-ms-korrelation-id Send en ny GUID-værdi for hvert sæt API-kald, der er oprettet sammen.
Indholdstype program/json
x-ms-dfpenvid Send GUID-værdien af dit forekomst-id.
  1. Generer hændelsesbaserede nyttedata. Udfyld hændelsesdataene med de relevante oplysninger fra systemet.

    Du kan finde mere information om understøttede hændelser under Dynamics 365 Fraud Protection-API.

  2. Kombiner overskriften (som indeholder adgangstoken) og nyttedataene, og send dem derefter til dit Fraud Protection-slutpunkt. (API-slutpunktet er URI'en til dit miljø, der vises i feltet Kontooplysninger på dashboardet for Fraud Protection).

Yderligere oplysninger om API'er finder du i Dynamics 365 Fraud Protection-API.

Trin 3: Forstå hændelser med kontobeskyttelse

Opret konto

Du kan bruge hændelsen Opret konto til at sende oplysninger og sammenhæng om et indgående forsøg på at oprette en ny konto. Svaret indeholder en beslutning for API til kontooprettelse.

URI: <API Endpoint>/v1.0/action/account/create/<signUpId>

Værdien af signUpId skal være entydig for hver anmodning. Den skal svare til værdien i metadatasektionen i følgende eksempel.

Vigtig

Værdien af deviceContextId skal svare til værdien af session_id i indstillingerne for enhedsfingeraftryk.

Eksempel på nyttedata

   {
          "device": {
               "deviceContextId": "2cf391cc-62d2-47d4-a9c1-78ec025293da",
               "ipAddress": "192.168.8.214",
               "provider": "DFPFingerprinting",
               "externalDeviceId": "1234567890",
               "externalDeviceType": "Tablet"
     },
     "user": {
          "userId": " cf4e1d39-1100-4791-a6cf-98580f3d91cb",
          "userType": "Consumer",
          "username": "kayla@contoso.com",
          "firstName": "Kayla",
          "lastName": "Goderich",
          "countryRegion": "US",
          "zipCode": "44329",
          "timeZone": "-08:00",
          "language": "en-us",
          "membershipId": " CC004567",
          "isMembershipIdUsername": false
     },
     "email": [
          {
          "emailType": "Primary",
          "emailValue": "kayla@contoso.com",
          "isEmailValidated": true,
          "emailValidatedDate": "2018-11-27T15:12:26.9733817-08:00",
          "isEmailUsername": true
          }
     ],
     "phone": [
          {
               "phoneType": "Alternative",
               "phoneNumber": "1-4985550190",
               "isPhoneNumberValidated": true,
               "phoneNumberValidatedDate": "2018-11-27T15:12:26.9739451-08:00",
               "isPhoneUsername": false
          }
     ],
     "address": [
          {
               "addressType": "Primary",
               "firstName": "Kayla",
               "lastName": "Goderich",
               "phoneNumber": "1-4985550190",
               "street1": "0123 Bechtelar Loop",
               "street2": "",
               "street3": "",
               "city": "Kubtown",
               "state": "SC",
               "district": "",
               "zipCode": "44329",
               "countryRegion": "US"
          }
     ],
     "paymentInstruments": [
          {
               "merchantPaymentInstrumentId": "6ac8406f-128a-41ce-a02d-1bbaa23fbe15",
               "type": "Credit Card",
               "creationDate": "2020-03-24T13:23:32.3247803-07:00",
               "updateDate": "2020-03-24T13:23:32.3248203-07:00"
          }
     ],
     "ssoAuthenticationProvider": {
          "authenticationProvider": "MerchantAuth",
          "displayName": "Kayla Goderich"
     },
     "metadata": {
          "signUpId": "f5085b48-0f9d-47f5-85d1-2c95e7842d39",
          "customerLocalDate": "2020-02-25T15:12:26.9653975-08:00",
          "assessmentType": "Protect",
          "trackingId": "d65544f0-f8b4-4249-a5e0-94b32a25548f",
          "merchantTimeStamp": "2020-11-27T15:12:26.9721842-08:00"
     },
     "name": "AP.AccountCreation",
     "version": "0.5"
     }

Konto-logon

Du kan bruge hændelsen Konto-logon til at sende oplysninger og sammenhæng om et indgående forsøg på at oprette ny konto-logon. Svaret indeholder en beslutning for API til konto-logon.

URI: <API Endpoint>/v1.0/action/account/login/<userId>

Værdien af userId skal svare til værdien i nyttedataene. Hver bruger skal have en entydig værdi. Her kan du bruge en GUID-værdi.

Vigtig

Værdien af deviceContextId skal svare til værdien af session_id i indstillingerne for enhedsfingeraftryk.

Eksempel på nyttedata

  {
     "device": {
          "deviceContextId": "2ef10376-2ba8-4f36-a911-da438e5e5e27",
          "ipAddress": "192.168.8.214",
          "provider": "DFPFingerprinting",
          "externalDeviceId": "1234567890",
     "externalDeviceType": "Computer"
     },
     "user": {
          "userId": "cf4e1d39-1100-4791-a6cf-98580f3d91cb",
          "userType": "Consumer",
          "username": "kayla@contoso.com",
          "firstName": "Kayla",
          "lastName": "Goderich",
          "countryRegion": "US",
          "zipCode": "44329",
          "timeZone": "-08:00",
          "language": "en-us",
          "membershipId": "CC004567",
          "isMembershipIdUsername": false
     },
     "recentUpdate": {
          "lastPhoneNumberUpdateDate": "2018-11-127T15:22:42.3412611-08:00",
          "lastEmailUpdateDate": "2018-11-127T15:22:42.3412611-08:00 ",
          "lastAddressUpdateDate": "2018-11-127T15:22:42.3412611-08:00",
          "lastPaymentInstrumentUpdateDate": "2018-11-127T15:22:42.3412611-08:00"
     },
     "ssoAuthenticationProvider": {
          "authenticationProvider": "MerchantAuth",
          "displayName": "Kayla Goderich"
     },
     "metadata": {
          "LogInId": "a15d4a5d-fadc-49ab-8022-712fec597e22",
          "customerLocalDate": "2020-02-25T15:22:42.3397533-08:00",
          "assessmentType": "Protect",
          "trackingId": "a14ebdca-9447-49b4-951e-26f6ccc4445c",
          "merchantTimeStamp": "2020-11-27T15:22:42.3405921-08:00"
     },
     "name": "AP.AccountLogin",
     "version": "0.5"
  }

Status for kontooprettelse

Du kan bruge hændelsen Status for kontooprettelse til at sende oplysninger og sammenhæng om et indgående forsøg på at oprette en ny kontostatus. Svaret indeholder en beslutning for API til status for kontooprettelse.

URI: <API Endpoint>/v1.0/observe/account/create/status/<signUpId>

Værdien af userId skal svare til værdien i nyttedataene. Hver bruger skal have en entydig værdi. Her kan du bruge en GUID-værdi.

Eksempel på nyttedata

  {
     "metadata":{
          "signUpId":"a6221a3f-c38c-429e-8fde-3026d8c29ed3",
          "userId":"34f47dc4-9781-4033-99fd-185649c4b001",
          "trackingId":"697a6bee-2d30-4132-92a6-c137aaf49c0a",
          "merchantTimeStamp":"2020-04-03T13:23:32.3226335-07:00"
     },
     "statusDetails":{
          "statusType":"Rejected",
          "reasonType":"ChallengeAbandoned",
          "challengeType":"Email",
          "statusDate":"2020-04-03T13:23:32.3817714-07:00"
     },
     "name":"AP.AccountCreation.Status",
     "version":"0.5"
  }

Status for konto-logon

Du kan bruge hændelsen Status for konto-logon til at sende oplysninger og sammenhæng om et indgående forsøg på at oprette en ny status for konto-logon. Svaret indeholder en beslutning for API til status for konto-logon.

URI: <API Endpoint>/v1.0/observe/account/login/status/<userId>

Værdien af signUpId skal svare til værdien i nyttedataene. Hver skal have en entydig værdi. Her kan du bruge en GUID-værdi.

Eksempel på nyttedata

  {
     "metadata":{
          "loginId":"dc4ea331-a6e5-4aa0-8eba-16b4d516a07d",
          "userId":"34f47dc4-9781-4033-99fd-185649c4b001",
          "trackingId":"dcd65c87-d3db-4a42-8ed3-3e59f443b994",
          "merchantTimeStamp":"2020-04-03T13:23:32.3759321-07:00"
     },
     "statusDetails":{
          "statusType":"Rejected",
          "reasonType":"ChallengeAbandoned",
          "challengeType":"Email",
          "statusDate":"2020-04-03T13:23:32.3884589-07:00"
     },
     "name":"AP.AccountLogin.Status",
     "version":"0.5"
  }

Etiket

Brug hændelsen Etiket til at sende yderligere oplysninger til Fraud Protection i tillæg til de data, der informerer funktionerne for virtuelle svindelanalytikere og overvågning. API'en Etiket tilvejebringer den yderligere information til modeltræning, der er baseret på et ekstra sæt svindelsignaler. Den sender også oplysninger om transaktioner, konto eller betalingsmiddel samt tilbageførsler.

URI: <API Endpoint>/v1.0/label/account/create/<userId>

Værdien af userId skal svare til værdien i den tilsvarende API for konto-logon.

Eksempel på nyttedata

  {
     "metadata": {
          "name": "AP.Label.Metadata",
          "userId": "34f47dc4-9781-4033-99fd-185649c4b001",
          "merchantTimeStamp": "2020-06-14T21:53:27.8822492-08:00",
          "trackingId": "34f47dc4-9781-4033-99fd-185649c4b001"
     },
     "label": {
          "eventTimeStamp": "2020-02-21T21:53:27.8822492-08:00",
          "labelObjectType": "Account",
          "labelObjectId": "userid",
          "labelSource": "ManualReview",
          "labelState": "AccountCompromised",
          "labelReasonCode": "AccountFraud"
     },
     "name": "AP.Label",
     "version": "0.5"
     }
     public enum LabelObjectTypeName
          {
               Purchase,
               AccountCreation,
               AccountLogin,
               AccountUpdate,
               CustomFraudEvaluation,
               Account,
               PaymentInstrument,
               Email
          }
     public enum LabelSourceName
          {
               CustomerEscalation,
               Chargeback,
               TC40_SAFE,
               ManualReview,
               Refund,
               OfflineAnalysis,
               AccountProtectionReview
          }
     public enum LabelStateName
          {
               InquiryAccepted,
               Fraud,
               Disputed,
               Reversed,
               Abuse,
               ResubmittedRequest,
               AccountCompromised,
               AccountNotCompromised
          }
     public enum LabelReasonCodeName
          {
               ProcessorResponseCode,
               BankResponseCode,
               FraudRefund,
               AccountTakeOver,
               PaymentInstrumentFraud,
               AccountFraud,
               Abuse,
               FriendlyFraud,
               AccountCredentialsLeaked,
               PassedAccountProtectionChecks
          }

Tillykke! Du har gennemført træningen og er klar til at bruge egenskaberne for kontobeskyttelse i Fraud Protection.

Næste trin

Du kan finde oplysninger om, hvordan du får adgang til de andre egenskaber i Fraud Protection, i følgende dokumenter: