使用 Web Bot 身份验证减少验证码
注意
Amazon B AgentCore rowser Web Browser Web Bot 身份验证(预览版)基于 IETF 网络机器人身份验证协议草案,该协议可能会随着规范接近最终确定而发生变化。
+ 当前实现:
+ * 实现细节、API 参数和签名机制可能会随着我们与最终协议规范保持一致而发生变化 * WAF 提供商的支持和政策各不相同。并非所有网站都能识别或允许签名的代理流量 * 域名所有者保留对其机器人策略的完全控制权,并且可以屏蔽、监控或限制代理流量,无论加密签名如何
+ 有关最新的协议规范,请参阅 IETF 草案
Amazon Bed AgentCore rock Browser 通过 Web Bot Auth 减少了 CAPTCHA 挑战,Web Bot Auth 是一项 IETF 协议草案,可通过加密方式向网站和机器人控制供应商识别人工智能代理。
概述
AI 代理在浏览网站时经常遇到反机器人机制,包括 CAPTCHA 挑战、速率限制和请求屏蔽。这些安全措施旨在防止恶意自动流量,但通常也会屏蔽合法的 AI 代理。
网站之所以实施这些防御,是因为它们无法可靠地区分合法代理和恶意机器人。诸如 IP 地址或 User-Agent 字符串之类的传统识别方法很容易被欺骗,并且无法提供可验证的身份。
Web Bot Auth 通过实施用于自动流量的 IETF HTTP 消息签名架构
启用 Web Bot 身份验证后,Amazon B AgentCore rowser 会自动使用私钥对每个 HTTP 请求进行签名,并包含验证标头。机器人控制供应商(例如 Cloudflare、Akamai Technologies 和 HUMAN Security)可以根据公钥目录验证这些签名,并应用网站所有者配置的适当策略。
这种方法为合法的自动化提供了一种标准化的方法,既可以识别自己的身份,又可以保持网站所有者对访问策略的控制。
工作原理
Web Bot Auth 使用 IETF HTTP 消息签名标准对 HTTP 请求进行加密签名:
-
代理注册:亚马逊 Bedrock AgentCore 向机器人控制供应商(Cloudflare、reCaptcha 等)注册,并提供用于验证的公钥
-
请求签名:启用后,浏览器工具会自动使用私钥对每个 HTTP 请求进行签名
-
签名标头:每个请求中添加三个标头:
-
Signature: 加密签名 -
Signature-Agent: 指向公钥目录进行验证 -
Signature-Input: 指定对哪些组件进行了签名
-
-
验证:网站的机器人控制系统获取公钥并验证签名以确认请求来自 Amazon Bedrock AgentCore
-
政策应用:根据经过验证的身份,网站可以应用适当的政策。域名所有者可以将其机器人控制系统配置为:
-
屏蔽所有流量:无论身份验证如何,均拒绝所有自动请求
-
仅允许已签名的机器人:仅接受来自具有有效 Web Bot 身份验证签名的经过验证的代理的请求
-
允许来自特定目录的已签名机器人:允许经过身份验证的代理仅访问网站上的某些路径或资源
-
启用 Web 机器人身份验证
要启用 Web Bot 身份验证,您需要在创建浏览器工具时对其进行配置:
例
重要
Web Bot Auth 需要具有信任策略的执行角色,但不需要任何托管或内联策略。默认情况下,该功能处于禁用状态,并且必须在创建浏览器时明确启用。你应该在执行角色中添加以下信任策略:[source,json,subs= “verbatim,属性”]----{“版本”: “2012-10-17”,“声明”:[{“Sid”: “,“Effect”:“允许”,“主体”:{“服务”:“bedrock-agentcore.amazonaws.com”},“操作”:“sts:“,“条件”:{"BedrockAgentCoreBuiltInTools“: {“aws: “: “: “111122223333"StringEquals}、” “: {“aws: “: “: “arn: aws: AssumeRole bedrock-agentcore: us-east-1:111122223333: SourceAccount *”}}}}----ArnLike SourceArn
支持的机器人控制供应商
Amazon Bedrock AgentCore 目前支持以下机器人控制供应商的 Web 机器人身份验证:
-
Cloudflare
-
人类安全
-
Akamai 科技
-
DataDome
-
F5
随着合作伙伴关系的建立,将为其他机器人控制供应商提供支持。身份验证工作透明——启用后,您的代理可以减少摩擦浏览受这些服务保护的网站。
注意事项
-
透明操作:Web Bot 身份验证一旦启用,就会自动运行。无需在代理应用程序中进行其他代码更改。
-
性能影响:签名请求会将 HTTP 请求的延迟降至最低。
-
供应商覆盖范围:该功能仅适用于使用支持的机器人控制供应商的网站。使用其他反机器人解决方案的网站仍可能面临挑战。
-
取决于策略:即使使用身份验证,网站所有者也可以控制其机器人策略。某些站点可能仍会根据其特定要求限制或监控代理流量。