

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Web 搜索的身份和访问管理
<a name="security-web-search"></a>

亚马逊 Bedrock 上的网络搜索使用 AWS Identity and Access Management (IAM) 来控制谁可以进行搜索和提取，以及在哪些区域进行搜索和提取。本页介绍该服务的 IAM 前缀、操作、 AWS 托管策略、条件密钥、示例策略以及管理员用于禁用 Web Search 的控件。

网络搜索的 IAM 服务前缀是`bedrock-websearch`。例如，在编写策略声明时使用此前缀`bedrock-websearch:InvokeSearch`。

## 操作
<a name="security-web-search-actions"></a>

Web 搜索支持三种操作。


| **Action** | **描述** | **访问级别** | 
| --- | --- | --- | 
| bedrock-websearch:InvokeSearch | 发出搜索查询。返回亚马逊 Bedrock 网络索引中的网址、标题和摘要。不拨打外线电话。 | 读取/写入 | 
| bedrock-websearch:InvokeFetch | 从亚马逊 Bedrock 缓存中检索特定网址的缓存页面内容。不拨打实时外拨电话。 | 读取/写入 | 
| bedrock-websearch:ExternalWebAccess | 控制除了亚马逊 Bedrock 网络索引和缓存之外，搜索和提取是否可以访问外部网络。适用于这两个操作。 | 读取/写入 | 

所有三个操作都支持`*`资源类型。

该模型根据其对每个请求的推理以及对先前工具调用的响应来决定何时调用 search 以及何时调用 fetch。无论何时将这两种工具添加到请求中，都会`web_search`向模型公开；IAM 权限不会更改模型看到的内容，并且仅在模型实际尝试该调用时才会评估每个权限。当呼叫被拒绝时，模型会继续使用其已有的信息，并告诉你它是否无法检索到足够的最新信息来接听。

这两个操作赋予不同的能力。有`InvokeSearch`但不是`InvokeFetch`，该模型可以进行搜索并在搜索返回的标题、网址和片段中找到答案，但无法读取页面的缓存内容。有`InvokeFetch`但不是`InvokeSearch`，该模型无法通过搜索来发现来源，但是 fetch 仍然适用于该模型生成的任何 URL（您在请求中提供的网址或模型根据自己的知识生成的网址），前提是该内容在 Amazon Bedrock 缓存中。Fetch 不仅限于您提供的网址，因此，如果您打算将模型限制为特定来源，则`InvokeSearch`仅限于限制并不能实现这一点。

## 托管策略
<a name="security-web-search-managed-policies"></a>

Web 搜索提供以下 AWS 托管策略。


| **托管策略** | **授权** | 
| --- | --- | 
| AmazonBedrockWebSearchFullAccess | 仅限搜索和缓存提取操作。此政策不允许外部 Web 访问。 | 
| AmazonBedrockWebSearchReadOnly | 在只读变体中搜索和缓存提取操作，没有外部 Web 访问权限。提供与其他 AWS 服务同等的功能，并提供策略自动化，要求每项服务都有一个 ReadOnly 策略。 | 
| AmazonBedrockExternalWebSearchFullAccess | 所有 Web 搜索操作，包括ExternalWebAccess，没有条件键限制。专为无限制使用而设计。 | 
| AmazonBedrockExternalWebSearchReadOnly | 所有 Web 搜索操作ExternalWebAccess，包括只读变体。提供与其他 AWS 服务同等的功能，并提供策略自动化，要求每项服务都有一个 ReadOnly 策略。 | 

除了上述特定于 Web 搜索的策略外，基本的 Web 搜索操作（`bedrock-websearch:InvokeSearch`和`bedrock-websearch:InvokeFetch`）已添加到以下 AWS 托管策略中：
+ `AmazonBedrockFullAccess`
+ `AmazonMantleFullAccess`
+ `AmazonBedrockLimitedAccess`
+ `AmazonBedrockMantleInferenceAccess`

这些一般政策都不允许`bedrock-websearch:ExternalWebAccess`，因此持有这些政策的身份可以在不进行额外策略更改的情况下使用搜索和缓存的 Fetch，同时必须明确授予从实时网络进行检索的权限。`AmazonBedrockFullAccess`不同于`AmazonBedrockExternalWebSearchFullAccess`，后者授予所有 Web 搜索操作，包括`ExternalWebAccess`；相比之下`AmazonBedrockWebSearchFullAccess`，它仅允许搜索和缓存提取。

## 条件键
<a name="security-web-search-condition-keys"></a>

Web 搜索提供以下 IAM 条件密钥：


| **条件密钥 ** | **适用于** | **描述** | 
| --- | --- | --- | 
| aws:RequestedRegion | 这两个动作 | 将 Web 搜索限制在特定区域。这是标准的 AWS 全局条件密钥。 | 

## 禁用 Web 搜索
<a name="security-web-search-disable"></a>

管理员可以在多个范围内关闭 Web 搜索。


| **范围** | **机制** | 
| --- | --- | 
| Organization（组织） | 拒绝 AWS 组织内所有bedrock-websearch操作的服务控制策略 (SCP)。 | 
| Account | 标准的 IAM 拒绝这些bedrock-websearch操作。 | 
| Region | 使用aws:RequestedRegion条件键的拒绝。 | 

该模型根据每个请求的内容决定何时调用 search 以及何时调用 fetch。在限制或禁用任一操作之前，请测试您的特定请求模式以了解它们触发了哪些操作。这样，您就可以确认政策变更具有预期的效果，并且不会意外降低响应的质量。

## 策略示例
<a name="security-web-search-example-policies"></a>

**允许在特定区域进行搜索和缓存提取 **

```
{
  "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": "*"
    }
  ]
}
```