This content originally appeared on DEV Community and was authored by Elizabeth Fuentes L
Dev.to Linkedin GitHub Twitter Instagram Youtube
Linktr
¿Qué son las API Keys de Amazon Bedrock?
Amazon Bedrock ahora ofrece dos tipos de API Keys para simplificar la autenticación programática, cada una diseñada para diferentes casos de uso:
Short-term API Keys (Recomendadas)
- Duración: Hasta 12 horas o tiempo restante de sesión de consola
- Tecnología: Pre-signed URLs con AWS Signature Version 4
- Permisos: Heredan los mismos permisos de la identidad que las genera
-
Generación: Consola de Bedrock, paquete Python
aws-bedrock-token-generator
- Seguridad: Menor riesgo por su corta duración
Long-term API Keys (Para desarrollo)
- Duración: De 1 día hasta 36,600 días (o sin expiración)
- Asociación: Vinculadas a usuarios IAM específicos
- Límite: Máximo 2 keys por usuario IAM
-
Política automática: Se adjunta
AmazonBedrockLimitedAccess
al usuario - Seguridad: Mayor riesgo – requiere rotación regular
Cómo Generar Long-term API Keys
Prerrequisitos
- Usuario IAM existente
- Permisos IAM necesarios:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceSpecificCredential",
"iam:ListServiceSpecificCredentials",
"iam:UpdateServiceSpecificCredential",
"iam:DeleteServiceSpecificCredential",
"iam:ResetServiceSpecificCredential"
],
"Resource": "arn:aws:iam::*:user/username"
}
]
}
Método 1: Consola AWS
- Navega a IAM Console → Users
- Selecciona el usuario IAM
- Pestaña Security credentials
- Sección API keys for Amazon Bedrock → Generate API Key
- Configura expiración (1, 5, 30, 90, 365 días o personalizada)
- ¡IMPORTANTE! Descarga/copia la key inmediatamente – no podrás recuperarla después
Método 2: AWS CLI
Para generar una clave API a largo plazo de Amazon Bedrock mediante la AWS CLI, utilice Pasos para generar una clave API a largo plazo para Amazon Bedrock (AWS CLI).
Implementación en Código
Primero debes agregar la nueva key
Set as environment variable
export AWS_BEARER_TOKEN_BEDROCK=your-api-key-here
Or use in applications
import os
api_key = os.getenv(‘AWS_BEARER_TOKEN_BEDROCK’)
import requests
# Configuración
url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-3-sonnet-20240229-v1:0/invoke"
payload = {
"messages": [
{
"role": "user",
"content": [{"type": "text", "text": "Hello, Bedrock!"}]
}
],
"max_tokens": 1000,
"anthropic_version": "bedrock-2023-05-31"
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_BEDROCK_API_KEY"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Mejores Prácticas de Seguridad
AWS recomienda encarecidamente:
- Preferir short-term API keys sobre long-term cuando sea posible
- Implementar rotación regular para long-term keys
- Almacenar keys de forma segura (nunca en código fuente)
- Monitorear uso mediante CloudTrail
- Principio de menor privilegio – ajustar permisos según necesidad
¿Cuándo usar cada tipo?
Escenario | Recomendación |
---|---|
Aplicaciones producción | Short-term API keys |
Desarrollo/Testing | Long-term API keys |
CI/CD Pipelines | Short-term API keys |
Scripts personales | Long-term API keys |
Aplicaciones enterprise | Short-term + rotación automática |
¿Ya has probado las nuevas API Keys? ¡Comparte tu experiencia en los comentarios!
This content originally appeared on DEV Community and was authored by Elizabeth Fuentes L