View a markdown version of this page

身份验证 - AWS 上的 Claude 平台

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

身份验证

AWS 上的 Claude 平台支持两种身份验证方法:带有 Sigv4 请求签名(主要)的 AWS IAM 和 API 密钥身份验证。两者都使用相同的基本 URL 和请求格式。

Anthropic SDK(请参阅安装 SDK)实现了如下所述的身份验证流程和凭据解析。如果您不使用 Anthropic SDK,则必须针对区域端点构建 SigV4-signed 请求(或将您的 API 密钥作为持有者令牌出示)。https://aws-external-anthropic.<region>.api.aws有关 SDK-specific 客户端配置和权威证书解析顺序,请参阅 Anthropic 文档中的 Claude on AWS 设置指南

SigV4 身份验证

Sigv4 是企业原生路径,可与您现有的 AWS IAM 策略、角色和审计功能集成。使用 AWS 默认凭证提供商链支持的任何方法配置 AWS 证书

  • 环境变量 (AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN)

  • 共享凭证文件 (~/.aws/credentials)

  • 共享配置文件 (~/.aws/config),包括 SSO 和 credential_process

  • IRSA AWS_WEB_IDENTITY_TOKEN_FILE 和操作的网络身份(和 AWS_ROLE_ARN GitHub )

  • ECS 容器凭证

  • EC2 实例元数据服务 (IMDS)

要验证 Anthropic SDK 正在获取您的凭据并解析到正确的区域端点,请按照提出请求中的示例进行测试请求。成功的响应确认证书、区域、基本 URL 和工作空间 ID 均已正确配置。

API 密钥身份验证

要获得更简单的集成路径(本地开发和脚本),您可以使用 API 密钥而不是 Sigv4 进行身份验证。设置ANTHROPIC_AWS_API_KEY环境变量或传递apiKey给 SDK 构造函数。Anthropic SDK 将密钥作为持有者令牌发送到 AWS 终端节点上的 Claude 平台;IAM 通过aws-external-anthropic:CallWithBearerToken操作对请求进行授权(参见 IAM 政策)。

AWS 控制台中 AWS 上的 Claude Platform 下生成 API 密钥 → API 密钥。选择生成密钥,然后复制密钥值。将 aws-external-anthropic:CallWithBearerToken IAM 操作授予本应允许使用 API 密钥身份验证的委托人。

注意

只有在 AWS 的 Claude 平台下的 AWS 控制台中创建的 API 密钥才能使用此服务。

  • 在标准 Claude 控制台中创建的用于第一方 API 访问的密钥不适用于 AWS 终端节点上的 Claude 平台。

  • Amazon Bedrock API 密钥也不起作用 — Bedrock 使用单独的终端节点、身份验证流程和 IAM 命名空间。

Short-term API 密钥

如果您想要 API 密钥身份验证但没有长期有效密钥的生命周期,Anthropic 会发布令牌生成器库,这些库可以从您的 AWS IAM 证书中生成短期 API 密钥。代币的生命周期默认为 12 小时,并且可以限定为特定的工作空间和操作。aws-external-anthropic:CallWithBearerToken安装适用于您的语言的生成器,将 IAM 凭证交换 API 密钥,然后将密钥传递给 Anthropic SDK。

  • Python:aws/token-aws-external-anthropic - python 的生成器

  • JavaScript / TypeScript: aws/token-aws-external-anthropic -js 的生成器

  • Java:aws/token-aws-external-anthropic - java 的生成器

Short-term API 密钥仍要求调用方的 IAM 委托人保留aws-external-anthropic:CallWithBearerToken在目标工作空间中。它们会自行过期,无需明确轮换或撤销。

凭证优先级和区域解析

Anthropic SDK 在 AWS 客户端上的 Claude 平台使用定义的优先顺序解析证书和区域。参数名称遵循每种语言的约定:CamelCase 代表 TypeScript 和 PHP,snake_case 代表Python和Ruby PascalCase ,用于 Go,以及 C# 和 Java 的属性或生成器模式。

有关每个软件开发工具包的权威优先顺序、支持的环境变量和构造函数参数,请参阅 Anthropic 文档中关于 AWS 设置的 Claude。通常,显式构造函数参数优先于环境变量,并且ANTHROPIC_AWS_API_KEY优先于默认的 AWS 凭证提供者链。区域是必填的;与AnthropicBedrock(后退为us-east-1)不同,如果构造函数或/没有提供任何区域,AWS 客户端上的 Claude 就会抛出AWS_REGIONAWS_DEFAULT_REGION

工作空间 ID

每个数据平面请求的anthropic-workspace-id标题中都必须包含工作空间 ID。默认情况下,Anthropic SDK 会从ANTHROPIC_AWS_WORKSPACE_ID环境变量中读取它,或者你可以将workspaceId/workspace_id传递给客户端构造函数。如果您使用基础Anthropic客户端(不是客户 Claude-on-AWS 端),请显式传递标头。有关如何找到您的工作空间 ID,请参阅为每种语言的示例提出请求,请参阅工作空间。