View a markdown version of this page

使用监控亚马逊 Bedrock API 调用 CloudTrail - Amazon Bedrock

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

使用监控亚马逊 Bedrock API 调用 CloudTrail

Amazon Bedrock 与 AWS CloudTrail一项服务集成,可记录用户、角色或 AWS 服务在 Amazon Bedrock 中采取的操作。 CloudTrail 将亚马逊 Bedrock 的所有 API 调用捕获为事件。捕获的调用中包括从 Amazon Bedrock 控制台进行的调用和通过代码对 Amazon Bedrock API 操作进行的调用。如果您创建跟踪,则可以启用向 Amazon S3 存储桶持续交付 CloudTrail 事件,包括亚马逊 Bedrock 的事件。

注意

本页描述了bedrock-runtime.region.amazonaws.com端点的 CloudTrail 日志记录。如果您的应用程序调用bedrock-mantle.region.api.aws终端节点,请使用监控 b edrock-mantle API 调用 CloudTrail改为参见。

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

使用收集的信息 CloudTrail,您可以确定向 Amazon Bedrock 提出的请求、提出请求的 IP 地址、谁提出请求、何时提出请求以及其他详细信息。

要了解更多信息 CloudTrail,请参阅《AWS CloudTrail 用户指南》。

中的亚马逊基岩信息 CloudTrail

CloudTrail 在您创建帐户 AWS 账户 时已在您的上启用。当活动发生在 Amazon Bedrock 中时,该活动将与其他 AWS 服务 CloudTrail 事件一起记录在事件历史记录中。您可以在中查看、搜索和下载最近的事件 AWS 账户。有关更多信息,请参阅使用事件历史记录查看 CloudTrail 事件。

要持续记录您的 AWS 账户事件(包括 Amazon Bedrock 的事件),请创建跟踪。跟踪可以 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下,在控制台中创建跟踪记录时,此跟踪记录应用于所有 AWS 区域。该跟踪记录 AWS 分区中所有区域的事件,并将日志文件传输到您指定的 Amazon S3 存储桶。此外,您可以配置其他 AWS 服务,以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息,请参阅下列内容:

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容:

  • 请求是使用根或 AWS Identity and Access Management (IAM) 用户证书发出的。

  • 请求是使用角色还是联合用户的临时安全凭证发出的。

  • 请求是否由其他 AWS 服务发出。

有关更多信息,请参阅 CloudTrail userIdentity 元素。

中的亚马逊 Bedrock 数据事件 CloudTrail

数据事件可提供对资源或在资源中所执行资源操作(例如,读取或写入 Amazon S3 对象)的相关信息。这些也称为数据面板操作。数据事件通常是大量活动,默认情况下 CloudTrail 不记录。

Amazon Bedrock 将部分 Amazon Bedrock 运行时 API 操作(例如,InvokeModel、InvokeModelWithResponseStream、Converse、ConverseStream 和 ListAsyncInvokes)记录为管理事件。

Amazon Bedrock 将其他 Amazon Bedrock 运行时 API 操作(例如,InvokeModelWithBidirectionalStream、GetAsyncInvoke 和 StartAsyncInvokes)记录为数据事件。

Amazon Bedrock 将所有适用于亚马逊基岩运行时 API 的代理操作(例如InvokeAgent和InvokeInlineAgent)的操作记录 CloudTrail 为数据事件。

  • 要记录 InvokeAgent 调用,请配置高级事件选择器以记录 AWS::Bedrock::AgentAlias 资源类型的数据事件。

  • 要记录 InvokeInlineAgent 调用,请配置高级事件选择器以记录 AWS::Bedrock::InlineAgent 资源类型的数据事件。

  • 要记录InvokeModelWithBidirectionalStream呼叫,请配置高级事件选择器以记录AWS::Bedrock::Model资源类型和AWS:Bedrock::AsyncInvoke的数据事件。

  • 要记录GetAsyncInvoke和StartAsyncInvoke调用,请配置高级事件选择器以记录AWS::Bedrock::Model资源类型和AWS:Bedrock::AsyncInvoke的数据事件。

  • 要记录 Retrieve 和 RetrieveAndGenerate 调用,请配置高级事件选择器以记录 AWS::Bedrock::KnowledgeBase 资源类型的数据事件。

  • 要记录 InvokeFlow 调用,请配置高级事件选择器以记录 AWS::Bedrock::FlowAlias 资源类型的数据事件。

  • 要记录 RenderPrompt 调用,请配置高级事件选择器以记录 AWS::Bedrock::Prompt 资源类型的数据事件。RenderPrompt 是一个仅限权限的操作,用于呈现使用提示管理为模型调用创建的提示(InvokeModel(WithResponseStream) 和 Converse(Stream))。

  • 要记录ApplyGuardrail调用,包括在模型调用期间进行的护栏评估,请配置高级事件选择器以记录资源类型的数据事件。AWS::Bedrock::Guardrail

在 CloudTrail 控制台中,为数据事件类型选择 Bedroc k 代理别名或 Bedrock 知识库。此外,您还可以通过选择自定义日志选择器模板,按 eventName 和 resources.ARN 字段进行筛选。有关更多信息,请参阅使用 AWS 管理控制台记录数据事件。

从开始 AWS CLI,将resource.type值设置为AWS::Bedrock::AgentAlias、AWS::Bedrock::KnowledgeBaseAWS::Bedrock::FlowAlias、或,AWS::Bedrock::Guardrail然后将eventCategory等于Data。有关更多信息,请参阅使用 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 字段进行筛选。有关这些字段的更多信息,请参阅 AdvancedFieldSelector。

记录数据事件将收取额外费用。有关 CloudTrail 定价的更多信息,请参阅AWS CloudTrail 定价。

中的亚马逊基岩管理活动 CloudTrail

管理事件提供有关对您 AWS 账户中的资源执行的管理操作的信息。这些操作也称为控制平面操作。 CloudTrail 默认情况下会记录管理事件 API 操作。

Amazon Bedrock 将 Amazon Bedrock 运行时 API 操作(InvokeModel、InvokeModelWithResponseStream、Converse 和 ConverseStream)记录为管理事件。

Amazon Bedrock 将剩余的 Amazon Bedrock API 操作记录为管理事件。有关亚马逊 Bedrock 登录的亚马逊 Bedrock API 操作的列表 CloudTrail,请参阅亚马逊 Bedrock API 参考中的以下页面。

所有亚马逊 Bedrock API 操作和亚马逊 Bedrock API 操作的代理均由 Ama zon Bedrock API 参考文档记录 CloudTrail 和记录。例如,调用InvokeModelStopModelCustomizationJob、和CreateAgent操作会在 CloudTrail 日志文件中生成条目。

亚马逊 GuardDuty持续监控和分析您的 CloudTrail 管理和事件日志,以发现潜在的安全问题。当您 GuardDuty 为 AWS 账户启用亚马逊时,它会自动开始分析 CloudTrail 日志以检测亚马逊 Bedrock API 中的可疑活动,例如用户从新位置登录并使用亚马逊 Bedrock API 移除 Amazon Bedrock Guardrails,或更改为模型训练数据设置的 Amazon S3 存储桶。

了解 Amazon Bedrock 日志文件条目

跟踪是一种配置,它允许将事件作为日志文件传输到您指定的 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" } }

以下示例显示了与模型调用的ApplyGuardrail数据事件相关的字段,该调用由请求中提供的护栏和组织强制执行的护栏进行评估。示例中省略了标准 CloudTrail 标识和网络字段。

{ "eventVersion": "1.08", "eventTime": "2026-08-20T16:57:41Z", "eventSource": "bedrock.amazonaws.com", "eventName": "ApplyGuardrail", "awsRegion": "us-east-1", "requestParameters": { "guardrailVersion": "1", "guardrailIdentifier": "abcd1234efgh", "source": "INPUT" }, "responseElements": { "action": "GUARDRAIL_INTERVENED", "assessments": [ { "contentPolicy": { "filters": [ { "type": "VIOLENCE", "confidence": "HIGH", "action": "BLOCKED", "detected": true } ] } }, { "sensitiveInformationPolicy": { "piiEntities": [ { "type": "EMAIL", "action": "BLOCKED", "detected": true } ] } } ] }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE44444", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data", "resources": [ { "accountId": "111122223333", "type": "AWS::Bedrock::Guardrail", "ARN": "arn:aws:bedrock:us-east-1:111122223333:guardrail/abcd1234efgh" }, { "accountId": "444455556666", "type": "AWS::Bedrock::Guardrail", "ARN": "arn:aws:bedrock:us-east-1:444455556666:guardrail/wxyz5678lmno" } ] }
注意

当一个调用由多个护栏评估时,assessments列表中会为每个评估内容的护栏包含一个条目。参赛顺序无法保证, CloudTrail 活动也无法确定每项评估都是由哪个护栏产生的。不要使用评估的位置将其归因于特定的护栏或列表中的resources条目。该活动没有预评估护栏标识符或其他归因字段。

该action字段报告适用护栏上的合并结果。该resources清单确定了范围内的护栏资源,每个资源都accountId标识了该资源的所有者。如果可用,使用护栏追踪来了解护栏特定的评估详情。有关更多信息,请参阅 测试护栏。

当调用请求中未提供护栏且适用一个或多个强制性护栏时,数据事件中的guardrailIdentifier和guardrailVersion请求参数为。ENFORCED该值是一个标记,不是护栏标识符或版本。如果有一道强制性护栏适用,则单个assessments入口属于该护栏。如果适用多重强制性保护措施,则适用相同的排序和归因限制。