你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 Azure Active Directory B2C 配置 Microsoft Dynamics 365 Fraud Protection

组织可以使用 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 概述

先决条件

若要开始,需要:

方案描述

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 终结点进行通信。 通过向 Microsoft Entra 租户授予 client_credentials 进行 API 身份验证,在该租户中,Microsoft DFP 已获得许可并进行安装,以获取持有者令牌。

以下体系结构图体现了实施详情。

Microsoft Dynamics365 fraud protection 体系结构示意图。

  1. 用户进入登录页,选择创建新帐户的选项,然后输入信息。 Azure AD B2C 收集用户属性。
  2. Azure AD B2C 调用 Microsoft DFP API 并传递用户属性。
  3. Microsoft DFP API 使用这些信息并对其进行处理,然后将结果返回 Azure AD B2C。
  4. Azure AD B2C 接收从 Microsoft DFP API 返回的信息。 如果发生故障,则显示错误消息。 如果成功,则表明用户已通过身份验证且写入到目录中。

设置解决方案

  1. 创建 Facebook 应用程序,该应用程序配置为允许与 Azure AD B2C 联合。
  2. 添加创建的 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 模板

  1. 将提供的 Azure AD B2C UI 模板部署到面向公众的 Internet 托管服务(例如 Azure Blob 存储)。
  2. 将值 https://<YOUR-UI-BASE-URL>/ 替换为部署位置的根 URL。

注意

稍后需要基 URL 来配置 Azure AD B2C 策略。

  1. ui-templates/js/dfp.js 文件中,将 <YOUR-DFP-INSTANCE-ID> 替换为 Microsoft DFP 实例 ID。
  2. 确保为 Azure AD B2C 域名 https://{your_tenant_name}.b2clogin.comyour custom domain 启用了 CORS。

有关详细信息,请参阅 UI 自定义文档

Azure AD B2C 配置

为 Microsoft DFP 客户端应用 ID 和机密添加策略密钥

  1. 在设置 Microsoft DFP 的 Microsoft Entra 租户中,创建一个 Microsoft Entra 应用程序并授予管理员同意
  2. 为此应用程序注册创建机密值。 记下应用程序客户端 ID 和客户端机密值。
  3. 将客户端 ID 和客户端机密值另存为 Azure AD B2C 租户中的策略密钥

注意

稍后需要策略密钥来配置 Azure AD B2C 策略。

替换配置值

在提供的自定义策略中,查找以下占位符,并将它们替换为你实例中的相应值。

占位符 替换为 说明
{Settings:Production} 是否在生产模式下部署策略 truefalse
{Settings:Tenant} 你的租户短名称 your-tenant - 来自 your-tenant.onmicrosoft.com
{Settings:DeploymentMode} 要使用的 Application Insights 部署模式 ProductionDevelopment
{Settings:DeveloperMode} 是否在 Application Insights 开发人员模式下部署策略 truefalse
{Settings:AppInsightsInstrumentationKey} Application Insights 实例的检测密钥* 01234567-89ab-cdef-0123-456789abcdef
{Settings:IdentityExperienceFrameworkAppId}在 Azure AD B2C 租户中配置的 IdentityExperienceFramework 应用的应用 ID 01234567-89ab-cdef-0123-456789abcdef
{Settings:ProxyIdentityExperienceFrameworkAppId} Azure AD B2C 租户中配置的 ProxyIdentityExperienceFramework 应用的应用 ID 01234567-89ab-cdef-0123-456789abcdef
{Settings:FacebookClientId} 配置用于与 B2C 进行联接的 Facebook 应用的应用 ID 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} DFP 已获得许可并安装的 Microsoft Entra 租户(非 B2C)的 ID 01234567-89ab-cdef-0123-456789abcdefconsoto.onmicrosoft.com
{Settings:DfpAppClientIdKeyContainer} 将 DFP 客户端 ID 另存为的策略密钥的名称 B2C_1A_DFPClientId
{Settings:DfpAppClientSecretKeyContainer} 将 DFP 客户端机密另存为的策略密钥的名称 B2C_1A_DFPClientSecret
{Settings:DfpEnvironment} DFP 环境的 ID。 环境 ID 是将数据发送到的 DFP 环境的全局唯一标识符。 自定义策略应调用 API 终结点,包括查询字符串参数 x-ms-dfpenvid=your-env-id>

*可以在 Microsoft Entra 租户或订阅中设置 Application Insights。 此值是可选的,但建议使用它来帮助调试

注意

将许可通知添加到“属性集合”页。 包括记录用户遥测和标识信息以保护帐户的通知。

配置 Azure AD B2C 策略

  1. 转到 Policies 文件夹中的 Azure AD B2C 策略
  2. 按照自定义策略初学者包中的说明下载 LocalAccounts 初学者包
  3. 为 Azure AD B2C 租户配置策略。

注意

更新提供的策略,使其与你的租户相关。

测试用户流

  1. 打开 Azure AD B2C 租户,在“策略”下选择“Identity Experience Framework”。
  2. 选择前面创建的“SignUpSignIn”。
  3. 选择“运行用户流”。
  4. 应用程序:注册的应用(示例为 JWT)。
  5. 回复 URL:重定向 URI。
  6. 选择“运行用户流”。
  7. 完成注册流并创建帐户。

提示

在流中调用 Microsoft DFP。 如果流未完成,请确认用户是否未保存在目录中。

注意

如果使用的是 Microsoft DFP 规则引擎,请在 Microsoft DFP 门户中更新规则。

后续步骤