Google Cloud Armor 聊天机器人管理概览

Google Cloud Armor 通过与 reCAPTCHA Enterprise 的原生集成,有效管理自动化客户端向后端发送的请求。reCAPTCHA Enterprise 使用高级风险分析技术来区分真人用户和自动化客户端。通过集成,reCAPTCHA Enterprise 会发出加密令牌,其中包含 reCAPTCHA Enterprise 评估以及与请求相关的风险的相关特性。Google Cloud Armor 解码此令牌时,无需向 reCAPTCHA Enterprise 服务器发送额外的请求/响应。Google Cloud Armor 可以根据令牌特性允许、阻止或重定向传入请求。

Google Cloud Armor 的聊天机器人管理具有以下集成功能。

  • 手动验证
    • 您可以在内部重定向包含可选的手动验证的 reCAPTCHA Enterprise 评估请求,并豁免通过评估的用户。
    • 您无需执行任何 reCAPTCHA Enterprise 实现。
    • 您必须配置安全政策规则,以重定向到 reCAPTCHA Enterprise 评估。
  • 强制执行 reCAPTCHA Enterprise 评估
    • 您可以评估附加到请求的 reCAPTCHA Enterprise 令牌,并根据令牌特性制定安全政策决策,而无需后端参与,也不会产生与解密令牌相关的请求/响应的网络费用。
    • 您必须选择使用 reCAPTCHA Enterprise action-token 或 session-token,并执行 reCAPTCHA Enterprise 实现,以便将令牌附加到请求。
    • 您必须配置评估 reCAPTCHA Enterprise 令牌的安全政策规则。

除了之前基于 reCAPTCHA Enterprise 集成的功能外,Google Cloud Armor 聊天机器人管理还具有以下功能。

  • 重定向 (302)
    • 您可以将请求重定向到配置的备用网址,并返回 302 响应。
  • 修饰请求
    • 在将请求代理到后端之前,您可以先将自定义标头插入到请求中。

使用场景

本部分介绍了如何使用聊天机器人管理来控制自动化客户端的访问权限:

使用手动验证来区分合法用户和自动客户端

您可以将请求重定向到 reCAPTCHA Enterprise 以评估用户,并在必要时进行手动验证,而无需任何额外的 reCAPTCHA Enterprise 实现。当真人用户与聊天机器人或滥用系统共用相同的签名(例如网址路径或其他 L7 签名)时,他们可以通过此操作证明自己是真人并获得访问权限,而不会被阻止。只有通过评估的用户可以获取豁免 Cookie 并获得对您服务的访问权限。

下图展示了手动验证如何区分请求是来自真人还是自动化客户端:

重定向到 reCAPTCHA 的示例。
重定向到 reCAPTCHA 的示例(点击可放大)

假设用户 Maya 和聊天机器人都在浏览您的网站 (www.myapp.com) 下的登录页面 (/login.html)。如需向 Maya 授予访问权限而不向聊天机器人授予访问权限,您可以使用以下规则将请求重定向到 reCAPTCHA Enterprise 进行评估:

request.path.matches(\"/login.html\") => redirect, type=GOOGLE_RECAPTCHA

最终用户首次访问您的网站时,请求会重定向到内部的 Google reCAPTCHA Enterprise 服务,该服务会返回嵌入了 reCAPTCHA Enterprise JavaScript 的 HTML 页面。该页面呈现后,嵌入的 JavaScript 会运行以评估用户,并在必要时进行手动验证。通过 reCAPTCHA Enterprise 评估的用户会收到一个豁免 Cookie,该 Cookie 会被浏览器自动附加到后续对同一网站的所有请求,直到该 Cookie 过期。未通过评估的用户不会收到豁免 Cookie。在此示例中,只有 Maya 的浏览器才会收到豁免 Cookie。具有有效豁免 Cookie 的请求会免除额外的重定向,因此可以访问您的网站。

强制执行 reCAPTCHA Enterprise 评估

如果存在附加到传入请求的 reCAPTCHA Enterprise 令牌,则 Google Cloud Armor 会根据令牌中的各个特性评估该请求并应用配置的操作。

reCAPTCHA Enterprise 令牌

reCAPTCHA Enterprise 颁发两种类型的令牌:action-token 和 session-token。这两种类型的令牌都包含一些特性,包括表示用户是真人的可能性的置信度得分。

在配置安全政策以评估 reCAPTCHA Enterprise 令牌之前,您必须选择使用 action-token 和/或 session-token。我们建议您阅读 reCAPTCHA Enterprise 文档以确定您的决策。如需了解详情,请参阅 reCAPTCHA Enterprise 用例比较

确定要使用的令牌类型后,请对要附加到请求的令牌执行 reCAPTCHA Enterprise 实现。如需了解如何在 reCAPTCHA Enterprise 中实现令牌,请参阅实现 reCAPTCHA Enterprise action-token 以及实现 reCAPTCHA Enterprise session-token

最后,设置 Google Cloud Armor 用于评估附加到请求的 reCAPTCHA Enterprise 令牌的安全规则。

下图展示了 reCAPTCHA Enterprise 令牌强制执行流程。

reCAPTCHA 令牌强制执行流程。
reCAPTCHA 令牌强制执行流程(点击可放大)

重定向(302 响应)

您可以使用基于网址的重定向操作,在外部将请求重定向到其他端点。您需要以网址的形式提供重定向目标,而 Google Cloud Armor 通过向客户端提供 302 响应来重定向请求。

修饰请求

Google Cloud Armor 可以在将请求代理到您的应用之前插入自定义请求标头。通过此方式,您可以在可能执行替代处理或分析时标记可疑请求。请注意,此操作参数必须添加到现有操作(如 allow)中。

后续步骤