Cómo atribuir costos por usuario en Amazon Bedrock: guía práctica para equipos
Amazon Bedrock ahora asigna automáticamente los costos de inferencia al principal IAM que realiza la llamada. Esta guía explica cómo funciona la atribución, cómo usar etiquetas para consolidar costos y qué configurar según distintos patrones de acceso.
Por qué importa la atribución granular de costos
A medida que las cargas de inferencia de IA ocupan una porción creciente del gasto en la nube, las organizaciones necesitan visibilidad precisa sobre quién consume recursos. La atribución granular permite hacer chargebacks, optimizar gasto y mejorar la planificación financiera. Para equipos en América Latina —donde los presupuestos de nube suelen repartirse entre múltiples unidades de negocio—, esta información facilita decisiones sobre gobernanza, incentivos y priorización de proyectos.
Amazon Bedrock ahora ofrece atribución de costos a nivel del “IAM principal” que ejecuta la inferencia. Un IAM principal puede ser un usuario IAM, un role asumido por una aplicación (por ejemplo, una función Lambda) o una identidad federada proveniente de un proveedor como Okta o Entra ID. La información de atribución se incorpora automáticamente a la facturación de AWS y aparece en los reportes de Cost and Usage Report (CUR 2.0) sin necesidad de desplegar recursos adicionales o cambiar flujos de trabajo existentes.
Cómo se refleja la atribución en CUR 2.0
Cuando activan la opción de incluir datos del IAM principal en su exportación de CUR 2.0, el reporte contiene una columna con la identidad que realizó la llamada (por ejemplo, line_item_iam_principal). Esto permite ver exactamente qué usuario o role consumió tokens de entrada y salida para cada modelo.
Ejemplos típicos que verá en el CUR 2.0 incluyen entradas para consumo de tokens de input/output por usuario o role. Así podrá, por ejemplo, diferenciar actividades de “Alice” usando un modelo y “Bob” usando otro, y ver el costo correspondiente por tipo de uso.
La columna line_item_iam_principal contiene diferentes formas según el tipo de identidad:
- Usuario IAM:
.../user/<nombre> - Clave de Bedrock (mapea a un usuario IAM):
.../user/BedrockAPIKey-... - Role de IAM asumido (p. ej. por una función):
.../assumed-role/<RoleName>/session - Usuario federado (desde un proveedor de identidades):
.../assumed-role/<Role>/user@dominio
Agregación por equipos, proyectos y centros de costo usando etiquetas
Si su objetivo es consolidar consumo por equipo, proyecto o centro de costo, pueden aplicar etiquetas (tags) a los principales IAM. AWS soporta dos variantes relevantes:
- Principal tags: se adjuntan directamente a usuarios o roles IAM y aplican a todas las solicitudes hechas por ese principal.
- Session tags: se pasan dinámicamente cuando se asume un role para obtener credenciales temporales, o se incluyen en las aserciones del proveedor de identidades.
Ambos tipos, una vez activados como etiquetas de asignación de costo en la consola de facturación de AWS (o mediante la API), aparecen en CUR 2.0 con el prefijo iamPrincipal/. También podrán consultarse en AWS Cost Explorer para análisis visual, alertas y dashboards.
Ejemplo de cómo se muestran en CUR 2.0 después de activar las etiquetas:
- Usuario IAM:
{ "iamPrincipal/team": "ds" } - Role IAM supuesto con sesión:
{ "iamPrincipal/project": "chatbot" } - Usuario federado:
{ "iamPrincipal/team": "eng" }
Pasos prácticos: activar y ver datos en Cost Explorer
- En la configuración de exportación de CUR 2.0, habiliten la inclusión de datos del IAM principal.
- Si desean consolidar por dimensiones propias (equipo, proyecto, tenant), definan y apliquen tags en sus usuarios o roles, o emitan session tags desde su proveedor de identidad.
- Marquen esas etiquetas como “cost allocation tags” en la consola de AWS Billing o mediante la API
UpdateCostAllocationTagsStatus. - Las etiquetas y la información de IAM principal aparecerán en Cost Explorer y CUR 2.0 dentro de 24–48 horas.
Escenarios comunes y recomendaciones
La configuración y los beneficios dependen de cómo sus usuarios y aplicaciones llaman a Bedrock. Aquí un resumen de patrones y lo que deben configurar para lograr atribución útil:
-
Desarrolladores con usuarios IAM o API keys
- Qué obtienen: el ARN de cada usuario aparece en CUR 2.0.
- Recomendación: adjunten tags a los usuarios IAM para agrupar por equipo o centro de costo.
-
Aplicaciones que usan roles IAM (por ejemplo, funciones Lambda)
- Qué obtienen: el ARN del role aparece en CUR 2.0.
- Recomendación: adjunten tags al role o usen session tags si la aplicación representa varios equipos.
-
Usuarios que se autentican a través de un proveedor de identidad (IdP)
- Qué obtienen: el nombre de sesión en el ARN identifica al usuario final en CUR 2.0 si su IdP envía esa información.
- Recomendación: configure su IdP para pasar el nombre de sesión y session tags hacia AWS STS.
-
Pasarelas o gateways LLM que proxyfican tráfico a Bedrock
- Qué obtienen: por defecto, CUR 2.0 mostrará solo el role del gateway, por lo que todo el tráfico se atribuirá a esa única identidad.
- Recomendación: para obtener atribución por usuario final, el gateway debe emitir un AssumeRole por cada usuario con session name y session tags o propagar identidades individuales.
Nota importante: para los tres primeros escenarios, la columna line_item_iam_principal ya proporciona identidad por caller. Las etiquetas solo son necesarias si quieren agrupar el gasto por dimensiones personalizadas (equipo, proyecto, tenant) o si desean usar Cost Explorer para análisis visual y alertas. En el último escenario (pasarela), deben implementar manejo de sesiones por usuario para evitar que todo se atribuya al role del gateway.
Ejemplo de etiquetado rápido (CLI)
Si gestionan usuarios de forma manual, pueden adjuntar etiquetas usando AWS CLI. Por ejemplo, para agrupar dos usuarios dentro del equipo de ciencia de datos:
aws iam tag-user \
--user-name user-1 \
--tags Key=team,Value="BedrockDataScience" Key=cost-center,Value="12345"
aws iam tag-user \
--user-name user-2 \
--tags Key=team,Value="BedrockDataScience" Key=cost-center,Value="12345"
Recuerden activar esas claves como etiquetas de asignación de costo en la consola de Billing para que aparezcan con el prefijo iamPrincipal/ en CUR 2.0.
Recomendaciones para equipos en América Latina
- Definan una estrategia de etiquetado desde el inicio: las organizaciones latinoamericanas que centralizan finanzas o que aplican chargebacks a filiales se benefician de etiquetas consistentes (por ejemplo:
team,project,cost-center). - Revisen la integración con su proveedor de identidad (Okta, Entra ID u otros): pasar session tags desde el IdP facilita la visibilidad sin cambiar las aplicaciones.
- Eviten atribuir toda la inferencia a una sola cuenta de gateway: para proveedores de servicios o productos internos multitenant, implemente AssumeRole por sesión para mantener la trazabilidad por cliente o usuario.
Conclusión
La atribución granular de costos en Amazon Bedrock simplifica entender quién consume inferencia y cuánto cuesta, integrándose con CUR 2.0 y AWS Billing sin cambios de infraestructura. Al combinar la identificación de IAM principal con etiquetas de coste, los equipos pueden obtener reportes detallados, habilitar chargebacks y diseñar controles de gobernanza financiera más precisos. Para organizaciones en América Latina, esto facilita coordinar presupuestos entre unidades, medir ROI de iniciativas de IA y mantener control sobre el gasto en producción de modelos.
Fuente original: AWS ML Blog