Sdílet prostřednictvím


Nastavení ochrany zákaznických účtů

Microsoft Dynamics 365 Fraud Protection zahrnuje možnosti ochrany účtů, které vám pomůžou vyhodnotit, jestli se ve vašem obchodním ekosystému vyskytuje nějaká podezřelá aktivita. Mezi tyto možnosti patří možnosti posouzení rizik, které můžete použít k blokování nebo napadení podvodných pokusů o vytvoření účtů nebo ohrožení stávajících účtů. Několik příkladů:

  • Rozhraní API pro posouzení rizik v reálném čase
  • Prostředí pravidel a seznamů, které můžete použít k optimalizaci strategie rizika podle potřeb vaší firmy
  • Monitorovánířídicích

Ochrana účtů zahrnuje tři typy událostí životního cyklu účtu: vytvoření účtu, přihlášení k účtu a vlastní posouzení. Pro každý typ události existuje několik řádků obrany:

  • Efektivní detekce robota: Když ochrana před podvody detekuje automatizovaný pokus o použití seznamu ohrožených přihlašovacích údajů nebo hrubou silou k vytvoření nebo úpravě účtů, je její první linie ochrany dynamická a robustní detekce robotů. Tato pokročilá adaptivní umělá inteligence (AI) rychle vygeneruje skóre mapované na pravděpodobnost, že robot událost iniciuje.
  • Posílené hodnocení v reálném čase: Jako další linie obrany používá ochrana před podvody modely AI k vygenerování skóre hodnocení rizik. Toto skóre můžete použít s pravidly ke schválení, výzvě, odmítnutí nebo kontrole pokusů o přihlášení a registraci na základě obchodních potřeb.

Cíle pro tento dokument

Tento dokument vás provede následujícími aktivitami:

Požadavky

Než začnete s aktivitami v tomto dokumentu, musíte provést následující úkoly:

Krok 1: Implementace rozhraní API ochrany účtů

Pokud chcete využít celou sadu funkcí ochrany před podvody, odešlete data transakcí do rozhraní API v reálném čase.

  • V prostředí pro vyhodnocení můžete analyzovat výsledky použití ochrany před podvody.
  • V prostředí ochrany můžete respektovat rozhodnutí na základě nakonfigurovaných pravidel.

V závislosti na tom, jak chcete použít ochranu před podvody, můžete použít různá rozhraní API ochrany účtů. Mezi příklady těchto rozhraní API patří: AccountCreation, AccountLogin, AccountCreationStatus, AccountLoginStatus, AccountUpdate, Label a vlastní události.

Další informace o podporovaných událostech najdete v tématu Dynamics 365 Fraud Protection API.

Krok 2: Vytvoření aplikací Microsoft Entra

Důležité

Abyste mohli tento krok dokončit, musíte být správcem aplikace, správcem cloudové aplikace nebo globálním správcem ve vašem tenantovi Microsoft Entra.

K získání tokenů potřebných k volání rozhraní API použijte ochranu před podvody ke konfiguraci aplikací Microsoft Entra.

Konfigurace aplikace Microsoft Entra

  1. Na portálu Pro ochranu před podvody v levém navigačním panelu vyberte Data a pak vyberte API Management.

  2. Na stránce API Management vyberte Konfigurace.

  3. Vyberte Vytvořit aplikace a potom vyplňte pole, která chcete vytvořit. Jsou vyžadována následující pole:

    • Zobrazovaný název aplikace – Zadejte popisný název aplikace. Maximální délka je 93 znaků.

    • Prostředí – Vyberte produkční koncový bod.

    • Metoda ověřování – Vyberte, jestli se k ověřování používá certifikát nebo tajný klíč (chráněný heslem).

      • Vyberte Certifikát a pak vyberte Zvolit soubor pro nahrání veřejného klíče. Při získávání tokenů budete potřebovat odpovídající privátní klíč.
      • Výběrem možnosti Tajný kód automaticky vygenerujete heslo po vytvoření aplikace.
  4. Po vyplnění polí vyberte Vytvořit aplikaci.

    Potvrzovací stránka shrnuje název a ID aplikace a buď kryptografický otisk certifikátu, nebo tajný klíč v závislosti na vybrané metodě ověřování.

Důležité

Uložte informace o kryptografickém otisku certifikátu nebo tajném kódu pro budoucí referenci. Tyto informace se zobrazí pouze jednou.

Vytvoření doplňkových aplikací

Můžete vytvořit tolik aplikací, kolik potřebujete ke spouštění volání rozhraní API v produkčních prostředích.

  1. Na kartě Konfigurace vyberte Vytvořit jinou aplikaci.
  2. Vyplňte pole pro vytvoření aplikace a pak vyberte Vytvořit aplikaci.

Volání rozhraní API ochrany před podvody v reálném čase

Informace v této části slouží k integraci systémů s ochranou před podvody.

Požadovaná ID a informace

  • Koncový bod rozhraní API – identifikátor URI pro vaše prostředí se zobrazí na dlaždici Informace o účtu na řídicím panelu Ochrana před podvody.
  • ID adresáře (tenanta) – ID adresáře je globálně jedinečný identifikátor (GUID) domény tenanta v Azure. Zobrazí se na webu Azure Portal a na dlaždici Informace o účtu na řídicím panelu Ochrana před podvody.
  • ID aplikace (klienta) – ID aplikace identifikuje aplikaci Microsoft Entra, kterou jste vytvořili pro volání rozhraní API. Toto ID najdete na potvrzovací stránce, která se zobrazí po výběru možnosti Vytvořit aplikaci na stránce API Management . Najdete ho také později v části Registrace aplikací na webu Azure Portal. Pro každou aplikaci, kterou vytvoříte, bude existovat jedno ID.
  • Kryptografický otisk nebo tajný klíč certifikátu – kryptografický otisk certifikátu nebo tajný klíč najdete na stránce potvrzení, která se zobrazí po výběru možnosti Vytvořit aplikaci na stránce API Management .
  • ID instance – ID instance je globálně jedinečný identifikátor (GUID) pro vaše prostředí v ochraně před podvody. Zobrazí se na dlaždici Integrace na řídicím panelu Ochrana před podvody.

Vygenerování přístupového tokenu

Tento token musíte vygenerovat a poskytnout ho každému volání rozhraní API. Upozorňujeme, že přístupové tokeny mají omezenou životnost. Doporučujeme ukládat do mezipaměti a opakovaně používat každý přístupový token, dokud nebude čas získat nový token. Následující ukázky kódu jazyka C# ukazují, jak můžete token získat pomocí certifikátu nebo tajného kódu. Zástupné symboly nahraďte vlastními informacemi.

Kryptografický otisk CERTIFIKÁTU

   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;
     }

Tajný kód

   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;
     }

Response

Předchozí kód na pozadí vygeneruje požadavek HTTP a obdrží odpověď, která se podobá následujícímu příkladu.

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

Další informace o přístupových tokenech najdete v následující dokumentaci k Azure:

Volání rozhraní API

  1. Pro každý požadavek předejte následující povinná hlavička HTTP.
Název hlavičky Hodnota hlavičky
Autorizace

Pro tuto hlavičku použijte následující formát: Bearer accesstoken

V tomto formátu je přístupovým tokenem vrácený ID Microsoft Entra.

x-ms-correlation-id Odešle novou hodnotu GUID pro každou sadu volání rozhraní API, která jsou vytvořená společně.
Content-Type application/json
x-ms-dfpenvid Odešle hodnotu GUID ID instance.
  1. Vygenerujte datovou část založenou na událostech. Vyplňte data události relevantními informacemi z vašeho systému.

    Další informace o podporovaných událostech najdete v tématu Dynamics 365 Fraud Protection API.

  2. Zkombinujte hlavičku (která zahrnuje přístupový token) a datovou část a odešlete je do koncového bodu Ochrany před podvody. (Koncový bod rozhraní API je identifikátor URI vašeho prostředí a zobrazí se na dlaždici Informace o účtu na řídicím panelu Ochrana před podvody.)

Další informace o rozhraních API najdete v tématu Dynamics 365 Fraud Protection API.

Krok 3: Vysvětlení událostí ochrany účtu

Vytvoření účtu

Pomocí události Vytvoření účtu odešlete informace a kontext o příchozím pokusu o vytvoření nového účtu. Odpověď obsahuje rozhodnutí pro rozhraní API pro vytvoření účtu.

Identifikátor URI: <Koncový bod> rozhraní API/v1.0/action/account/create/<signUpId>

Hodnota signUpId by měla být jedinečná pro každý požadavek. Měla by odpovídat hodnotě v části metadat v následující ukázce.

Důležité

Hodnota deviceContextId by měla odpovídat hodnotě session_id v nastavení otisku prstu zařízení.

Ukázková datová část

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

Přihlášení k účtu

Pomocí události Přihlášení k účtu odešlete informace a kontext o příchozím pokusu o vytvoření nového účtu. Odpověď obsahuje rozhodnutí pro rozhraní API pro přihlášení k účtu.

Identifikátor URI: <Koncový bod> rozhraní API/v1.0/action/account/login/<userId>

Hodnota userId se musí shodovat s hodnotou v datové části. Každý uživatel musí mít jedinečnou hodnotu. Tady můžete použít hodnotu GUID.

Důležité

Hodnota deviceContextId by měla odpovídat hodnotě session_id v nastavení otisku prstu zařízení.

Ukázková datová část

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

Stav vytvoření účtu

Událost Stav vytvoření účtu slouží k odesílání informací a kontextu o příchozím pokusu o vytvoření nového stavu účtu. Odpověď obsahuje rozhodnutí pro rozhraní API pro vytvoření účtu.

Identifikátor URI: <Koncový bod> rozhraní API/v1.0/watch/account/create/status/<signUpId>

Hodnota userId se musí shodovat s hodnotou v datové části. Každý uživatel musí mít jedinečnou hodnotu. Tady můžete použít hodnotu GUID.

Ukázková datová část

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

Stav přihlášení účtu

Pomocí události Stav přihlášení k účtu odešlete informace a kontext o příchozím pokusu o vytvoření nového stavu přihlášení k účtu. Odpověď obsahuje rozhodnutí pro rozhraní API stavu přihlášení k účtu.

Identifikátor URI: <Koncový bod> rozhraní API/v1.0/watch/account/login/status/<userId>

Hodnota signUpId se musí shodovat s hodnotou v datové části. Každá musí mít jedinečnou hodnotu. Tady můžete použít hodnotu GUID.

Ukázková datová část

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

Popisek

Událost Label slouží k odeslání dalších informací do ochrany před podvody, kromě dat, která informují analytika virtuálních podvodů a funkce monitorování. Rozhraní Label API poskytuje další informace pro trénování modelu, které jsou založené na další sadě signálů podvodu. Odesílá také informace o transakcích, podrobnostech o účtu nebo platebním nástroji a o vrácení zpět.

Identifikátor URI: <Koncový bod> rozhraní API/v1.0/label/account/create/<userId>

Hodnota userId se musí shodovat s hodnotou v odpovídajícím rozhraní API pro přihlášení k účtu.

Ukázková datová část

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

Gratulujeme! Úspěšně jste dokončili školení a jste připraveni použít možnosti ochrany účtů služby Fraud Protection.

Další kroky

Informace o přístupu k dalším funkcím ochrany před podvody a jejich používání najdete v následujících dokumentech: