View a markdown version of this page

IAM 主体归因 - Amazon Bedrock

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

IAM 主体归因

Amazon Bedrock 会自动捕获每个推理请求的 IA M 委托人身份(IAM 用户和 IAM 角色)。您可以选择为负责人附加标签,以获取其他成本维度,例如团队、部门或成本中心。这使您可以了解每个用户和每个角色的成本,而无需更改代码或增加资源。

IAM 主体归因目前适用于亚马逊 Bedrock bedrock-runtime API(API/C onverse InvokeModel API /Chat Completions API)。bedrock-mantle API 的支持即将推出。

工作原理

当 IAM 用户或角色提出推理请求时,Amazon Bedrock 会记录调用者的身份。这些信息流入 AWS Cost Explorer 和 “ AWS 成本和使用情况报告” (CUR 2.0),您可以在其中按身份筛选和分组成本。无需更改您的 Amazon Bedrock API 调用。归因取决于谁拨打了电话,而不是 API 参数。

或者,您可以向 IAM 委托人附加标签,以便在账单数据中添加组织维度(团队、部门、成本中心)。身份级归因不需要标签。始终会捕获来电者身份。

主要类型

Amazon Bedrock 可以捕获任何 IAM 委托人类型的身份。最常见的两个角色是 IAM 用户和 IAM 角色。

IAM 用户使用长期访问密钥直接致电 Amazon Bedrock。IAM 用户名和附加到该用户的所有标签都记录在 AWS 账单中。

IAM 角色由用户、应用程序或联合身份通过担任 AWS STS。当委托人调用时sts:AssumeRole,生成的临时证书带有该角色的身份。标签可以来自两个来源:

  • 主体标签 — 直接附加到 IAM 角色的标签。它们是静态的,适用于每个会话。

  • 会话标签 — 通过担任角色时传递的标签 AWS STS。它们是动态的,可能因会话而异,因此对于通过共享角色传递特定于用户的属性(例如电子邮件、团队或成本中心)非常有用。

重要

如果会话标签和主体标签共享相同的密钥,则会话标签值将覆盖该会话的主体标签值。有关更多信息,请参阅中的传递会话标签 AWS STS

大多数组织使用角色而不是 IAM 用户来访问 Amazon Bedrock。如果多个用户共享同一个角色,则可以在计费中区分会话标签。

设置 IAM 委托人归因

Identity-level 系统会自动捕获每个 Amazon Bedrock 请求的归因(来电者的 IAM 用户或角色 ARN)。要在账单数据中添加团队或成本中心等组织维度,请按照以下步骤标记您的委托人并激活 AWS 账单中的标签。

第 1 步:为您的 IAM 委托人应用标签(可选)

标签通过两种方式流向您的账单数据:

委托人标签直接附加到 IAM 用户或角色。设置一次即可应用于该委托人的每个请求。这非常适合标记个人开发人员(IAM 用户)或应用程序(IAM 角色)。您可以使用 IAM 控制台、 AWS CLI (,) 或 IAM API (aws iam tag-roleTagRole, aws iam tag-userTagUser) 来应用委托人标签。

要了解有关 IAM 标签和最佳实践的更多信息,请参阅 IAM 资源的标签

通过担任 IAM 角色时,会话标签会动态传递 AWS STS。它们非常适合联合用户(通过 Okta、Auth0 或 Entra 等身份提供商进行身份验证)和代表多个用户或租户代理请求的 LLM 网关。会话标签可以通过三种方式传递:

  • AssumeRole— 呼叫--tags时通过sts:AssumeRole(例如,假设每个用户或租户都担任 Amazon Bedrock 角色的 LLM 网关)。

  • AssumeRoleWithWebIdentity (OIDC) — 在您的身份提供商签发的 ID 令牌中的https://aws.amazon.com/tags声明中嵌入标签。

  • AssumeRoleWithSAML— 映射你的 IdP 的 SAML 断言中的PrincipalTag:*属性。

IAM 角色的信任策略必须允许sts:TagSession会话标签通过。要了解更多信息,请参阅中的传递会话标签 AWS STS

主标记和会话标记都显示在 CUR 2.0 中,前缀为iamPrincipal/前缀。

第 2 步:激活成本分配标签

要使您的 IAM 委托人标签显示在 C AWS ost Explorer 和 CUR 2.0 中,您必须将其激活为成本分配标签:

  1. 打开 B AWS illing and Cost Management 控制台。

  2. 在导航窗格中,选择 Cost allocation tags(成本分配标签)。

  3. 按类型筛选 IAM 委托人以查找您应用于委托人的标签。

  4. 选择标签并选择 “激活”。

注意

只有在 IAM 委托人至少调用一次 Amazon Bedrock API 之后,标签才会显示在 AWS 账单中。成本分配标签不可追溯——仅标记激活后产生的成本。激活后,标签最多可能需要 24 小时才会出现。

步骤 3:使用数据创建 CUR 2.0 数据导出 IAM-level

要查看身份级别的费用明细,请创建包含来电者身份的 CUR 2.0 数据导出:

  1. 打开 B AWS illing and Cost Management 控制台。

  2. 在导航窗格中,选择 Data Exports

  3. 选择 “创建” 以创建新的 CUR 2.0 导出。

  4. 配置导出并确保选择包含来电者身份 ARN 的选项。

重要

如果您在启用 IAM 委托人归因之前创建了 CUR 2.0 数据导出,则必须创建新的导出并选择呼叫者身份选项。现有导出文件不追溯包含身份数据。您还必须确保激活成本分配标签(步骤 2),标签才能显示在导出中。

有关更多信息,请参阅《 AWS 成本和使用情况报告用户指南》中的创建报告。

为维度加标签

您可以使用任何代表您的组织结构的标签密钥。常见尺寸包括:

标签键 用途 示例值
User 个人身份 jane@example.com,bob@example.com
Team Ownership PlatformEngineering, DataScience
Department 组织单位 工程、研究、营销
CostCenter 财务映射 CC-1001, CC-2002
Environment 生命周期阶段 制作、开发

每个 IAM 用户或角色最多可以应用 50 个委托人或会话标签。

联合访问和会话标签

对于使用联合身份提供商(AWS IAM Identity Center、Okta、Entra、Ping)的组织,会话标签允许您将用户属性从 IdP 传递到。 AWS当联合用户通过担任角色时 AWS STS,IdP 可以将用户电子邮件、团队和成本中心等属性作为会话标签传递。这些标签与亚马逊 Bedrock 请求一起捕获,并流向 C AWS UR 2.0 和 Cost Explorer AWS 。

要进行此设置,请执行以下操作:

  1. 将您的 IdP 配置为包含用户属性(电子邮件、团队、成本中心)作为 SAML 属性或 OIDC 声明。

  2. 使用将这些属性映射到您的 IAM 角色信任策略中的 AWS 会话标签sts:TagSession

  3. 激活后,会话标签将作为费用分配标签显示在 AWS 账单中。

有关更多信息,请参阅在 AWS STS中传递会话标签

调用模式

无论您的应用程序如何调用 Amazon Bedrock,IAM 主体归因都会起作用:

模式 身份如何流动
直接调用 API 自动捕获 IAM 用户或角色身份
API Gateway 捕获调用 Amazon Bedrock 的角色的身份
LLM Gateway(LitelLM,自定义) 捕获网关执行角色的身份。从网关传递会话标签以保留用户级归因。
联邦身份(Okta、Entra) 在担任角色期间,会捕获来自 IdP 的会话标签

如果您使用 LLM 网关或 API 网关,但在 “ AWS 账单” 中看不到用户级身份,请确认网关在每个请求中都传递了会话标签。

查看费用

激活成本分配标签后,您可以在以下工具中按本金分析 Amazon Bedrock 成本:

  • AWS C@@ ost Explorer — 按主要标签筛选,按用户、团队或部门查看成本趋势。按标签分组以比较各个维度的成本。

  • AWS 成本和使用情况报告 (CUR 2.0)-按主体标签查询 CUR 数据,了解单项成本明细。

提出请求后,成本数据最多可能需要 24 小时才会显示在 C AWS ost Explorer 和 CUR 2.0 中。

将 IAM 委托人归因与其他方法一起使用

IAM 委托人归因可以与项目和应用程序推理配置文件一起使用。这为您提供了多维的成本可见性。

我们建议在同一账户中使用 Projects 进行应用程序级归因,将 IAM 委托人归因用于用户级归因。

方法 属性由 支持的 API bedrock-runtime bedrock-mantle
IAM 主体归因 身份(用户、角色、团队) InvokeModel API/Converse API/聊天完成 API Green circular icon with a white checkmark symbol inside. Red circular icon with an X symbol, indicating cancellation or denial.
项目(推荐) 应用程序或工作负载 响应 API/聊天完成 API
应用程序推理配置文件 应用程序或工作负载 InvokeModel API/Converse API/聊天完成 API