本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Web 搜索的身份和访问管理
亚马逊 Bedrock 上的网络搜索使用 AWS Identity and Access Management (IAM) 来控制谁可以进行搜索和提取,以及在哪些区域进行搜索和提取。本页介绍该服务的 IAM 前缀、操作、 AWS 托管策略、条件密钥、示例策略以及管理员用于禁用 Web Search 的控件。
网络搜索的 IAM 服务前缀是bedrock-websearch。例如,在编写策略声明时使用此前缀bedrock-websearch:InvokeSearch。
操作
Web 搜索支持三种操作。
| Action | 描述 | 访问级别 |
|---|---|---|
bedrock-websearch:InvokeSearch |
发出搜索查询。返回亚马逊 Bedrock 网络索引中的网址、标题和摘要。不拨打外线电话。 | 读/写 |
bedrock-websearch:InvokeFetch |
检索特定 URL 的页面内容。Fetch 仅使用亚马逊 Bedrock 缓存,除非请求还启用了外部 Web 访问并且允许身份使用它。 | 读/写 |
bedrock-websearch:ExternalWebAccess |
在缓存丢失后,允许 Fetch 从外部 Web 检索。搜索继续使用亚马逊 Bedrock 网络索引。 | 读/写 |
所有三个操作都支持*资源类型。
该模型根据其对每个请求的推理以及对先前工具调用的响应来决定何时调用 search 以及何时调用 fetch。无论何时将这两种工具添加到请求中,都会web_search向模型公开;IAM 权限不会更改模型看到的内容,并且仅在模型实际尝试该调用时才会评估每个权限。当呼叫被拒绝时,模型可以继续使用其已经拥有或从另一个工具调用中获得的信息。不能保证模型的回应会披露否认情况。要审核被拒绝的呼叫,请启用 Web Search CloudTrail 的数据事件记录功能。
这两个操作赋予不同的能力。有InvokeSearch但不是InvokeFetch,该模型可以进行搜索并在搜索返回的标题、网址和片段中找到答案,但无法读取页面的缓存内容。有InvokeFetch但不是InvokeSearch,该模型无法运行搜索来发现来源,但是 fetch 仍然适用于该模型生成的任何 URL(您在请求中提供的网址或模型根据自己的知识生成的网址),但须遵守配置的 Fetch 模式和权限。Fetch 不仅限于您提供的网址,因此,如果您打算将模型限制为特定来源,则InvokeSearch仅限于限制并不能实现这一点。
托管策略
Web 搜索提供以下 AWS 托管策略。
| 托管策略 | 授权 |
|---|---|
AmazonBedrockWebSearchFullAccess |
仅限搜索和缓存提取操作。此政策不允许外部 Web 访问。 |
AmazonBedrockWebSearchReadOnly |
在只读变体中搜索和缓存提取操作,没有外部 Web 访问权限。提供与其他 AWS 服务同等的功能,并提供策略自动化,要求每项服务都有一个 ReadOnly 策略。 |
AmazonBedrockExternalWebSearchFullAccess |
所有三个 Web 搜索操作ExternalWebAccess,包括对所有 Web 搜索资源执行的操作。 |
AmazonBedrockExternalWebSearchReadOnly |
策略名称下的操作和资源为AmazonBedrockExternalWebSearchFullAccess ReadOnly 策略命名和自动化约定提供了相同的操作和资源。 |
重要
AmazonBedrockExternalWebSearchReadOnly和的当前版本AmazonBedrockExternalWebSearchFullAccess具有相同的有效权限。该 ReadOnly 政策不限制外部网络检索。如果您需要更窄的权限集,请使用自定义策略。
除了上述特定于 Web 搜索的策略外,基本的 Web 搜索操作(bedrock-websearch:InvokeSearch和bedrock-websearch:InvokeFetch)已添加到以下 AWS 托管策略中:
-
AmazonBedrockFullAccess -
AmazonMantleFullAccess -
AmazonBedrockLimitedAccess -
AmazonBedrockMantleInferenceAccess
这些一般政策都不允许bedrock-websearch:ExternalWebAccess。持有这些信息的身份可以使用搜索。要在不进行额外策略更改的情况下使用缓存的 Fetch,请明确设置external_web_access为false。如果您将参数保留为默认值,则在读取缓存之前true,每次 Fetch 尝试都会失败授权。必须明确授予从外部网络进行检索的权限。AmazonBedrockFullAccess不同于AmazonBedrockExternalWebSearchFullAccess,后者授予所有 Web 搜索操作,包括ExternalWebAccess;相比之下AmazonBedrockWebSearchFullAccess,它仅允许搜索和缓存提取。
条件键
Web 搜索提供以下 IAM 条件密钥:
| 条件密钥 | 适用于 | 描述 |
|---|---|---|
aws:RequestedRegion |
这两个动作 | 将网络搜索限制在特定区域。这是标准的 AWS 全局条件密钥。 |
禁用 Web 搜索
管理员可以在多个范围内关闭 Web 搜索。
| 范围 | 机制 |
|---|---|
| Organization(组织) | 拒绝 AWS 组织内所有bedrock-websearch操作的服务控制策略 (SCP)。 |
| Account | 标准的 IAM 拒绝这些bedrock-websearch操作。 |
| Region | 使用aws:RequestedRegion条件键的拒绝。 |
该模型根据每个请求的内容决定何时调用 search 以及何时调用 fetch。在限制或禁用任一操作之前,请测试您的特定请求模式以了解它们触发了哪些操作。这样,您就可以确认政策变更具有预期的效果,并且不会意外降低响应的质量。
策略示例
允许在特定区域进行搜索和缓存提取
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowWebSearchInRegion", "Effect": "Allow", "Action": [ "bedrock-websearch:InvokeSearch", "bedrock-websearch:InvokeFetch" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-west-2" } } } ] }
允许搜索、缓存提取和外部 Web 访问
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowWebSearchWithExternalAccess", "Effect": "Allow", "Action": [ "bedrock-websearch:InvokeSearch", "bedrock-websearch:InvokeFetch", "bedrock-websearch:ExternalWebAccess" ], "Resource": "*" } ] }
仅允许缓存提取
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCachedFetch", "Effect": "Allow", "Action": [ "bedrock-websearch:InvokeFetch" ], "Resource": "*" } ] }
拒绝组织内的 Web 搜索 (SCP)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllWebSearch", "Effect": "Deny", "Action": "bedrock-websearch:*", "Resource": "*" } ] }