使用記錄 Amazon 基岩 API 呼叫 AWS CloudTrail - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用記錄 Amazon 基岩 API 呼叫 AWS CloudTrail

Amazon 基岩集成了一種服務 AWS CloudTrail,該服務可提供 Amazon 基岩中的用戶,角色或 AWS 服務採取的操作記錄。 CloudTrail 捕獲 Amazon 基岩的所有 API 調用作為事件。擷取的呼叫包括從 Amazon Bedrock 主控台執行的呼叫,以及對 Amazon Bedrock API 操作發出的程式碼呼叫。如果您建立追蹤,您可以啟用持續交付 CloudTrail 事件到 Amazon S3 儲存貯體,包括 Amazon 基岩的事件。如果您未設定追蹤,您仍然可以在 [事件歷程記錄] 中檢視 CloudTrail 主控台中最近的事件。使用收集的資訊 CloudTrail,您可以判斷向 Amazon Bdrock 提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間以及其他詳細資訊。

若要進一步了解 CloudTrail,請參閱使AWS CloudTrail 用者指南

Amazon 基岩信息 CloudTrail

CloudTrail 在您創建帳戶 AWS 帳戶 時啟用。當 Amazon Bedrock 中發生活動時,該活動會與事件歷史記錄中的其他 AWS 服務 CloudTrail 事件一起記錄在事件中。您可以查看,搜索和下載最近的事件 AWS 帳戶。如需詳細資訊,請參閱使用 CloudTrail 事件歷程記錄檢視事件

對於您的事件的持續記錄 AWS 帳戶,包括 Amazon 基岩事件,請創建一個跟踪。追蹤可 CloudTrail 將日誌檔交付到 Amazon S3 儲存貯體。依預設,當您在主控台中建立追蹤時,該追蹤會套用至所有的 AWS 區域。追蹤記錄來自 AWS 分區中所有區域的事件,並將日誌檔傳送到您指定的 Amazon S3 儲存貯體。此外,您還可以設定其他 AWS 服務,以進一步分析 CloudTrail 記錄中收集的事件資料並採取行動。如需詳細資訊,請參閱下列內容:

每一筆事件或日誌項目都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項:

  • 要求是使用根使用者登入資料還是 AWS Identity and Access Management (IAM) 使用者登入資料提出。

  • 提出該請求時,是否使用了特定角色或聯合身分使用者的暫時安全憑證。

  • 請求是否由其他 AWS 服務提出。

如需詳細資訊,請參閱 CloudTrail userIdentity 元素

Amazon 基岩數據事件 CloudTrail

資料事件提供在資源上或在資源中執行的資源操作的相關資訊 (例如,讀取或寫入 Amazon S3 物件)。這些也稱為資料平面操作。資料事件通常是預設 CloudTrail 不會記錄的大量活動。

Amazon Bedrock 不記錄 Amazon Bedrock 執行期 API 操作 (InvokeModelInvokeModelWithResponseStream)。

Amazon 基岩會將 CloudTrail Amazon 基岩執行階段 API 作業動作的所有代理程式記錄為資料事件。

  • 若要記錄InvokeAgent呼叫,請設定進階事件選取器,以記錄資AWS::Bedrock::AgentAlias源類型的資料事件。

  • 若要記錄RetrieveRetrieveAndGenerate呼叫,請設定進階事件選取器,以記錄資AWS::Bedrock::KnowledgeBase源類型的資料事件。

在 CloudTrail 主控台中,選擇「資料」事件類型的「基岩代理程式別名」或「基岩知識庫」。您還可以選擇自訂記錄選取器範本來篩選 eventNameresources.ARN 欄位。如需詳細資訊,請參閱使用 AWS 管理主控台記錄資料事件

從中 AWS CLI,將resource.type值設定為等於AWS::Bedrock::AgentAlias或,AWS::Bedrock::KnowledgeBase並將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 Agents for Amazon Bedrock agent alias", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Bedrock::AgentAlias"] } ] }, { "Name": "Log all data events on an Agents for Amazon Bedrock knowledge base", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Bedrock::KnowledgeBase"] } ] } ]'

您還可以在 eventNameresources.ARN 欄位上另外進行篩選。如需有關這些欄位的詳細資訊,請參閱 AdvancedFieldSelector

資料事件需支付額外的費用。如需有關 CloudTrail 定價的詳細資訊,請參閱AWS CloudTrail 定價

Amazon 基岩管理事件 CloudTrail

管理事件提供有關對您 AWS 帳戶中資源執行之管理作業的相關資訊。這些也稱為控制平面操作。 CloudTrail 依預設,記錄管理事件 API 作業。

Amazon Bedrock 會將剩餘的 Amazon Bedrock API 操作記錄為管理事件。如需 Amazon 基岩記錄到的 Amazon 基岩 API 操作清單 CloudTrail,請參閱 Amazon 基岩 API 參考資料中的以下頁面。

Amazon 基岩 API 操作的所有 Amazon 基岩 API 操作代理程式都會記錄在 Amazon 基岩 API 參考中, CloudTrail 並將其記錄在其中。例如,呼叫InvokeModelStopModelCustomizationJob、和CreateAgent動作會在 CloudTrail 記錄檔中產生項目。

了解 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" } }