

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

# IAM 主体归因
<a name="cost-mgmt-iam-principal-tracking"></a>

Amazon Bedrock 会自动捕获每个推理请求[的 IA [M 委托](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)人身份（IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)[和 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)）。您可以选择为负责人附加标签，以获取其他成本维度，例如团队、部门或成本中心。这使您可以了解每个用户和每个角色的成本，而无需更改代码或增加资源。

IAM 主体归因目前适用于亚马逊 Bedrock `bedrock-runtime` API（API/C [onverse [InvokeModel API](inference-api.md) /Chat Completions API](conversation-inference.md)[）。](inference-chat-completions.md)对 `bedrock-mantle` API 的支持即将推出。

## 工作原理
<a name="cost-mgmt-iam-principal-tracking-how-it-works"></a>

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

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

## 主要类型
<a name="cost-mgmt-iam-principal-tracking-principal-types"></a>

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

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

**IAM 角色**由用户、应用程序或联合身份通过担任 AWS STS。当委托人调用时`sts:AssumeRole`，生成的临时证书带有该角色的身份。标签可以来自两个来源：
+ **主体标签** — 直接附加到 IAM 角色的标签。它们是静态的，适用于每个会话。
+ **会话标签** — 通过担任角色时传递的标签 AWS STS。它们是动态的，可能因会话而异，因此对于通过共享角色传递特定于用户的属性（例如电子邮件、团队或成本中心）非常有用。

**重要**  
如果会话标签和主体标签共享相同的密钥，则会话标签值将覆盖该会话的主体标签值。有关更多信息，请参阅[中的传递会话标签 AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)。

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

## 设置 IAM 委托人归因
<a name="cost-mgmt-iam-principal-tracking-setup"></a>

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

### 第 1 步：为您的 IAM 委托人应用标签（可选）
<a name="cost-mgmt-iam-principal-tracking-setup-principal-tags"></a>

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

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

要了解有关 IAM 标签和最佳实践的更多信息，请参阅 [IAM 资源的标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

通过担任 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)。

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

### 第 2 步：激活成本分配标签
<a name="cost-mgmt-iam-principal-tracking-setup-activate-tags"></a>

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

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

1. 在导航窗格中，选择 **Cost allocation tags**（成本分配标签）。

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

1. 选择标签并选择 “**激活**”。

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

### 步骤 3：使用数据创建 CUR 2.0 数据导出 IAM-level
<a name="cost-mgmt-iam-principal-tracking-setup-enable-cur"></a>

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

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

1. 在导航窗格中，选择 **Data Exports**。

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

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

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

有关更多信息，请参阅《 AWS 成本和使用情况[报告用户指南》中的创建](https://docs.aws.amazon.com/cur/latest/userguide/cur-create.html)报告。

## 为维度加标签
<a name="cost-mgmt-iam-principal-tracking-tagging-dimensions"></a>

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


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

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

## 联合访问和会话标签
<a name="cost-mgmt-iam-principal-tracking-federated"></a>

对于使用联合身份提供商（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 声明。

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

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

有关更多信息，请参阅[在 AWS STS中传递会话标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)。

## 调用模式
<a name="cost-mgmt-iam-principal-tracking-invocation-patterns"></a>

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


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

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

## 查看费用
<a name="cost-mgmt-iam-principal-tracking-viewing-costs"></a>

激活成本分配标签后，您可以在以下工具中按本金分析 Amazon Bedrock 成本：
+ AWS C@@ **ost Explorer** — 按主要标签筛选，按用户、团队或部门查看成本趋势。按标签分组以比较各个维度的成本。
+ **AWS 成本和使用情况报告 (CUR 2.0)**-按主体标签查询 CUR 数据，了解单项成本明细。

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

## 将 IAM 委托人归因与其他方法一起使用
<a name="cost-mgmt-iam-principal-tracking-with-other-methods"></a>

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

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


| 方法 | 属性由 | 支持的 API | `bedrock-runtime` | `bedrock-mantle` | 
| --- | --- | --- | --- | --- | 
| IAM 主体归因 | 身份（用户、角色、团队） | [InvokeModel API](inference-api.md)/[Converse API](conversation-inference.md)/[聊天完成](inference-chat-completions.md) API | ![Green circular icon with a white checkmark symbol inside.](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/icons/icon-yes.png) | ![Red circular icon with an X symbol, indicating cancellation or denial.](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/icons/icon-no.png) | 
| 项目（推荐） | 应用程序或工作负载 | [响应 API](bedrock-mantle.md)/[聊天完成 API](bedrock-mantle.md) | ![](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/icons/icon-no.png) | ![](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/icons/icon-yes.png) | 
| 应用程序推理配置文件 | 应用程序或工作负载 | [InvokeModel API](inference-api.md)/[Converse API](conversation-inference.md)/[聊天完成](inference-chat-completions.md) API | ![](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/icons/icon-yes.png) | ![](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/icons/icon-no.png) | 