Ügyfélfiókok védelmének beállítása
A Microsoft Dynamics 365 Csalás elleni védelem fiókvédelmi képességeket tartalmaz, amelyekkel felmérheti, hogy gyanús tevékenységek történnek-e az üzleti ökoszisztémában. Ezek a képességek közé tartoznak a kockázatértékelési képességek, amelyekkel letilthatja vagy megtámadhatja a fiókok létrehozására vagy a meglévő fiókok feltörésére tett csalárd kísérleteket. Íme néhány példa:
- API-k valós idejű kockázatértékeléshez
- Egy szabály- és listaélmény, amellyel üzleti igényeinek megfelelően optimalizálhatja a kockázati stratégiát
- A csalás elleni védelem hatékonyságának és trendjeinek monitorozására használható irányítópultok monitorozása az ökoszisztémában
A fiókvédelem háromféle fiók életciklus-eseményt fed le: fióklétrehozás, fiókbeléptetés és egyéni értékelés. Minden eseménytípushoz több védelmi sor tartozik:
- Hatékony robotészlelés: Ha a Fraud Protection automatizált kísérletet észlel a feltört hitelesítő adatok listájának vagy a fiókok létrehozásához vagy módosításához szükséges találgatások listájának használatára, az első védelmi vonal a dinamikus és robusztus robotészlelés. Ez a fejlett adaptív mesterséges intelligencia (AI) gyorsan létrehoz egy pontszámot, amely megfelel annak a valószínűségének, hogy egy robot elindítja az eseményt.
- Valós idejű megerősített értékelés: A Csalás elleni védelem a következő védelmi vonalként AI-modelleket használ a kockázatértékelési pontszám létrehozásához. Ezt a pontszámot szabályokkal használhatja a bejelentkezési és regisztrációs kísérletek jóváhagyására, megtámadására, elutasítására vagy áttekintésére az üzleti igények alapján.
A dokumentum céljai
Ez a dokumentum végigvezeti a következő tevékenységeken:
3. lépés: A fiókvédelmi események ismertetése
A tevékenységek elvégzése után a fiókvédelemmel letilthatja vagy megtámadhatja a meglévő fiókok feltörésére tett gyanús kísérleteket.
Előfeltételek
A dokumentum tevékenységeinek megkezdése előtt el kell végeznie a következő feladatokat:
- A Csalás elleni védelem beállítása Egy Microsoft Entra-bérlőben a Csalásvédelem próbaverziójának beállítása című témakörben leírtak szerint.
- Eszköz ujjlenyomatának beállítása.
1. lépés: Fiókvédelmi API-k implementálása
A Fraud Protection funkcióinak teljes körű kihasználásához küldje el tranzakciós adatait a valós idejű API-knak.
- A kiértékelés során elemezheti a Fraud Protection használatának eredményeit.
- A védelmi felületen a konfigurált szabályokon alapuló döntéseket is tiszteletben tarthatja.
A csalás elleni védelem használatának módjától függően különböző fiókvédelmi API-kat használhat. Ilyen API-k például a következők: AccountCreation, AccountLogin, AccountCreationStatus, AccountLoginStatus, AccountUpdate, Label és Custom Events.
A támogatott eseményekről további információt a Dynamics 365 Fraud Protection API-val kapcsolatban talál.
2. lépés: Microsoft Entra-alkalmazások létrehozása
Fontos
A lépés végrehajtásához a Microsoft Entra-bérlő alkalmazásadminisztrátorának, felhőalkalmazás-rendszergazdájának vagy globális rendszergazdájának kell lennie.
Az API-k meghívásához szükséges jogkivonatok beszerzéséhez használja a Fraud Protectiont a Microsoft Entra-alkalmazások konfigurálásához.
Microsoft Entra-alkalmazás konfigurálása
A Csalás elleni védelem portál bal oldali navigációs sávján válassza a Beállítások, majd a Hozzáférés-vezérlés lehetőséget.
Válassza az Alkalmazáshozzáférés lehetőséget. A + Alkalmazásszerepkör(ek) hozzárendelése legördülő listában válassza az Új alkalmazás létrehozása lehetőséget, majd töltse ki a mezőket az alkalmazás létrehozásához. A következő mezők szükségesek:
Alkalmazás megjelenítendő neve – Adjon meg egy leíró nevet az alkalmazásnak. A maximális hossz 93 karakter.
Hitelesítési módszer – Válassza ki, hogy a hitelesítéshez tanúsítvány vagy titkos kód (jelszóval védett) van-e használva.
- Válassza a Tanúsítvány lehetőséget, majd válassza a Fájl kiválasztása lehetőséget a nyilvános kulcs feltöltéséhez. A jogkivonatok beszerzésekor szüksége lesz a megfelelő titkos kulcsra.
- Válassza a Titkos kód lehetőséget, ha automatikusan létrehoz egy jelszót az alkalmazás létrehozása után. A titkos kódok nem olyan biztonságosak, mint a tanúsítványok.
Válassza ki az alkalmazáshoz hozzárendelni kívánt API-szerepköröket a Szerepkörök legördülő listában. Alapértelmezés szerint a Risk_API szerepkör van kiválasztva. Az API-szerepköröket bármikor szerkesztheti.
- Risk_API – Az Risk_API szerepkörökhöz hozzárendelt Entra-alkalmazások meghívhatják a Fraud Protection felmérési és megfigyelési események API-végpontjait.
- Provisioning_API – Az Provisioning_API szerepkörökhöz rendelt Entra-alkalmazások meghívhatják a Fraud Protection kiépítési API-végpontját, amely lehetővé teszi a nem gyökérkörnyezetek létrehozását, frissítését és törlését.
Fontos
Egy meglévő Entra-alkalmazás API-szerepkörei bármikor szerkeszthetők. További információért tekintse meg a Microsoft Entra alkalmazáshozzáférésének konfigurálását ismertető cikket.
- Amikor befejezte a mezők kitöltését, válassza az Alkalmazás létrehozása lehetőséget.
A Megerősítő oldal összegzi az alkalmazás nevét és azonosítóját, valamint a tanúsítvány ujjlenyomatát vagy titkos kódját a kiválasztott hitelesítési módszertől függően.
Fontos
Mentse a tanúsítvány ujjlenyomatával vagy titkos kulcsával kapcsolatos információkat a későbbi referenciához. Ez az információ csak egyszer jelenik meg.
További alkalmazások létrehozása
Az API-hívások éles környezetben való futtatásához annyi alkalmazást hozhat létre, amennyi szükséges.
- Az Alkalmazáshozzáférés lapon válassza az Új alkalmazás létrehozása lehetőséget a felső navigációs sáv Alkalmazásszerepkör(ek) hozzárendelése legördülő menüjében.
- Töltse ki a mezőket az alkalmazás létrehozásához, majd válassza az Alkalmazás létrehozása lehetőséget.
A Csalás elleni védelem valós idejű API-k meghívása
Az ebben a szakaszban található információk segítségével integrálhatja rendszereit a Fraud Protection szolgáltatással.
Szükséges azonosítók és információk
- API-végpont – A környezet URI-ja megjelenik a Csalás elleni védelem irányítópult Fiókinformáció csempéjén.
- Címtár (bérlő) azonosítója – A címtárazonosító egy bérlő tartományának globálisan egyedi azonosítója (GUID) az Azure-ban. Megjelenik az Azure Portalon és a Csalás elleni védelem irányítópult Fiókinformáció csempéjén.
- Alkalmazás (ügyfél) azonosítója – Az alkalmazásazonosító azonosítja az API-k meghívásához létrehozott Microsoft Entra-alkalmazást. Ezt az azonosítót a megerősítést kérő oldalon találja, amely azután jelenik meg, hogy az API Management lapon az Alkalmazás létrehozása lehetőséget választja. Később az Azure Portal Alkalmazásregisztrációk alatt is megtalálhatja. Minden létrehozott alkalmazáshoz egy azonosító tartozik.
- Tanúsítvány ujjlenyomata vagy titkos kódja – A tanúsítvány ujjlenyomatát vagy titkos kulcsát a megerősítést kérő oldalon találja, amely azután jelenik meg, hogy az API Management lapon az Alkalmazás létrehozása lehetőséget választja.
- Példányazonosító – A példányazonosító a környezet globálisan egyedi azonosítója (GUID) a Fraud Protectionben. Megjelenik a Csalás elleni védelem irányítópult Integráció csempéjén.
Hozzáférési jogkivonat létrehozása
Ezt a jogkivonatot minden API-híváshoz létre kell hoznia, és meg kell adnia. Vegye figyelembe, hogy a hozzáférési jogkivonatok élettartama korlátozott. Javasoljuk, hogy gyorsítótárazza és használja újra az egyes hozzáférési jogkivonatokat, amíg el nem ér egy újat. Az alábbi C#-kódminták bemutatják, hogyan szerezhet be jogkivonatot a tanúsítvány vagy a titkos kód használatával. Cserélje le a helyőrzőket a saját adataira.
TANÚSÍTVÁNY ujjlenyomata
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;
}
Titkos 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;
}
Válasz
A színfalak mögött az előző kód létrehoz egy HTTP-kérést, és az alábbi példához hasonló választ kap.
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>"
}
A hozzáférési jogkivonatokkal kapcsolatos további információkért tekintse meg a következő Azure-dokumentációt:
- Hozzáférési jogkivonatok lekérése ügyféljogkivonatokkal a Microsoft Entra-azonosítóból
- Gyorsítótár hozzáférési jogkivonatai
Az API-k meghívása
- Minden kéréshez adja át a következő szükséges HTTP-fejléceket.
Fejléc neve | Fejléc értéke |
---|---|
Engedélyezés | A fejléchez használja a következő formátumot: Bearer accesstoken Ebben a formátumban az accesstoken a Microsoft Entra ID által visszaadott jogkivonat. |
x-ms-correlation-id | Küldjön egy új GUID-értéket minden egyes, együtt végrehajtott API-hívásra. |
Content-Type | application/json |
x-ms-dfpenvid | Küldje el a példányazonosító GUID-értékét. |
Eseményalapú hasznos adatok létrehozása. Töltse ki az eseményadatokat a rendszerből származó releváns információkkal.
A támogatott eseményekről további információt a Dynamics 365 Fraud Protection API-val kapcsolatban talál.
Egyesítse a fejlécet (amely tartalmazza a hozzáférési jogkivonatot) és a hasznos adatokat, majd küldje el őket a Fraud Protection-végpontra. (Az API-végpont a környezet URI-ja, és megjelenik a Csalás elleni védelem irányítópult Fiókinformáció csempéjén.)
Az API-kkal kapcsolatos további információkért lásd Dynamics 365 Fraud Protection API-t.
3. lépés: A fiókvédelmi események ismertetése
Fiók létrehozása
A Fiók létrehozása esemény használatával információkat és kontextust küldhet egy új fiók létrehozására tett bejövő kísérletről. A válasz tartalmaz egy döntést a Fióklétrehozási API-hoz.
URI: API Endpoint>/v1.0/action/account/create/<signUpId <>
A signUpId értékének kérésenként egyedinek kell lennie. Ennek meg kell egyeznie az alábbi mintában szereplő metaadatszakasz értékével.
Fontos
A deviceContextId értékének meg kell egyeznie az eszköz ujjlenyomat-beállításában szereplő session_id értékével.
Minta hasznos adatok
{
"device": {
"deviceContextId": "2cf391cc-62d2-47d4-a9c1-78ec025293da",
"ipAddress": "192.168.8.214",
"provider": "DFPFingerprinting",
"externalDeviceId": "1234567890",
"externalDeviceType": "Tablet"
},
"user": {
"userId": " 00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"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"
}
Fiók bejelentkezése
A fiókbeléptetési esemény használatával információkat és kontextust küldhet egy új fiókbeléptetési kísérletről. A válasz a Fiók bejelentkezési API-jának döntését tartalmazza.
URI: API Endpoint>/v1.0/action/account/login/<<userId>
A userId értékének meg kell egyeznie a hasznos adat értékével. Minden felhasználónak egyedi értékkel kell rendelkeznie. A GUID-érték itt használható.
Fontos
A deviceContextId értékének meg kell egyeznie az eszköz ujjlenyomat-beállításában szereplő session_id értékével.
Minta hasznos adatok
{
"device": {
"deviceContextId": "2ef10376-2ba8-4f36-a911-da438e5e5e27",
"ipAddress": "192.168.8.214",
"provider": "DFPFingerprinting",
"externalDeviceId": "1234567890",
"externalDeviceType": "Computer"
},
"user": {
"userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"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"
}
Fiók létrehozási állapota
A Fiók létrehozása állapot esemény használatával információkat és kontextust küldhet egy új fiókállapot létrehozására tett bejövő kísérletről. A válasz egy döntést tartalmaz a Fiók létrehozása állapot API-hoz.
URI: API Endpoint>/v1.0/observe/account/create/status/<signUpId <>
A userId értékének meg kell egyeznie a hasznos adat értékével. Minden felhasználónak egyedi értékkel kell rendelkeznie. A GUID-érték itt használható.
Minta hasznos adatok
{
"metadata":{
"signUpId":"a6221a3f-c38c-429e-8fde-3026d8c29ed3",
"userId":"11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
"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"
}
Fiók bejelentkezési állapota
A fiók bejelentkezési állapotának eseményével információkat és kontextust küldhet egy új fiók bejelentkezési állapotának létrehozására tett bejövő kísérletről. A válasz a Fiók bejelentkezési állapot API-jának döntését tartalmazza.
URI: API Endpoint>/v1.0/observe/account/login/status/<<userId>
A signUpId értékének meg kell egyeznie a hasznos adatokban szereplő értékkel. Mindegyiknek egyedi értékkel kell rendelkeznie. A GUID-érték itt használható.
Minta hasznos adatok
{
"metadata":{
"loginId":"dc4ea331-a6e5-4aa0-8eba-16b4d516a07d",
"userId":"11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
"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"
}
Címke
A Címke esemény használatával további információkat küldhet a Csalás elleni védelemnek a virtuális csalások elemzőjét és figyelési funkcióit tájékoztató adatok mellett. A Label API további információkat nyújt a modell betanításához, amely további csalási jeleken alapul. Emellett információkat küld a tranzakciókról, a számla vagy a fizetési eszköz részleteiről és a visszafordulásokról.
URI: API Endpoint>/v1.0/label/account/create/<<userId>
A userId értékének meg kell egyeznie a megfelelő fiók bejelentkezési API-jának értékével.
Minta hasznos adatok
{
"metadata": {
"name": "AP.Label.Metadata",
"userId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
"merchantTimeStamp": "2020-06-14T21:53:27.8822492-08:00",
"trackingId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
},
"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
}
Gratulálunk! Sikeresen elvégezte a képzést, és készen áll a Fraud Protection fiókvédelmi képességeinek használatára.
Következő lépések
A csalás elleni védelem egyéb képességeinek eléréséről és használatáról az alábbi dokumentumokban tájékozódhat: