教學課程:使用 Azure Active Directory B2C 設定 Microsoft Dynamics 365 詐騙防護
組織可以使用 Microsoft Dynamics 365 Fraud Protection (DFP) ,在嘗試建立詐騙帳戶和登入期間評估風險。客戶會使用 Microsoft DFP 評定來封鎖或挑戰可疑嘗試建立新的、假帳戶或入侵帳戶。
在本教學課程中,瞭解如何整合 Microsoft DFP 與 Azure Active Directory B2C (Azure AD B2C) 。 有關于如何將 Microsoft DFP 裝置指紋和帳戶建立和登入評定 API 端點納入 Azure AD B2C 自訂原則的指引。
深入瞭解:Microsoft Dynamics 365 Fraud Protection概觀
必要條件
若要開始,您需要:
- Azure 訂用帳戶
- 如果沒有訂用帳戶,您可以取得 Azure 免費帳戶
- 連結至 Azure 訂用帳戶的 Azure AD B2C 租用戶
- Microsoft DFP 訂閱
案例描述
Microsoft DFP 整合包括下列元件:
- Azure AD B2C 租用戶:驗證使用者,並作為 Microsoft DFP 的用戶端。 裝載指紋腳本,收集執行目標原則之使用者的識別和診斷資料。 它會根據 Microsoft DFP 所傳回的規則評估結果,封鎖或挑戰登入或註冊嘗試。
- 自訂 UI 範本:自訂 Azure AD B2C 所呈現頁面的 HTML 內容。 這些頁面包含 Microsoft DFP 指紋所需的 JavaScript 程式碼片段。
- Microsoft DFP 指紋服務:動態內嵌腳本,可記錄裝置遙測和自我判斷的使用者詳細資料,為使用者建立可唯一識別的指紋。
- Microsoft DFP API 端點:提供決策結果,並接受反映用戶端應用程式所採取作業的最終狀態。 Azure AD B2C 會使用 REST API 連接器與 Microsoft DFP 端點通訊。 API 驗證發生于client_credentials授與 Microsoft DFP 授權並安裝以取得持有人權杖的Microsoft Entra租使用者。
下列結構圖顯示該實作。
- 使用者抵達登入頁面、選取建立新帳戶的選項,然後輸入資訊。 Azure AD B2C 會收集使用者屬性。
- Azure AD B2C 會呼叫 Microsoft DFP API,並傳遞使用者屬性。
- 在 Microsoft DFP API 取用並處理資訊之後,會將結果傳回 Azure AD B2C。
- Azure AD B2C 會從 Microsoft DFP API 接收資訊。 如果發生失敗,就會顯示錯誤訊息。 成功之後,使用者會經過驗證並寫入目錄。
設定解決方案
- 建立 Facebook 應用程式,設定為允許與 Azure AD B2C 同盟。
- 新增 Facebook 密碼,您建立為 Identity Experience Framework 原則金鑰。
在 Microsoft DFP 下設定您的應用程式
設定您的Microsoft Entra租使用者以使用 Microsoft DFP。
設定自訂網域
在生產環境中,使用 Azure AD B2C 和 Microsoft DFP 指紋服務的自訂網域。 這兩個服務的網域位於相同的根 DNS 區域中,以防止瀏覽器隱私權設定封鎖跨網域 Cookie。 非生產環境中不需要此設定。
如需環境、服務和網域的範例,請參閱下表。
環境 | 服務 | 網域 |
---|---|---|
部署 | Azure AD B2C | contoso-dev.b2clogin.com |
部署 | Microsoft DFP 指紋 | fpt.dfp.microsoft-int.com |
UAT | Azure AD B2C | contoso-uat.b2clogin.com |
UAT | Microsoft DFP 指紋 | fpt.dfp.microsoft.com |
生產 | Azure AD B2C | login.contoso.com |
生產 | Microsoft DFP 指紋 | fpt.login.contoso.com |
部署 UI 範本
- 將提供的 Azure AD B2C UI 範本部署到公開的網際網路主機服務 (例如 Azure Blob 儲存體)。
- 將值
https://<YOUR-UI-BASE-URL>/
取代為您部署位置的根 URL。
注意
稍後,您將需要基底 URL 來設定 Azure AD B2C 原則。
- 在
ui-templates/js/dfp.js
檔案中,將<YOUR-DFP-INSTANCE-ID>
取代為您的 Microsoft DFP 執行個體識別碼。 - 請確定已為您的 Azure AD B2C 網域名稱
https://{your_tenant_name}.b2clogin.com
或your custom domain
啟用 CORS。
深入瞭解: UI 自訂檔
Azure AD B2C 組態
為您的 Microsoft DFP 用戶端應用程式識別碼和密碼新增原則金鑰
- 在設定 Microsoft DFP 的Microsoft Entra租使用者中,建立Microsoft Entra應用程式並授與系統管理員同意。
- 建立此應用程式註冊的秘密值。 請注意應用程式用戶端識別碼和用戶端密碼值。
- 將用戶端識別碼和用戶端密碼值儲存為您 Azure AD B2C 租用戶中的原則金鑰。
注意
稍後,您將需要原則金鑰來設定 Azure AD B2C 原則。
取代組態值
在提供的自訂原則中,找出下列預留位置,並將其取代為您執行個體中的對應值。
預留位置 | 更換為 | 備註 |
---|---|---|
{Settings:Production} | 是否要在生產模式中部署原則 |
true 或 false |
{Settings:Tenant} | 您的租用戶簡短名稱 |
your-tenant - 從 your-tenant.onmicrosoft.com |
{Settings:DeploymentMode} | 要使用的 Application Insights 部署模式 |
Production 或 Development |
{Settings:DeveloperMode} | 是否要在 Application Insights 開發人員模式中部署原則 |
true 或 false |
{Settings:AppInsightsInstrumentationKey} | Application Insights 執行個體的檢測金鑰* | 01234567-89ab-cdef-0123-456789abcdef |
{Settings:IdentityExperienceFrameworkAppId}在 Azure AD B2C 租使用者中設定的 IdentityExperienceFramework 應用程式的應用程式識別碼 | 01234567-89ab-cdef-0123-456789abcdef |
|
{Settings:ProxyIdentityExperienceFrameworkAppId} | 您 Azure AD B2C 租用戶中所設定 ProxyIdentityExperienceFramework 應用程式的應用程式識別碼 | 01234567-89ab-cdef-0123-456789abcdef |
{Settings:FacebookClientId} | 您為與 B2C 同盟所設定 Facebook 應用程式的應用程式識別碼 | 000000000000000 |
{Settings:FacebookClientSecretKeyContainer} | 您儲存 Facebook 應用程式秘密的原則金鑰名稱 | B2C_1A_FacebookAppSecret |
{Settings:ContentDefinitionBaseUri} | 您部署 UI 檔案的端點 | https://<my-storage-account>.blob.core.windows.net/<my-storage-container> |
{Settings:DfpApiBaseUrl} | DFP API 實例的基底路徑,可在 DFP 入口網站中找到 | https://tenantname-01234567-89ab-cdef-0123-456789abcdef.api.dfp.dynamics.com/v1.0/ |
{Settings:DfpApiAuthScope} | DFP API 服務的 client_credentials 範圍 | https://api.dfp.dynamics-int.com/.default or https://api.dfp.dynamics.com/.default |
{Settings:DfpTenantId} | Microsoft Entra租使用者的識別碼, (不是 B2C) ,其中已授權並安裝 DFP |
01234567-89ab-cdef-0123-456789abcdef 或 consoto.onmicrosoft.com |
{Settings:DfpAppClientIdKeyContainer} | 原則金鑰的名稱 - 您可以在其中儲存 DFP 用戶端識別碼 | B2C_1A_DFPClientId |
{Settings:DfpAppClientSecretKeyContainer} | 原則金鑰的名稱 - 您可以在其中儲存 DFP 用戶端密碼 | B2C_1A_DFPClientSecret |
{Settings:DfpEnvironment} | DFP 環境的識別碼。 | 環境識別碼是您傳送資料的 DFP 環境全域唯一識別碼。 您的自訂原則應該呼叫 API 端點,包括查詢字串參數 x-ms-dfpenvid=your-env-id> |
*您可以在Microsoft Entra租使用者或訂用帳戶中設定 application Insights。 這個值是選擇性的,但是建議用來協助進行偵錯。
注意
將同意通知新增至屬性集合頁面。 包含使用者遙測和身分識別資訊的記錄以進行帳戶保護的通知。
設定 Azure AD B2C 原則
- 移至 [Policies] 資料夾中的 Azure AD B2C policy (英文)。
- 依照 自訂原則入門套件 中的指示下載 LocalAccounts 入門套件。
- 設定 Azure AD B2C 租用戶的原則。
注意
更新所提供的原則,以與您的租使用者相關。
測試使用者流程
- 開啟 Azure AD B2C 租用戶,並選取 [原則] 下的 [Identity Experience Framework]。
- 選取您先前所建立的 SignUpSignIn。
- 選取 [執行使用者流程]。
- 應用程式:已註冊的應用程式 (範例為 JWT) 。
- 回復 URL: 重新導向 URL。
- 選取 [執行使用者流程]。
- 完成註冊流程並建立帳戶。
提示
在流程期間會呼叫 Microsoft DFP。 如果流程不完整,請確認使用者未儲存在目錄中。
注意
如果使用 Microsoft DFP 規則引擎,請在 Microsoft DFP 入口網站中更新規則。