# Claude in Amazon Bedrock

通过 Amazon Bedrock 访问 Claude 模型，享受 AWS 原生认证、计费和安全边界。

---

本指南将引导您设置和向 Amazon Bedrock 中的 Claude 发起 API 调用。Claude in Amazon Bedrock 运行在 AWS 托管的基础设施上，具有零运维人员访问权限（Anthropic 人员无法访问推理基础设施），让您可以完全在 AWS 安全边界内构建敏感应用程序，同时使用与 Anthropic 第一方 API 相同的 Messages API 格式。

<Note>
本页面介绍 Claude in Amazon Bedrock，它通过 AWS 托管基础设施上的 `/anthropic/v1/messages` 处的 Messages API 提供 Claude 服务。之前的 Amazon Bedrock 集成（使用 ARN 版本化模型标识符的 `InvokeModel` 和 `Converse` API）仍然可用，文档请参阅 [Claude on Amazon Bedrock（旧版）](/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy)。有关 AWS 上 Anthropic 运营的替代方案，具有 AWS Marketplace 计费和通常当天功能访问，请参阅 [Claude Platform on AWS](/docs/en/build-with-claude/claude-platform-on-aws)。
</Note>

## 访问

Claude Opus 4.7 和 Claude Haiku 4.5 对所有 Amazon Bedrock 客户开放。Claude Mythos Preview 需要邀请；请参阅 [Project Glasswing](https://anthropic.com/glasswing)。有关区域可用性，请参阅[区域](#区域)。

## 前提条件

在开始之前，请确保您已：

- 拥有已启用 [Amazon Bedrock 模型访问](https://console.aws.amazon.com/bedrock/home#/modelaccess)的 AWS 账户，可用于您打算使用的 Claude 模型。
- 已安装并配置 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)（可选，用于凭证管理）。

Claude Mythos Preview 还需要一个已获得 Bedrock Marketplace 团队白名单的专用 AWS 账户。您的 Anthropic 客户经理可以提交您的账户 ID 进行白名单（通常在 24 小时内处理），完成后 AWS 会发送欢迎邮件。

## 认证

Claude in Amazon Bedrock 支持三种认证路径。选择最适合您安全需求的路径。

### Bedrock 服务角色（推荐）

使用带有 AWS 托管密钥的 Bedrock 服务角色以获得最安全、最持久的访问：

<Steps>
<Step title="管理员：配置服务角色">
AWS 管理员配置 Bedrock 服务角色，并授予开发者对服务角色 ARN 的 `iam:PassRole` 权限。
</Step>
<Step title="开发者：传递角色">
调用 API 时，Bedrock 会代表您承担服务角色。有关如何将角色与请求关联，请参阅 [Amazon Bedrock 文档](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-mantle.html)。
</Step>
</Steps>

### IAM 假设角色

用于具有 12 小时最大会话的身份联合访问：

<Steps>
<Step title="管理员：配置 IAM 角色">
创建一个限定于您的 Claude 模型的 IAM 角色。信任策略指定您的身份提供商（SAML、OIDC 或 AWS Identity Center）。权限策略仅对允许的模型 ARN 授予 `bedrock-mantle:CreateInference`。
</Step>
<Step title="开发者：认证并假设">
通过您的企业身份提供商进行认证，然后假设 IAM 角色。AWS STS 颁发临时凭证，SDK 或 CLI 使用这些凭证签署请求。
</Step>
</Steps>

### Bearer token

用于不使用 IAM 角色的短期访问（最长 12 小时，最不推荐）：

<Steps>
<Step title="管理员：限制 token 类型">
通过附加策略来阻止长期密钥，该策略拒绝 `bedrock:CallWithBearerToken`，除非 `bedrock:BearerTokenType` 条件匹配短期 token。
</Step>
<Step title="开发者：生成 token">
使用 `aws-bedrock-token-generator` CLI 生成 bearer token。在每个请求的 `x-api-key` 头中传递它。
</Step>
</Steps>

## 安装 SDK

Anthropic 的[客户端 SDK](/docs/en/api/client-sdks) 通过 Bedrock 特定的包或模块支持 Claude in Amazon Bedrock。

<Tabs>
<Tab title="Python">
```bash
pip install -U "anthropic[bedrock]"
```
</Tab>

<Tab title="TypeScript">
```bash
npm install @anthropic-ai/bedrock-sdk
```
</Tab>

<Tab title="C#">
```bash
dotnet add package Anthropic.Bedrock
```
</Tab>

<Tab title="Go">
```bash
go get github.com/anthropics/anthropic-sdk-go/bedrock
```
</Tab>

<Tab title="Java">
<Tabs>
<Tab title="Gradle">
```kotlin
implementation("com.anthropic:anthropic-java-bedrock:2.33.0")
```
</Tab>
<Tab title="Maven">
```xml
<dependency>
    <groupId>com.anthropic</groupId>
    <artifactId>anthropic-java-bedrock</artifactId>
    <version>2.33.0</version>
</dependency>
```
</Tab>
</Tabs>
</Tab>

<Tab title="PHP">
```bash
composer require anthropic-ai/sdk aws/aws-sdk-php
```
</Tab>

<Tab title="Ruby">
```bash
# Gemfile
gem "anthropic"
gem "aws-sdk-core"
```
</Tab>
</Tabs>

## 发起第一个请求

端点遵循 `https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages` 模式。与基于 `InvokeModel` 的集成不同，此端点使用标准 SSE 流式传输以及与 Anthropic 第一方 API 相同的请求体格式。

SDK 使用标准 AWS 优先级解析凭证和区域：构造函数参数，然后环境变量（`AWS_ACCESS_KEY_ID`、`AWS_SECRET_ACCESS_KEY`、`AWS_SESSION_TOKEN`、`AWS_REGION`），然后 AWS 配置文件和凭证链（SSO、假设角色、ECS 任务角色、IMDS）。

<Tabs>
<Tab title="cURL">

```bash nocheck
curl https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \
  --aws-sigv4 "aws:amz:us-east-1:bedrock-mantle" \
  --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
  -H "x-amz-security-token: $AWS_SESSION_TOKEN" \
  -H "content-type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "anthropic.claude-opus-4-7",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello, Claude"}
    ]
  }'
```
</Tab>

<Tab title="CLI">
`ant` CLI 不支持 Amazon Bedrock。请使用 cURL 或 SDK。
</Tab>

<Tab title="Python">

```python nocheck
from anthropic import AnthropicBedrockMantle

client = AnthropicBedrockMantle(aws_region="us-east-1")

message = client.messages.create(
    model="anthropic.claude-opus-4-7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Claude"}],
)

print(message.content[0].text)
```
</Tab>

<Tab title="TypeScript">

```typescript nocheck
import { AnthropicBedrockMantle } from "@anthropic-ai/bedrock-sdk";

const client = new AnthropicBedrockMantle({
  awsRegion: "us-east-1"
});

const message = await client.messages.create({
  model: "anthropic.claude-opus-4-7",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello, Claude" }]
});

const block = message.content[0];
if (block.type === "text") {
  console.log(block.text);
}
```
</Tab>

<Tab title="C#">

```csharp nocheck
using Anthropic.Bedrock;
using Anthropic.Models.Messages;

var client = new AnthropicBedrockMantleClient(new() { AwsRegion = "us-east-1" });

var message = await client.Messages.Create(new()
{
    Model = "anthropic.claude-opus-4-7",
    MaxTokens = 1024,
    Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
});

if (message.Content[0].Value is TextBlock block)
    Console.WriteLine(block.Text);
```
</Tab>

<Tab title="Go">

```go nocheck hidelines={1..11,-1}
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/bedrock"
)

func main() {
	client, err := bedrock.NewMantleClient(context.Background(), bedrock.MantleClientConfig{
		AWSRegion: "us-east-1",
	})
	if err != nil {
		panic(err)
	}

	message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
		Model:     "anthropic.claude-opus-4-7",
		MaxTokens: 1024,
		Messages: []anthropic.MessageParam{
			anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
		},
	})
	if err != nil {
		panic(err)
	}

	fmt.Println(message.Content[0].Text)
}
```
</Tab>

<Tab title="Java">

```java nocheck
import com.anthropic.bedrock.backends.BedrockMantleBackend;
import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.messages.Message;
import com.anthropic.models.messages.MessageCreateParams;

void main() {
    AnthropicClient client = AnthropicOkHttpClient.builder()
        .backend(BedrockMantleBackend.fromEnv())
        .build();

    Message message = client.messages().create(
        MessageCreateParams.builder()
            .model("anthropic.claude-opus-4-7")
            .maxTokens(1024)
            .addUserMessage("Hello, Claude")
            .build()
    );

    IO.println(message.content().getFirst().asText().text());
}
```
</Tab>

<Tab title="PHP">

```php nocheck hidelines={1..2}
<?php

use Anthropic\Bedrock\MantleClient;

$client = new MantleClient(awsRegion: 'us-east-1');

$message = $client->messages->create(
    model: 'anthropic.claude-opus-4-7',
    maxTokens: 1024,
    messages: [
        ['role' => 'user', 'content' => 'Hello, Claude'],
    ],
);

echo $message->content[0]->text;
```
</Tab>

<Tab title="Ruby">

```ruby nocheck
require "anthropic"

client = Anthropic::BedrockMantleClient.new(aws_region: "us-east-1")

message = client.messages.create(
  model: "anthropic.claude-opus-4-7",
  max_tokens: 1024,
  messages: [{role: "user", content: "Hello, Claude"}]
)

puts message.content[0].text
```
</Tab>
</Tabs>

<Tip>
您也可以使用标准的 `Anthropic` 客户端：将 `base_url` 设置为 `https://bedrock-mantle.{region}.api.aws/anthropic`，并将您的 bearer token 作为 `api_key` 传递。此路径仅支持 bearer-token 认证。SigV4 签名需要专用客户端。
</Tip>

## 支持的模型

Claude in Amazon Bedrock 中的模型 ID 带有 `anthropic.` 提供商前缀。模型功能和行为记录在[模型概览](/docs/en/about-claude/models/overview)页面上。

| 模型                 | 模型 ID                          | 访问方式                                                                     |
| --------------------- | --------------------------------- | -------------------------------------------------------------------------- |
| Claude Opus 4.7       | `anthropic.claude-opus-4-7`       | 开放                                                                       |
| Claude Haiku 4.5      | `anthropic.claude-haiku-4-5`      | 开放                                                                       |
| Claude Mythos Preview | `anthropic.claude-mythos-preview` | 仅限邀请 ([Project Glasswing](https://anthropic.com/glasswing))     |

<Tip>
正在升级到更新的 Claude 模型？在 Claude Code 中，运行 `/claude-api migrate` 以在代码库中应用模型 ID 交换和重大参数更改。该技能检测您的代码目标云平台，并为该平台调整模型 ID 格式和功能更改。请参阅[迁移到更新的 Claude 模型](/docs/en/agents-and-tools/agent-skills/claude-api-skill#migrating-to-a-newer-claude-model)。
</Tip>

## 功能支持

有关 Amazon Bedrock 可用性的完整功能列表，请参阅[功能概览](/docs/en/build-with-claude/overview)。

### 支持的功能亮点

- [Messages API](/docs/en/api/messages/create) (`/anthropic/v1/messages`)
- [Prompt caching](/docs/en/build-with-claude/prompt-caching)
- [Extended thinking](/docs/en/build-with-claude/extended-thinking)
- [Tool use](/docs/en/agents-and-tools/tool-use/overview)，包括 [Bash tool](/docs/en/agents-and-tools/tool-use/bash-tool)、[Computer use tool](/docs/en/agents-and-tools/tool-use/computer-use-tool)、[Memory tool](/docs/en/agents-and-tools/tool-use/memory-tool) 和 [Text editor tool](/docs/en/agents-and-tools/tool-use/text-editor-tool)
- [Citations](/docs/en/build-with-claude/citations)
- [Structured outputs](/docs/en/build-with-claude/structured-outputs)

### 不支持的功能

- 输入源（图像和文档的 URL 源、Files API）
- 服务器端工具（代码执行、网络搜索、网络获取、顾问）
- 基础设施代理（Agent Skills、MCP 连接器、程序化工具调用）
- API 端点（Message Batches、Models、Admin、Compliance、Usage and Cost）
- Claude 托管代理

## 区域

Claude in Amazon Bedrock 在以下 AWS 区域可用。Amazon Bedrock 提供两种端点类型：

- **全球：** 在所有可用区域之间动态路由以实现最大可用性。无价格溢价。
- **区域：** 端点解析为您指定的单个 AWS 区域，用于数据驻留要求。区域端点比全球端点有 10% 的价格溢价。要在某个地理位置内的多个区域之间路由，请使用[推理配置文件](https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html)（US、EU、JP 或 AU）。表中标记为 **仅区域内** 的区域支持直接单区域路由，无需推理配置文件。

全球端点可用于 Claude Opus 4.7 和 Claude Haiku 4.5。Claude Mythos Preview 仅限区域，可在 `us-east-1` 中使用。

| AWS 区域       | 位置                  | 端点类型       |
| ---------------- | ------------------------- | -------------------- |
| `af-south-1`     | 非洲（开普敦）        | 全球               |
| `ap-northeast-1` | 亚太（东京）      | 全球、JP、仅区域内 |
| `ap-northeast-2` | 亚太（首尔）      | 全球               |
| `ap-northeast-3` | 亚太（大阪）      | 全球、JP           |
| `ap-south-1`     | 亚太（孟买）     | 全球               |
| `ap-south-2`     | 亚太（海得拉巴）  | 全球               |
| `ap-southeast-1` | 亚太（新加坡）  | 全球               |
| `ap-southeast-2` | 亚太（悉尼）     | 全球、AU           |
| `ap-southeast-3` | 亚太（雅加达）    | 全球               |
| `ap-southeast-4` | 亚太（墨尔本）  | 全球、AU、仅区域内 |
| `ca-central-1`   | 加拿大（中部）          | 全球、US           |
| `ca-west-1`      | 加拿大西部（卡尔加里）     | 全球               |
| `eu-central-1`   | 欧洲（法兰克福）        | 全球、EU           |
| `eu-central-2`   | 欧洲（苏黎世）           | 全球、EU           |
| `eu-north-1`     | 欧洲（斯德哥尔摩）        | 全球、EU、仅区域内 |
| `eu-south-1`     | 欧洲（米兰）            | 全球、EU           |
| `eu-south-2`     | 欧洲（西班牙）            | 全球、EU           |
| `eu-west-1`      | 欧洲（爱尔兰）          | 全球、EU、仅区域内 |
| `eu-west-2`      | 欧洲（伦敦）           | 全球、EU           |
| `eu-west-3`      | 欧洲（巴黎）            | 全球、EU           |
| `il-central-1`   | 以色列（特拉维夫）         | 全球               |
| `me-central-1`   | 中东（阿联酋）         | 全球               |
| `sa-east-1`      | 南美（圣保罗） | 全球               |
| `us-east-1`      | 美国东部（北弗吉尼亚）     | 全球、US、仅区域内 |
| `us-east-2`      | 美国东部（俄亥俄）            | 全球、US、仅区域内 |
| `us-west-1`      | 美国西部（北加利福尼亚）   | 全球、US           |
| `us-west-2`      | 美国西部（俄勒冈）          | 全球、US、仅区域内 |

## 配额

默认配额为每分钟 200 万输入 token（TPM）。您可以在无需额外 Anthropic 批准的情况下请求最多 400 万输入 TPM。AWS 在 Bedrock 端强制执行每分钟请求数（RPM）限制；请联系 AWS 支持进行 RPM 调整。

## 数据保留

此产品的数据处理受 Amazon Bedrock 管辖。有关详细信息，请参阅 [Amazon Bedrock 中的数据保护](https://docs.aws.amazon.com/bedrock/latest/userguide/data-protection.html)。

## 监控和日志

Claude in Amazon Bedrock 将日志发送到 CloudWatch 和 CloudTrail。Anthropic 建议至少保留 30 天的滚动活动日志，以了解使用模式并调查潜在问题。

## 支持

如需支持，请联系 **bedrock-ant-eap@amazon.com**。请包含您的 AWS 账户 ID 和任何失败 API 响应中的 `request-id`。

<Note>
**Claude Mythos Preview** 是一个研究预览模型，面向 Amazon Bedrock 上受邀客户开放。有关更多信息，请参阅 [Project Glasswing](https://anthropic.com/glasswing)。
</Note>