本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Bedrock 已與 服務整合 AWS CloudTrail,此服務可提供使用者、角色或 Amazon Bedrock 中 AWS 服務所採取之動作的記錄。CloudTrail 會將 Amazon Bedrock 的所有 API 呼叫擷取為事件。擷取的呼叫包括從 Amazon Bedrock 主控台執行的呼叫,以及對 Amazon Bedrock API 操作發出的程式碼呼叫。如果您建立追蹤,就可以將 CloudTrail 事件持續交付到 Amazon S3 儲存貯體,包括 Amazon Bedrock 的事件。
即使您未設定追蹤,依然可以透過 CloudTrail 主控台中的事件歷史記錄檢視最新事件。
您可以利用 CloudTrail 所收集的資訊來判斷向 Amazon Bedrock 發出的請求,以及發出請求的 IP 地址、人員、時間和其他詳細資訊。
若要進一步了解 CloudTrail,請參閱「AWS CloudTrail 使用者指南」。
CloudTrail 中的 Amazon Bedrock 資訊
當您建立帳戶 AWS 帳戶 時,您的 上會啟用 CloudTrail。當活動在 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 元素。
CloudTrail 中的 Amazon Bedrock 資料事件
資料事件提供在資源上或在資源中執行的資源操作的相關資訊 (例如,讀取或寫入 Amazon S3 物件)。這些也稱為資料平面操作。資料事件通常是 CloudTrail 預設情況下不記錄的大量活動。
Amazon Bedrock 會將 Amazon Bedrock 執行期 API 操作 (例如 InvokeModel
、Converse
、 InvokeModelWithResponseStream
和 ConverseStream
) 記錄為管理事件。
Amazon Bedrock 會將 Amazon Bedrock 執行期 API 操作的所有代理程式 (例如 InvokeAgent
和 InvokeInlineAgent
) 動作記錄為資料事件至 CloudTrail。
-
若要記錄InvokeAgent呼叫,請設定進階事件選取器來記錄
AWS::Bedrock::AgentAlias
資源類型的資料事件。 -
若要記錄InvokeInlineAgent呼叫,請設定進階事件選取器來記錄
AWS::Bedrock::InlineAgent
資源類型的資料事件。 -
若要記錄Retrieve和RetrieveAndGenerate呼叫,請設定進階事件選取器來記錄
AWS::Bedrock::KnowledgeBase
資源類型的資料事件。 -
若要記錄 InvokeFlow 呼叫,請設定進階事件選取器來記錄
AWS::Bedrock::FlowAlias
資源類型的資料事件。 -
若要記錄
RenderPrompt
呼叫,請設定進階事件選取器來記錄AWS::Bedrock::Prompt
資源類型的資料事件。RenderPrompt
是僅限許可的動作,可轉譯使用提示管理建立的提示,用於模型調用 (InvokeModel(WithResponseStream)
和Converse(Stream)
)。
在 CloudTrail 主控台,為資料事件類型選擇 Bedrock 代理程式別名或 Bedrock 知識庫。您還可以選擇自訂記錄選取器範本來篩選 eventName
和 resources.ARN
欄位。如需詳細資訊,請參閱使用 AWS 管理主控台記錄資料事件。
從 中 AWS CLI,將resource.type
值設定為等於 AWS::Bedrock::AgentAlias
、 或 AWS::Bedrock::KnowledgeBase
,AWS::Bedrock::FlowAlias
並將 設定為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 中的 Amazon Bedrock 管理事件
管理事件提供在您 AWS 帳戶中資源上執行之管理操作的相關資訊。這些也稱為控制平面操作。根據預設,CloudTrail 會記錄管理事件 API 操作。
Amazon Bedrock 會將 Amazon Bedrock 執行期 API 操作 (InvokeModel
、Converse
、 InvokeModelWithResponseStream
和 ConverseStream
) 記錄為管理事件。
Amazon Bedrock 會將剩餘的 Amazon Bedrock API 操作記錄為管理事件。有關 Amazon Bedrock 記錄到 CloudTrail 的 Amazon Bedrock API 操作的清單,請參閱以下 Amazon Bedrock API 參考中的頁面。
所有 Amazon Bedrock API 操作和適用於 Amazon Bedrock 的代理程式 API 操作,均由 CloudTrail 記錄並記載在 Amazon Bedrock API 參考中。例如,對 InvokeModel
、StopModelCustomizationJob
以及 CreateAgent
動作發出的呼叫會在 CloudTrail 日誌檔案中產生項目。
Amazon GuardDuty
了解 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"
}
}