Was this page helpful?
Esta guía te acompaña a través de la configuración y realización de llamadas a la API de Claude en Amazon Bedrock. Claude en Amazon Bedrock se ejecuta en infraestructura administrada por AWS sin acceso de operadores (el personal de Anthropic no tiene acceso a la infraestructura de inferencia), lo que te permite construir aplicaciones sensibles completamente dentro del límite de seguridad de AWS mientras usas la misma forma de API de Messages que usas con la API de primera parte de Anthropic.
Esta página cubre la nueva oferta de Claude en Amazon Bedrock, que expone la API de Messages en /anthropic/v1/messages. Para la integración heredada de Bedrock (la API InvokeModel con identificadores de modelo versionados por ARN y codificación de flujo de eventos de AWS), consulta Claude en Amazon Bedrock.
Claude en Amazon Bedrock está en vista previa de investigación, disponible en la región US East (N. Virginia) us-east-1 en el lanzamiento. Contacta a tu ejecutivo de cuenta de Anthropic para solicitar acceso.
Antes de comenzar, asegúrate de tener:
us-east-1. La vista previa de investigación requiere una cuenta dedicada para aislamiento. Tu ejecutivo de cuenta de Anthropic enviará tu ID de cuenta al equipo de Bedrock Marketplace para incluirlo en la lista de permitidos (típicamente procesado dentro de 24 horas).Claude en Amazon Bedrock admite tres rutas de autenticación. Elige la que mejor se adapte a tus requisitos de seguridad.
Usa un rol de servicio de Bedrock con claves administradas por AWS para el acceso más seguro y de larga duración:
Admin: aprovisionar el rol de servicio
Un administrador de AWS aprovisiona un rol de servicio de Bedrock y otorga a los desarrolladores permiso iam:PassRole en el ARN del rol de servicio.
Desarrollador: pasar el rol
Al llamar a la API, pasa el ARN del rol de servicio como parámetro de solicitud. Bedrock asume el rol en tu nombre y firma solicitudes con credenciales administradas por AWS. Se agregará un ejemplo de código que muestre dónde va el parámetro ARN cuando se publiquen los paquetes del SDK.
Para acceso federado por identidad con una sesión máxima de 12 horas:
Admin: configurar el rol de IAM
Crea un rol de IAM limitado a tus modelos de Claude. La política de confianza nombra tu proveedor de identidad (SAML, OIDC o AWS Identity Center). La política de permisos otorga bedrock-mantle:CreateInference solo en los ARN de modelo permitidos.
Desarrollador: autenticar y asumir
Autentica a través de tu proveedor de identidad corporativo, luego asume el rol de IAM. AWS STS emite credenciales temporales que el SDK o CLI usa para firmar solicitudes.
Para acceso a corto plazo sin roles de IAM (máximo 12 horas, menos preferido):
Admin: restringir tipos de token
Bloquea claves de larga duración adjuntando una política que niega bedrock:CallWithBearerToken a menos que la condición bedrock:BearerTokenType coincida con un token a corto plazo.
Desarrollador: crear un token
Usa la CLI aws-bedrock-token-generator (enlace pendiente de publicación) para crear un token portador. Pásalo en el encabezado x-api-key en cada solicitud.
Los SDKs de cliente de Anthropic admiten Claude en Amazon Bedrock a través de un paquete o módulo específico de Bedrock.
El punto de conexión sigue el patrón https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages. A diferencia de la integración heredada de Bedrock, este punto de conexión usa transmisión SSE estándar y la misma forma de cuerpo de solicitud que la API de primera parte de Anthropic.
El SDK resuelve credenciales y región usando la precedencia estándar de AWS: argumentos del constructor, luego variables de entorno (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION), luego el archivo de configuración de AWS y la cadena de credenciales (SSO, roles asumidos, rol de tarea de ECS, IMDS).
Si el cliente dedicado AnthropicBedrockMantle aún no está disponible en la versión del SDK de tu lenguaje, puedes usar el cliente estándar Anthropic en su lugar: establece base_url en https://bedrock-mantle.{region}.api.aws/anthropic y pasa tu token portador como api_key. Esta ruta solo admite autenticación de token portador. La firma SigV4 requiere el cliente dedicado.
Los ID de modelo en Claude en Amazon Bedrock llevan un prefijo de proveedor anthropic.. Las capacidades y comportamientos del modelo se documentan en la página Descripción general de modelos. Consulta tu correo de bienvenida de AWS para el ID de modelo exacto habilitado para tu cuenta.
Claude en Amazon Bedrock admite características que se ejecutan dentro del modelo. Las características que requieren infraestructura operada por Anthropic no están disponibles.
Admitidas:
/v1/messages)No admitidas:
/v1/usersLa vista previa de investigación está disponible solo en us-east-1 (IAD).
La cuota predeterminada es de 2 millones de tokens de entrada por minuto (TPM). Puedes solicitar hasta 4 millones de TPM de entrada sin aprobación adicional de Anthropic. AWS aplica límites de solicitudes por minuto (RPM) en el lado de Bedrock; contacta al soporte de AWS para ajustes de RPM.
Todos los datos de inferencia se retienen durante 30 días en tu almacenamiento de AWS. No hay opción de retención de datos cero en esta oferta. Para clientes estándar, Anthropic puede inspeccionar datos almacenados para revisión de seguridad y abuso. Para clientes de nivel Select, solo AWS puede inspeccionar datos; Anthropic puede ejecutar operaciones automatizadas pero no revisión manual. Para detalles sobre elegibilidad de nivel Select, contacta a tu ejecutivo de cuenta de Anthropic.
Claude en Amazon Bedrock emite registros tanto a CloudWatch como a CloudTrail. Anthropic recomienda retener registros de actividad en al menos una base móvil de 30 días para entender patrones de uso e investigar posibles problemas.
Para soporte de vista previa de investigación, contacta a [email protected]. Incluye tu ID de cuenta de AWS y el request-id de cualquier respuesta de API fallida.
from anthropic import AnthropicBedrockMantle
client = AnthropicBedrockMantle(aws_region="us-east-1")
message = client.messages.create(
model="CLAUDE_MODEL_ID",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(message.content[0].text)