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