

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

# 使用监控 Amazon Bedrock API 调用 CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon Bedrock 与 AWS CloudTrail一项服务集成，该服务提供用户、角色或 AWS 服务在 Amazon Bedrock 中采取的操作的记录。 CloudTrail 将 Amazon Bedrock 的所有 API 调用捕获为事件。捕获的调用中包括从 Amazon Bedrock 控制台进行的调用和通过代码对 Amazon Bedrock API 操作进行的调用。如果您创建了跟踪，则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶，包括针对 Amazon Bedrock 的事件。

如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的 “事件**历史记录” 中查看最新的事件**。

通过收集的信息 CloudTrail，您可以确定向 Amazon Bedrock 发出的请求、发出请求的 IP 地址、谁提出了请求、何时提出请求以及其他详细信息。

要了解更多信息 CloudTrail，请参阅《[AWS CloudTrail 用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## Amazon Bedrock 信息位于 CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail 在您创建账户 AWS 账户 时已在您的账户上启用。当 Amazon Bedrock 中发生活动时，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在**事件历史**记录中。您可以在中查看、搜索和下载最近发生的事件 AWS 账户。有关更多信息，请参阅[使用事件历史记录查看 CloudTrail 事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的事件 AWS 账户，包括 Amazon Bedrock 的事件，请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有 AWS 区域。跟踪记录 AWS 分区中所有区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅下列内容：
+ [创建跟踪记录概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收来自多个区域的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 请求是使用根证书还是 AWS Identity and Access Management (IAM) 用户凭证发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## Amazon Bedrock 中的数据事件 CloudTrail
<a name="service-name-data-events-cloudtrail"></a>

[数据事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)可提供对资源或在资源中所执行资源操作（例如，读取或写入 Amazon S3 对象）的相关信息。这些也称为数据面板操作。数据事件通常是大容量活动，默认情况下 CloudTrail 不记录。

Amazon Bedrock 将部分 [Amazon Bedrock 运行时 API 操作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)（例如，`InvokeModel`、`InvokeModelWithResponseStream`、`Converse`、`ConverseStream` 和 `ListAsyncInvokes`）记录为[管理事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)。

Amazon Bedrock 将其他 [Amazon Bedrock 运行时 API 操作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)（例如，`InvokeModelWithBidirectionalStream`、`GetAsyncInvoke` 和 `StartAsyncInvokes`）记录为数据事件。

Amazon Bedrock 将 [Amazon Bedrock 运行时 API 操作的所有代理](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock_Runtime.html)（例如`InvokeAgent`和`InvokeInlineAgent`）操作记录 CloudTrail 为数据事件。
+ 要记录 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) 调用，请配置高级事件选择器以记录 `AWS::Bedrock::AgentAlias` 资源类型的数据事件。
+ 要记录 [https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html) 调用，请配置高级事件选择器以记录 `AWS::Bedrock::InlineAgent` 资源类型的数据事件。
+ 要记录[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html)呼叫，请配置高级事件选择器以记录`AWS::Bedrock::Model`资源类型和`AWS:Bedrock::AsyncInvoke`的数据事件。
+ 要记录[GetAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_GetAsyncInvoke.html)和[StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)调用，请配置高级事件选择器以记录`AWS::Bedrock::Model`资源类型和`AWS:Bedrock::AsyncInvoke`的数据事件。
+ 要记录 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) 和 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) 调用，请配置高级事件选择器以记录 `AWS::Bedrock::KnowledgeBase` 资源类型的数据事件。
+ 要记录 [InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html) 调用，请配置高级事件选择器以记录 `AWS::Bedrock::FlowAlias` 资源类型的数据事件。
+ 要记录 `RenderPrompt` 调用，请配置高级事件选择器以记录 `AWS::Bedrock::Prompt` 资源类型的数据事件。`RenderPrompt` 是一个仅限权限的[操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions)，用于呈现使用[提示管理](prompt-management.md)为模型调用创建的提示（`InvokeModel(WithResponseStream)` 和 `Converse(Stream)`）。

在 CloudTrail 控制台中，为**数据事件****类型选择 Bedrock 代理别名****或 Bedrock 知识库**。此外，您还可以通过选择自定义日志选择器模板，按 `eventName` 和 `resources.ARN` 字段进行筛选。有关更多信息，请参阅[使用 AWS 管理控制台记录数据事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html)。

从中 AWS CLI，将`resource.type`值设置为`AWS::Bedrock::AgentAlias`、或`AWS::Bedrock::KnowledgeBase`，`AWS::Bedrock::FlowAlias`然后将`eventCategory`等于设置为`Data`。有关更多信息，请参阅[使用 AWS CLI记录数据事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI)。

以下示例展示了如何在 AWS CLI中配置跟踪来记录所有 Amazon Bedrock 资源类型的所有 Amazon Bedrock 数据事件。

```
aws cloudtrail put-event-selectors --trail-name trailName \
--advanced-event-selectors \
'[
  {
    "Name": "Log all data events on an alias of an agent in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::AgentAlias"] }
    ]
  },
  {
    "Name": "Log all data events on a knowledge base in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::KnowledgeBase"] }
    ]
  },
  {
    "Name": "Log all data events on a flow in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::FlowAlias"] }
    ]
  }
  {
    "Name": "Log all data events on a guardrail in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::Guardrail"] }
    ]
  }
]'
```

此外，您还可以按 `eventName` 和 `resources.ARN` 字段进行筛选。有关这些字段的更多信息，请参阅 [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)。

记录数据事件将收取额外费用。有关 CloudTrail 定价的更多信息，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

## 中的 Amazon Bedrock 管理活动 CloudTrail
<a name="bedrock-management-events-cloudtrail"></a>

[管理事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)提供有关对您 AWS 账户中的资源执行的管理操作的信息。这些也称为控制平面操作。 CloudTrail 默认情况下会记录管理事件 API 操作。

Amazon Bedrock 将 [Amazon Bedrock 运行时 API 操作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)（`InvokeModel`、`InvokeModelWithResponseStream`、`Converse` 和 `ConverseStream`）记录为[管理事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)。

Amazon Bedrock 将剩余的 Amazon Bedrock API 操作记录为管理事件。有关亚马逊 Bedrock 登录的亚马逊 Bedrock API 操作的列表 CloudTrail，请参阅亚马逊 Bedrock API 参考中的以下页面。
+ [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html)。
+ [Amazon Bedrock 代理](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html)。
+ [Amazon Bedrock 代理运行时](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock_Runtime.html)。
+ [Amazon Bedrock 运行时系统](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)。

所有[亚马逊 Bedrock API 操作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html)和[亚马逊 Bedrock API 操作的代理](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html)均由《亚马逊 Bed [rock](https://docs.aws.amazon.com/bedrock/latest/APIReference/) API 参考》记录 CloudTrail 并记录在案。例如，对`InvokeModel``StopModelCustomizationJob`、和`CreateAgent`操作的调用会在 CloudTrail 日志文件中生成条目。

[Amazon](https://aws.amazon.com/guardduty/) 会 GuardDuty持续监控和分析您的 CloudTrail 管理和事件日志，以检测潜在的安全问题。当你 GuardDuty 为 AWS 账户启用 Amazon 时，它会自动开始分析 CloudTrail 日志以检测 Amazon Bedrock 中的可疑活动 APIs，例如用户从新位置登录并使用 Amazon Bedrock 移除 Amazon Bedrock APIs Guardrails，或者更改为模型训练数据设置的 Amazon S3 存储桶。

## 了解 Amazon Bedrock 日志文件条目
<a name="understanding-bedrock-entries"></a>

跟踪是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定的顺序出现。

以下示例显示了演示该`InvokeModel`操作的 CloudTrail 日志条目。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AROAICFHPEXAMPLE",
        "arn": "arn:aws:iam::111122223333:user/userxyz",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName": "userxyz"
    },
    "eventTime": "2023-10-11T21:58:59Z",
    "eventSource": "bedrock.amazonaws.com",
    "eventName": "InvokeModel",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "Boto3/1.28.62 md/Botocore#1.31.62 ua/2.0 os/macos#22.6.0 md/arch#arm64 lang/python#3.9.6 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.62",
    "requestParameters": {
        "modelId": "stability.stable-diffusion-xl-v0"
    },
    "responseElements": null,
    "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "cipher suite",
        "clientProvidedHostHeader": "bedrock-runtime.us-west-2.amazonaws.com"
    }
}
```