記錄資料事件 - AWS CloudTrail

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

記錄資料事件

本節說明如何使用CloudTrail 主控台和記錄資料事件AWS CLI

依預設,追蹤和事件資料存放區不會記錄資料事件。資料事件需支付額外的費用。如需詳細資訊,請參閱 AWS CloudTrail 定價

資料事件提供在資源上執行或於資源中執行之資源操作的相關資訊。這些也稱為資料平面操作。資料事件通常是大量資料的活動。

範例資料事件包含:

您可以使用進階事件選取器來建立精細的選取器,只記錄使用案例感興趣的特定事件,藉此協助您控制成本。例如,您可以透過在eventName欄位上新增篩選器,使用進階事件選取器來記錄特定的 API 呼叫。如需詳細資訊,請參閱 使用進階事件選取器篩選資料事件

注意

您的跟踪記錄的事件可在 Amazon 中使用 EventBridge。例如,如果您選擇記錄 S3 物件的資料事件,但不記錄管理事件,則您的追蹤只會處理並記錄所指定之 S3 物件的資料事件。這些 S3 物件的資料事件可在 Amazon 中使用 EventBridge。如需詳細資訊,請參閱 Amazon EventBridge 使用者指南中的來自 AWS 服務的事件

資料事件

下表顯示可用於追蹤和事件資料存放區的資料事件類型。資料事件類型 (主控台) 欄顯示主控台中的適當選取項目。resource .type 值欄會顯示您要指定的resources.type值,以便在使用或 API 的追蹤或事件資料存放區中包含該類型的資料事件。 AWS CLI CloudTrail

對於追蹤,您可以使用基本或進階事件選取器,在一般用途儲存貯體、Lambda 函數和 DynamoDB 表格 (顯示在表格的前三列中) 記錄 Amazon S3 物件的資料事件。您只能使用進階事件選取器來記錄剩餘列中顯示的資料事件類型。

對於事件資料存放區,您只能使用進階事件選取器來包含資料事件。

AWS 服務 描述 資料事件類型 (主控台) resources.type 值
Amazon DynamoDB

資料表上的 Amazon DynamoDB 項目層級 API 活動 (例如PutItemDeleteItem、和 UpdateItem API 操作)。

注意

對於已啟用串流的資料表,資料事件中的 resources 欄位會同時包含 AWS::DynamoDB::StreamAWS::DynamoDB::Table。如果您指定 AWS::DynamoDB::Table 作為 resources.type,則會根據預設同時記錄 DynamoDB 資料表和 DynamoDB 串流事件。若要排除串流事件,請在eventName欄位上新增篩選器。

DynamoDB

AWS::DynamoDB::Table

AWS Lambda

AWS Lambda 函數執行活動 (InvokeAPI)。

Lambda AWS::Lambda::Function
Amazon S3

一般用途儲存貯體中物件上的 Amazon S3 物件層級 PutObject API 活動 (例如DeleteObject,和 API 操作)。GetObject

S3 AWS::S3::Object
AWS AppConfig

AWS AppConfig 設定作業的 API 活動,例如呼叫StartConfigurationSessionGetLatestConfiguration.

AWS AppConfig AWS::AppConfig::Configuration
AWS 數據交換

用於轉換器作業的 B2B 資料交換 API 活動,例如呼叫 GetTransformerJobStartTransformerJob

B2B 資料交換 AWS::B2BI::Transformer
Amazon Bedrock 代理程式別名上的 Amazon Bedrock API 活動 Bedrock 代理程式別名 AWS::Bedrock::AgentAlias
Amazon Bedrock 知識庫中的 Amazon Bedrock API 活動 Bedrock 知識庫 AWS::Bedrock::KnowledgeBase
Amazon CloudFront

CloudFront 上的 API 活動 KeyValueStore.

CloudFront KeyValueStore AWS::CloudFront::KeyValueStore
AWS Cloud Map AWS Cloud Map 命名空間上的 API 活動 AWS Cloud Map 命名空間 AWS::ServiceDiscovery::Namespace
AWS Cloud Map AWS Cloud Map 服務上的 API 活動 AWS Cloud Map 服務 AWS::ServiceDiscovery::Service
AWS CloudTrail

CloudTrail PutAuditEventsCloudTrail Lake 頻道上的活動,用於從外部記錄事件 AWS。

CloudTrail 渠道 AWS::CloudTrail::Channel
Amazon CloudWatch

指標上的 Amazon CloudWatch API 活動

CloudWatch 公制 AWS::CloudWatch::Metric
Amazon CodeWhisperer 在自定義 Amazon CodeWhisperer API 活動。 CodeWhisperer 定制 AWS::CodeWhisperer::Customization
Amazon CodeWhisperer 設定檔上的 Amazon CodeWhisperer API 活動。 CodeWhisperer AWS::CodeWhisperer::Profile
Amazon Cognito

Amazon Cognito 身分集區上的 Amazon Cognito API 活動。

Cognito 身分池 AWS::Cognito::IdentityPool
Amazon DynamoDB

串流上的 Amazon DynamoDB API 活動。

DynamoDB Streams AWS::DynamoDB::Stream
Amazon Elastic Block Store

Amazon Elastic Block Store (EBS) direct API,例如 Amazon EBS 快照上的 PutSnapshotBlockGetSnapshotBlock,以及 ListChangedBlocks

Amazon EBS direct API AWS::EC2::Snapshot
Amazon EMR 預寫日誌工作區上的 Amazon EMR API 活動。 EMR 預寫日誌工作區 AWS::EMRWAL::Workspace
Amazon FinSpace

環境上的 Amazon FinSpace API 活動。

FinSpace AWS::FinSpace::Environment
AWS Glue

AWS Glue 由 Lake Formation 創建的表上的 API 活動。

Lake Formation AWS::Glue::Table
Amazon GuardDuty

檢測器的 Amazon GuardDuty API 活動。

GuardDuty 探測器 AWS::GuardDuty::Detector
AWS HealthImaging

AWS HealthImaging 資料存放區上的 API 活動。

MedicalImaging 資料倉庫 AWS::MedicalImaging::Datastore
AWS IoT

AWS IoT 憑證上的 API 活動

IoT 證書 AWS::IoT::Certificate
AWS IoT

AWS IoT 事物上的 API 活動

IoT 的事 AWS::IoT::Thing
AWS IoT Greengrass Version 2

來自組件版本的 Greengrass 核心設備的 API 活動

注意

Greengrass 不會記錄訪問被拒絕的事件。

IoT Greengrass 件版本 AWS::GreengrassV2::ComponentVersion
AWS IoT Greengrass Version 2

部署上來自 Greengrass 核心裝置的 API 活動

注意

Greengrass 不會記錄訪問被拒絕的事件。

IoT 環境部署 AWS::GreengrassV2::Deployment
AWS IoT SiteWise

資產上的 IoT SiteWise API 活動

IoT SiteWise 資產 AWS::IoTSiteWise::Asset
AWS IoT SiteWise

時間序列上的 IoT SiteWise API 活動

IoT SiteWise 時間序列 AWS::IoTSiteWise::TimeSeries
AWS IoT TwinMaker

實體上的 IoT TwinMaker API 活動。

IoT TwinMaker 實體 AWS::IoTTwinMaker::Entity
AWS IoT TwinMaker

工作區上的 IoT TwinMaker API 活動。

IoT TwinMaker 工作區 AWS::IoTTwinMaker::Workspace
Amazon Kendra Intelligent Ranking

重新評分執行計畫上的 Amazon Kendra Intelligent Ranking API 活動。

Kendra Ranking AWS::KendraRanking::ExecutionPlan
Amazon Keyspaces (適用於 Apache Cassandra) 表上的 Amazon Keyspaces API 活動 卡桑德拉表 AWS::Cassandra::Table
Amazon Kinesis Data Streams 串流上的 Kinesis Data Streams 流 API 活動。 Kinesis 流 AWS::Kinesis::Stream
Amazon Kinesis Data Streams 串流取用的室運動資料串流 API 活動。 Kinesis 流消費者 AWS::Kinesis::StreamConsumer
Amazon Kinesis Video Streams Kinesis Video Streams 片串流上的 API 活動,例如呼叫GetMediaPutMedia. Kinesis 視訊串流 AWS::KinesisVideo::Stream
Amazon Machine Learning ML 模型上的 Machine Learning API 活動。 機械學習 MlModel AWS::MachineLearning::MlModel
Amazon Managed Blockchain

網路上的 Amazon Managed Blockchain API 活動。

Managed Blockchain 網路 AWS::ManagedBlockchain::Network
Amazon Managed Blockchain

Ethereum 節點上的 Amazon Managed Blockchain JSON-RPC 呼叫,例如 eth_getBalanceeth_getBlockByNumber

Managed Blockchain AWS::ManagedBlockchain::Node
Amazon Neptune 圖形

Neptune 圖形上的資料 API 活動,例如查詢、演算法或向量搜尋。

Neptune 圖形 AWS::NeptuneGraph::Graph
AWS Private CA

AWS Private CA 作用中目錄 API 活動的連接器。

AWS Private CA 作用中目錄的連接器 AWS::PCAConnectorAD::Connector
AWS Private CA

AWS Private CA 用於 SCEP API 活動的連接器。

AWS Private CA 連接器應用於 SCEP AWS::PCAConnectorSCEP::Connector
Amazon Q 應用

Amazon Q 應用程式上的資料 API 活動。

Amazon Q 應用 AWS::QApps:QApp
Amazon Q Business

應用程式上的 Amazon Q Business API 活動

Amazon Q Business 應用程式 AWS::QBusiness::Application
Amazon Q Business

資料來源上的 Amazon Q Business API 活動

Amazon Q Business 資料來源 AWS::QBusiness::DataSource
Amazon Q Business

索引上的 Amazon Q Business API 活動

Amazon Q Business 索引 AWS::QBusiness::Index
Amazon Q Business

Web 體驗上的 Amazon Q Business API 活動

Amazon Q Business Web 體驗 AWS::QBusiness::WebExperience
Amazon RDS

資料庫叢集上的 Amazon RDS API 活動

RDS 數據 API-數據庫集群 AWS::RDS::DBCluster
Amazon S3

存取點上的 Amazon S3 API 活動

S3 存取點 AWS::S3::AccessPoint
Amazon S3

Amazon S3 物件 Lambda 存取點 API 活動,例如呼叫CompleteMultipartUploadGetObject.

S3 Object Lambda AWS::S3ObjectLambda::AccessPoint
Amazon S3 on Outposts

Outposts 上 Amazon S3 物件層級的 API 活動。

S3 Outposts AWS::S3Outposts::Object
Amazon SageMaker 端點上的 Amazon SageMaker InvokeEndpointWithResponseStream活動。 SageMaker 端點 AWS::SageMaker::Endpoint
Amazon SageMaker

功能商店上的 Amazon SageMaker API 活動。

SageMaker feature store AWS::SageMaker::FeatureGroup
Amazon SageMaker

實驗試用元件上的 Amazon SageMaker API 活動。

SageMaker 度量實驗試驗元件 AWS::SageMaker::ExperimentTrialComponent
Amazon SNS

平台端點上的 Amazon SNS Publish API 操作。

SNS 平台端點 AWS::SNS::PlatformEndpoint
Amazon SNS

主題上的 Amazon SNS PublishPublishBatch API 操作。

SNS 主題 AWS::SNS::Topic
Amazon SQS

訊息上的 Amazon SQS API 活動

SQS AWS::SQS::Queue
AWS Step Functions

Step Functions 狀態機上的 API 活動

Step Functions 狀態機器 AWS::StepFunctions::StateMachine
AWS Supply Chain

AWS Supply Chain 執行個體上的 API 活動。

供應鏈 AWS::SCN::Instance
Amazon SWF

網域上的 Amazon SWF API 活動

SWF 網域名稱 AWS::SWF::Domain
AWS Systems Manager 控制通道上的 Systems Manager API 活動 Systems Manager AWS::SSMMessages::ControlChannel
AWS Systems Manager 受管節點上的系統管理員 API 活動 系統管理員管理節點 AWS::SSM::ManagedNode
Amazon Timestream 資料庫上的 Amazon Timestream Query API 活動。 Timestream 資料庫 AWS::Timestream::Database
Amazon Timestream 資料庫上的 Amazon Timestream Query API 活動。 Timestream 資料表 AWS::Timestream::Table
Amazon Verified Permissions

政策存放區上的 Amazon Verified Permissions API 活動。

Amazon Verified Permissions AWS::VerifiedPermissions::PolicyStore
Amazon WorkSpaces 瘦客戶端 WorkSpaces 裝置上的精簡型用戶端 API 活動。 精簡型客戶端裝置 AWS::ThinClient::Device
Amazon WorkSpaces 瘦客戶端 WorkSpaces 環境上的精簡型用戶端 API 活動。 精簡型客戶端環境 AWS::ThinClient::Environment
AWS X-Ray

軌跡上的 X-Ray API 活動

X-Ray 軌跡 AWS::XRay::Trace

若要記錄資 CloudTrail 料事件,您必須明確新增要收集活動的每個資源類型。如需詳細資訊,請參閱 使用 CloudTrail 主控台建立追蹤使用主控台為 CloudTrail事件建立事件資料存放區

在單一區域追蹤或事件資料存放區上,您只能針對該區域可存取的資源記錄資料事件。雖然 S3 儲存貯體是全域儲存貯體,但 AWS Lambda 函式和 DynamoDB 資料表是區域性的。

記錄資料事件需支付額外的費用。如需 CloudTrail 定價,請參閱AWS CloudTrail 定價

範例:記錄 Amazon S3 物件的資料事件

記錄的 S3 儲存貯體中所有 S3 物件的資料事件

下例示範當您設定記錄名為 DOC-EXAMPLE-BUCKET 之 S3 儲存貯體的所有資料事件時,記錄如何運作。在此範例中, CloudTrail 使用者指定了空白前置詞,以及同時記錄讀取寫入資料事件的選項。

  1. 使用者將物件上傳至 DOC-EXAMPLE-BUCKET

  2. PutObject API 操作是 Amazon S3 物件層級的 API。它會在中記錄為資料事件 CloudTrail。由於 CloudTrail 使用者指定了帶有空前綴的 S3 儲存貯體,因此會記錄該儲存貯體中任何物件上發生的事件。追蹤或事件資料存放區會處理並記錄事件。

  3. 另一位使用者將物件上傳至 DOC-EXAMPLE-BUCKET2

  4. 發生在 S3 儲存貯體物件上的 PutObject API 操作,並未針對追蹤或事件資料存放區指定。追蹤或事件資料存放區不會記錄事件。

記錄特定 S3 物件的資料事件

以下範例示範當您設定追蹤或事件資料存放區記錄特定 S3 物件的事件時,記錄如何運作。在此範例中, CloudTrail 使用者指定了一個名為的 S3 儲存貯體DOC-EXAMPLE-BUCKET3,其前置詞為 my-images,以及僅記錄寫入資料事件的選項。

  1. 使用者刪除儲存貯體中使用 my-images 前綴開頭的物件,例如 arn:aws:s3:::DOC-EXAMPLE-BUCKET3/my-images/example.jpg

  2. DeleteObject API 操作是 Amazon S3 物件層級的 API。它會在中記錄為寫入資料事件 CloudTrail。物件上發生的事件符合追蹤或事件資料存放區中指定的 S3 儲存貯體和字首。追蹤或事件資料存放區會處理並記錄事件。

  3. 另一位使用者刪除 S3 儲存貯體中使用不同前綴的物件,例如 arn:aws:s3:::DOC-EXAMPLE-BUCKET3/my-videos/example.avi

  4. 物件上發生的事件不符合您的追蹤或事件資料存放區中指定的字首。追蹤或事件資料存放區不會記錄事件。

  5. 使用者為物件 arn:aws:s3:::DOC-EXAMPLE-BUCKET3/my-images/example.jpg 呼叫 GetObject API 操作。

  6. 事件發生在追蹤或事件資料存放區中指定的儲存貯體和字首上,但 GetObject 是讀取類型的 Amazon S3 物件層級 API。它會在中記錄為「讀取資料」事件 CloudTrail,且追蹤或事件資料存放區未設定為記錄「讀取」事件。追蹤或事件資料存放區不會記錄事件。

注意

對於追蹤,如果您要記錄特定 Amazon S3 儲存貯體的資料事件,我們不建議您使用要記錄其資料事件的 Amazon S3 儲存貯體,來接收您在資料事件區段中為追蹤指定的日誌檔案。使用同一個 Amazon S3 儲存貯體,會讓您的追蹤在日誌檔案每次交付到您的 Amazon S3 儲存貯體時,記錄資料事件。日誌檔案是依時間間隔交付的彙總事件,所以事件和日誌檔案的比例不是一比一;此事件會記錄在下一個日誌檔案中。例如,當 CloudTrail 交付日誌時,PutObject事件發生在 S3 儲存貯體上。如果資料事件區段中也指定了此 S3 儲存貯體,追蹤就會處理 PutObject 事件,並記錄為資料事件。這動作是另一個 PutObject 事件,而追蹤會再次處理並記錄事件。

如果您設定追蹤以記錄 AWS 帳戶中的所有 Amazon S3 資料事件,若要避免為接收日誌檔的 Amazon S3 儲存貯體記錄資料事件,請考慮將日誌檔交付設定到屬於另一個 AWS 帳戶的 Amazon S3 儲存貯體。如需詳細資訊,請參閱 從多個帳戶接收 CloudTrail 日誌文件

記錄其他 AWS 帳戶中 S3 物件的資料事件

當您設定追蹤以記錄資料事件時,您也可以指定屬於其他 AWS 帳戶的 S3 物件。在指定的物件上發生事件時,會 CloudTrail 評估事件是否符合每個帳戶中的任何追蹤。如果事件符合追蹤的設定,則追蹤會處理並記錄該帳戶的事件。通常,API 呼叫者和資源擁有者都可以接收事件。

如果您擁有 S3 物件,並在您的追蹤中指定了此物件,您的追蹤會記錄發生在您帳戶中此物件的事件。因為您擁有此物件,所以您的追蹤也會記錄其他帳戶呼叫此物件時的事件。

如果您在您的追蹤中指定了 S3 物件,但另一個帳戶擁有此物件,您的追蹤就只會記錄發生在您帳戶中該物件的事件。您的追蹤不會記錄發生在其他帳戶的事件。

範例:記錄兩個 AWS 帳戶中一個 Amazon S3 物件的資料事件

下列範例顯示兩個 AWS 帳戶如 CloudTrail 何設定以記錄相同 S3 物件的事件。

  1. 在您的帳戶中,您希望您的追蹤將所有物件的資料事件記錄在您名為 DOC-EXAMPLE-BUCKET 的 S3 儲存貯體中。您可以透過指定有空物件前綴的 S3 儲存貯體,來設定追蹤。

  2. Bob 的獨立帳戶可以存取 S3 儲存貯體。Bob 也想記錄同一個 S3 儲存貯體中所有物件的資料事件。他為自己的追蹤設定了追蹤,並指定有空物件前綴的同一個 S3 儲存貯體。

  3. Bob 使用 PutObject API 操作將物件上傳到 S3 儲存貯體。

  4. 這個事件發生在他的帳戶中,而且符合他的追蹤設定。Bob 的追蹤會處理並記錄此事件。

  5. 因為您擁有此 S3 儲存貯體,而且此事件符合您的追蹤設定,所以您的追蹤也會處理並記錄相同的事件。由於現在有兩個事件副本(一個登錄在 Bob 的跟踪中,一個已登錄您的),所以 CloudTrail 收取兩個數據事件副本的費用。

  6. 您將物件上傳至 S3 儲存貯體。

  7. 這個事件發生在您的帳戶中,而且符合您的追蹤設定。您的追蹤會處理並記錄此事件。

  8. 由於 Bob 的帳戶中不會發生事件,而且他不擁有 S3 儲存貯體,Bob 的追蹤不會記錄事件。 CloudTrail 此資料事件只會收取一份副本的費用。

範例:記錄所有儲存貯體的資料事件,包括兩個 AWS 帳戶使用的 S3 儲存貯體

下列範例顯示針對收集帳戶中資料事件的追蹤啟用 [選取帳戶中的所有 S3 儲存貯體] 時的記錄行為 AWS 。

  1. 在您的帳戶中,您希望您的追蹤記錄所有 S3 儲存貯體的資料事件。您可以針對資料事件中的所有目前和未來的 S3 儲存貯體選擇讀取事件、寫入事件,或兩者都選擇。

  2. Bob 的獨立帳戶可以存取您帳戶中的 S3 儲存貯體。他希望針對有權存取的儲存貯體記錄資料事件。他會將自己的追蹤設定為取得所有 S3 儲存貯體的資料事件。

  3. Bob 使用 PutObject API 操作將物件上傳到 S3 儲存貯體。

  4. 這個事件發生在他的帳戶中,而且符合他的追蹤設定。Bob 的追蹤會處理並記錄此事件。

  5. 因為您擁有此 S3 儲存貯體,而且此事件符合您的追蹤設定,所以您的追蹤也會處理並記錄事件。由於現在有兩個事件副本(一個登錄在 Bob 的跟踪中,另一個已登錄您的),因此請向每個帳戶 CloudTrail 收取數據事件副本的費用。

  6. 您將物件上傳至 S3 儲存貯體。

  7. 這個事件發生在您的帳戶中,而且符合您的追蹤設定。您的追蹤會處理並記錄此事件。

  8. 由於 Bob 的帳戶中不會發生事件,而且他不擁有 S3 儲存貯體,Bob 的追蹤不會記錄事件。 CloudTrail 您帳戶中只會收取一份此資料事件副本的費用。

  9. 第三位使用者 Mary 可存取 S3 儲存貯體,並在儲存貯體上執行 GetObject 作業。她在帳戶中具有設為記錄所有 S3 儲存貯體之資料事件的追蹤。因為她是 API 呼叫者,所以會在她的追蹤中 CloudTrail 記錄資料事件。雖然 Bob 可以存取儲存貯體,但他不是資源擁有者,所以這次沒有任何事件記錄在他的追蹤中。身為資源擁有者,您會在追蹤中收到有關 Mary 呼叫之GetObject作業的事件。 CloudTrail向您的帳戶和瑪麗的帳戶收取每個數據事件副本的費用:一個在瑪麗的跟踪中,一個在您的。

唯讀和唯寫事件

當您設定您的追蹤或事件資料存放區以記錄資料和管理事件時,您可以指定要記錄唯讀事件、唯寫事件,還是都記錄。

  • 讀取

    事件包含讀取您的資源,但不予變更的 API 操作。例如,唯讀事件包含 Amazon EC2 DescribeSecurityGroupsDescribeSubnets API 操作。這些操作僅傳回 Amazon EC2 資源的相關資訊,但不變更您的組態。

  • 寫入

    Write (寫) 事件只包含會修改 (或可能修改) 您資源的 API 操作。例如,Amazon EC2 RunInstancesTerminateInstances API 操作會修改您的執行個體。

範例:記錄不同追蹤的讀和寫事件

下列範例顯示如何設定追蹤,將帳戶的日誌活動分割為不同的 S3 儲存貯體:一個名為 DOC-EXAMPLE-BUCKET1 的儲存貯體會接收唯讀事件,第二個 DOC-EXAMPLE-BUCKET2 會接收唯寫事件。

  1. 您可以建立追蹤,並選擇命名為接收日誌檔DOC-EXAMPLE-BUCKET1的 S3 儲存貯體。接著,您要更新追蹤,指定您要管理事件和資料事件。

  2. 您可以建立第二個追蹤,然後選擇DOC-EXAMPLE-BUCKET2 要接收記錄檔的 S3 儲存貯體。接著,您要更新追蹤,指定您要管理事件和資料事件。

  3. Amazon EC2 DescribeInstancesTerminateInstances API 操作發生在您的帳戶中。

  4. DescribeInstances API 操作是唯讀事件,且符合第一個追蹤的設定。追蹤會記錄事件並將它交付到 DOC-EXAMPLE-BUCKET1

  5. TerminateInstances API 操作是唯寫事件,且符合第二個追蹤的設定。追蹤會記錄事件並將它交付到 DOC-EXAMPLE-BUCKET2

記錄資料事件 AWS Management Console

下列程序描述如何更新現有的事件資料存放區或追蹤,以使用 AWS Management Console記錄資料事件。如需有關如何建立事件資料存放區以記錄資料事件的資訊,請參閱 使用主控台為 CloudTrail事件建立事件資料存放區。如需有關如何建立追蹤以記錄資料事件的資訊,請參閱 在主控台中建立追蹤

針對追蹤,記錄資料事件的步驟會因您使用的是進階事件選取器或基本事件選取器而有所不同。您可以使用進階事件選取器記錄所有資料事件類型的資料事件,但如果使用基本事件選取器,則只能記錄 Amazon S3 儲存貯體和儲存貯體物件、 AWS Lambda 函數和 Amazon DynamoDB 表的資料事件。

使用以下程序更新現有的事件資料存放區,以便記錄資料事件。如需有關使用進階事件選取器的詳細資訊,請參閱本主題使用進階事件選取器篩選資料事件中的。

  1. 請登入 AWS Management Console 並開啟 CloudTrail 主控台,網址為 https://console.aws.amazon.com/cloudtrail/

  2. 在導覽窗格中,選擇 Lake 下方的事件資料存放區

  3. 事件資料存放區頁面上,選擇您想要更新的事件資料存放區。

    注意

    您只能在包含事件的事件資料存放區上啟用資料 CloudTrail 事件。您無法針對 AWS Config 設定項目、 CloudTrail Insights CloudTrail 事件或非事件啟用事件資料存放區上的資料AWS 事件。

  4. 在詳細資訊頁面上,選擇資料事件中的編輯

  5. 如果您尚未記錄資料事件,請選擇 Data events (資料事件) 核取方塊。

  6. 針對資料事件類型,選擇您想要記錄資料事件的資源類型。

  7. 選擇記錄選取器範本。 CloudTrail 包括記錄資源類型的所有資料事件的預先定義範本。若要建立自訂記錄選取器範本,請選擇 Custom (自訂)。

  8. (選用) 在選取器名稱中,輸入用於識別選取器的名稱。選取器名稱是進階事件選擇器的描述性名稱,例如「僅為兩個 S3 儲存貯體記錄資料事件」。選取器名稱會被作為 Name 列在進階事件選取器中,您在展開 JSON 檢視時可檢視該名稱。

  9. 進階事件選取器,請為您想要記錄資料事件的特定資源建立表達式。如果您使用預先定義的日誌範本,則可略過此步驟。

    1. 從下列欄位選取。

      • readOnly-readOnly 可以設定為等於true或的值false。唯讀資料事件是不會變更資源狀態的事件,例如 Get*Describe* 事件. 寫入事件新增、變更或刪除資源、屬性或成品,例如 Put*Delete*Write* 事件。若要同時記錄 readwrite 事件,請勿新增 readOnly 選擇器。

      • eventName-eventName可以使用任何運算子。您可以使用它來包含或排除記錄到的任何資料事件 CloudTrailPutBucket,例如GetItem、或GetSnapshotBlock

      • resources.ARN-您可以將任何運算子搭配使用resources.ARN,但是如果您使用 equals不等於,則值必須完全符合您在範本中指定為值之類型之有效資源的 ARN。resources.type

        下表顯示每種 resources.type 的有效 ARN 格式。

        注意

        您無法使用resources.ARN欄位來篩選沒有 ARN 的資源類型。

        resources.type resources.ARN
        AWS::DynamoDB::Table1
        arn:partition:dynamodb:region:account_ID:table/table_name
        AWS::Lambda::Function
        arn:partition:lambda:region:account_ID:function:function_name

        AWS::S3::Object2

        arn:partition:s3:::DOC-EXAMPLE-BUCKET/ arn:partition:s3:::DOC-EXAMPLE-BUCKET/object_or_file_name/
        AWS::AppConfig::Configuration
        arn:partition:appconfig:region:account_ID:application/application_ID/environment/environment_ID/configuration/configuration_profile_ID
        AWS::B2BI::Transformer
        arn:partition:b2bi:region:account_ID:transformer/transformer_ID
        AWS::Bedrock::AgentAlias
        arn:partition:bedrock:region:account_ID:agent-alias/agent_ID/alias_ID
        AWS::Bedrock::KnowledgeBase
        arn:partition:bedrock:region:account_ID:knowledge-base/knowledge_base_ID
        AWS::Cassandra::Table
        arn:partition:cassandra:region:account_ID:keyspace/keyspace_name/table/table_name
        AWS::CloudFront::KeyValueStore
        arn:partition:cloudfront:region:account_ID:key-value-store/KVS_name
        AWS::CloudTrail::Channel
        arn:partition:cloudtrail:region:account_ID:channel/channel_UUID
        AWS::CodeWhisperer::Customization
        arn:partition:codewhisperer:region:account_ID:customization/customization_ID
        AWS::CodeWhisperer::Profile
        arn:partition:codewhisperer:region:account_ID:profile/profile_ID
        AWS::Cognito::IdentityPool
        arn:partition:cognito-identity:region:account_ID:identitypool/identity_pool_ID
        AWS::DynamoDB::Stream
        arn:partition:dynamodb:region:account_ID:table/table_name/stream/date_time
        AWS::EC2::Snapshot
        arn:partition:ec2:region::snapshot/snapshot_ID
        AWS::EMRWAL::Workspace
        arn:partition:emrwal:region:account_ID:workspace/workspace_name
        AWS::FinSpace::Environment
        arn:partition:finspace:region:account_ID:environment/environment_ID
        AWS::Glue::Table
        arn:partition:glue:region:account_ID:table/database_name/table_name
        AWS::GreengrassV2::ComponentVersion
        arn:partition:greengrass:region:account_ID:components/component_name
        AWS::GreengrassV2::Deployment
        arn:partition:greengrass:region:account_ID:deployments/deployment_ID
        AWS::GuardDuty::Detector
        arn:partition:guardduty:region:account_ID:detector/detector_ID
        AWS::IoT::Certificate
        arn:partition:iot:region:account_ID:cert/certificate_ID
        AWS::IoT::Thing
        arn:partition:iot:region:account_ID:thing/thing_ID
        AWS::IoTSiteWise::Asset
        arn:partition:iotsitewise:region:account_ID:asset/asset_ID
        AWS::IoTSiteWise::TimeSeries
        arn:partition:iotsitewise:region:account_ID:timeseries/timeseries_ID
        AWS::IoTTwinMaker::Entity
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID/entity/entity_ID
        AWS::IoTTwinMaker::Workspace
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID
        AWS::KendraRanking::ExecutionPlan
        arn:partition:kendra-ranking:region:account_ID:rescore-execution-plan/rescore_execution_plan_ID
        AWS::Kinesis::Stream
        arn:partition:kinesis:region:account_ID:stream/stream_name
        AWS::Kinesis::StreamConsumer
        arn:partition:kinesis:region:account_ID:stream_type/stream_name/consumer/consumer_name:consumer_creation_timestamp
        AWS::KinesisVideo::Stream
        arn:partition:kinesisvideo:region:account_ID:stream/stream_name/creation_time
        AWS::MachineLearning::MlModel
        arn:partition:machinelearning:region:account_ID:mlmodel/model_ID
        AWS::ManagedBlockchain::Network
        arn:partition:managedblockchain:::networks/network_name
        AWS::ManagedBlockchain::Node
        arn:partition:managedblockchain:region:account_ID:nodes/node_ID
        AWS::MedicalImaging::Datastore
        arn:partition:medical-imaging:region:account_ID:datastore/data_store_ID
        AWS::NeptuneGraph::Graph
        arn:partition:neptune-graph:region:account_ID:graph/graph_ID
        AWS::PCAConnectorAD::Connector
        arn:partition:pca-connector-ad:region:account_ID:connector/connector_ID
        AWS::PCAConnectorSCEP::Connector
        arn:partition:pca-connector-scep:region:account_ID:connector/connector_ID
        AWS::QApps:QApp
        arn:partition:qapps:region:account_ID:application/application_UUID/qapp/qapp_UUID
        AWS::QBusiness::Application
        arn:partition:qbusiness:region:account_ID:application/application_ID
        AWS::QBusiness::DataSource
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID/data-source/datasource_ID
        AWS::QBusiness::Index
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID
        AWS::QBusiness::WebExperience
        arn:partition:qbusiness:region:account_ID:application/application_ID/web-experience/web_experienc_ID
        AWS::RDS::DBCluster
        arn:partition:rds:region:account_ID:cluster/cluster_name

        AWS::S3::AccessPoint3

        arn:partition:s3:region:account_ID:accesspoint/access_point_name
        AWS::S3ObjectLambda::AccessPoint
        arn:partition:s3-object-lambda:region:account_ID:accesspoint/access_point_name
        AWS::S3Outposts::Object
        arn:partition:s3-outposts:region:account_ID:object_path
        AWS::SageMaker::Endpoint
        arn:partition:sagemaker:region:account_ID:endpoint/endpoint_name
        AWS::SageMaker::ExperimentTrialComponent
        arn:partition:sagemaker:region:account_ID:experiment-trial-component/experiment_trial_component_name
        AWS::SageMaker::FeatureGroup
        arn:partition:sagemaker:region:account_ID:feature-group/feature_group_name
        AWS::SCN::Instance
        arn:partition:scn:region:account_ID:instance/instance_ID
        AWS::ServiceDiscovery::Namespace
        arn:partition:servicediscovery:region:account_ID:namespace/namespace_ID
        AWS::ServiceDiscovery::Service
        arn:partition:servicediscovery:region:account_ID:service/service_ID
        AWS::SNS::PlatformEndpoint
        arn:partition:sns:region:account_ID:endpoint/endpoint_type/endpoint_name/endpoint_ID
        AWS::SNS::Topic
        arn:partition:sns:region:account_ID:topic_name
        AWS::SQS::Queue
        arn:partition:sqs:region:account_ID:queue_name
        AWS::SSM::ManagedNode

        ARN 必須採用下列其中一種格式:

        • arn:partition:ssm:region:account_ID:managed-instance/instance_ID

        • arn:partition:ec2:region:account_ID:instance/instance_ID

        AWS::SSMMessages::ControlChannel
        arn:partition:ssmmessages:region:account_ID:control-channel/control_channel_ID
        AWS::StepFunctions::StateMachine

        ARN 必須採用下列其中一種格式:

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name/label_name

        AWS::SWF::Domain
        arn:partition:swf:region:account_ID:/domain/domain_name
        AWS::ThinClient::Device
        arn:partition:thinclient:region:account_ID:device/device_ID
        AWS::ThinClient::Environment
        arn:partition:thinclient:region:account_ID:environment/environment_ID
        AWS::Timestream::Database
        arn:partition:timestream:region:account_ID:database/database_name
        AWS::Timestream::Table
        arn:partition:timestream:region:account_ID:database/database_name/table/table_name
        AWS::VerifiedPermissions::PolicyStore
        arn:partition:verifiedpermissions:region:account_ID:policy-store/policy_store_ID

        1 對於已啟用串流的資料表,資料事件中的 resources 欄位會同時包含 AWS::DynamoDB::StreamAWS::DynamoDB::Table。如果您指定 AWS::DynamoDB::Table 作為 resources.type,則會根據預設同時記錄 DynamoDB 資料表和 DynamoDB 串流事件。若要排除串流事件,請在eventName欄位上新增篩選器。

        2 若要記錄特定 S3 儲存貯體中所有物件的所有資料事件,請使用 StartsWith 運算子,並僅包含儲存貯體 ARN 作為相符值。末尾斜線是有意保留,請勿排除。

        3 若要在 S3 存取點中的所有物件上記錄事件,建議您僅使用存取點 ARN、不要包含物件路徑,並使用 StartsWithNotStartsWith 運算子。

      如需資料事件資源 ARN 格式的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的動作、資源及條件金鑰

    2. 針對每個欄位,選擇 + 條件,視需要新增任意數目的條件,所有條件最多可指定 500 個值。例如,若要從事件資料存放區記錄的資料事件中排除兩個 S3 儲存貯體的資料事件,您可以將欄位設定為 Resources.arn,將運算子設定為「不開始於」,然後貼上 S3 儲存貯體 ARN,或瀏覽不想記錄事件的 S3 儲存貯體。

      若要新增第二個 S3 儲存貯體,請選擇 + 條件,然後重複上述指令,在 ARN 中粘貼或瀏覽不同的儲存貯體。

      注意

      對於事件資料存放區上的所有選取器,您最多可以有 500 個值。這包括一個選擇器的多個值的陣列,如 eventName。如果所有選擇器都有單個值,則最多可以有 500 個條件新增至選擇器。

    3. 選擇 + 欄位以根據需要新增其他欄位。為避免發生錯誤,請勿為欄位設定衝突或重複的值。例如,不要在一個選擇器中指定 ARN 等於一個值,然後指定 ARN 不等於另一個選取器中的相同值。

  10. 若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。重複步驟 6 到此步驟,以設定資料事件類型的進階事件選取器。

  11. 檢閱並驗證您的選擇後,選擇儲存變更

在中 AWS Management Console,如果您的追蹤使用進階事件選取器,您可以從預先定義的範本中進行選擇,以記錄所選資源上的所有資料事件。選擇日誌選取器範本之後,您可以自訂範本,以僅包含您最想要查看的資料事件。如需有關使用進階事件選取器的詳細資訊,請參閱本主題使用進階事件選取器篩選資料事件中的。

  1. 在 CloudTrail 主控台的 [儀表板] 或 [追蹤] 頁面上,選擇您要更新的追蹤。

  2. 在詳細資訊頁面上,選擇資料事件中的編輯

  3. 如果您尚未記錄資料事件,請選擇 Data events (資料事件) 核取方塊。

  4. 針對資料事件類型,選擇您想要記錄資料事件的資源類型。

  5. 選擇記錄選取器範本。 CloudTrail 包括記錄資源類型的所有資料事件的預先定義範本。若要建立自訂記錄選取器範本,請選擇 Custom (自訂)。

    注意

    為 S3 儲存貯體選擇預先定義的範本,可為 AWS 帳戶中目前的所有儲存貯體以及您在完成追蹤建立後建立的任何儲存貯體啟用資料事件記錄。它還可以記錄您 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的值區上執行的也一樣。

    如果追蹤僅套用至一個區域,選取預先定義的記錄所有 S3 儲存貯體的範本可針對下列儲存貯體啟用記錄資料事件:與您追蹤相同之區域中的所有儲存貯體,以及您稍後在該區域中建立的任何儲存貯體。它不會記錄帳戶中其他區域中 Amazon S3 儲存貯體的 AWS 資料事件。

    如果您要為所有區域建立追蹤,請為 Lambda 函數選擇預先定義的範本,為 AWS 帳戶中目前的所有函數啟用資料事件記錄,以及在完成追蹤建立後可能在任何區域建立的任何 Lambda 函數。如果您要為單一區域建立追蹤 (針對追蹤,這只能使用使用 AWS CLI),則此選項會啟用 AWS 帳戶中該區域目前所有函數的資料事件記錄,以及在您完成建立追蹤後可能在該區域中建立的任何 Lambda 函數。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。

    記錄所有函數的資料事件也可讓您記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的函數上執行也一樣。

  6. (選用) 在選取器名稱中,輸入用於識別選取器的名稱。選取器名稱是進階事件選擇器的描述性名稱,例如「僅為兩個 S3 儲存貯體記錄資料事件」。選取器名稱會被作為 Name 列在進階事件選取器中,您在展開 JSON 檢視時可檢視該名稱。

  7. 進階事件選取器,請為您想要記錄資料事件的特定資源建立表達式。如果您使用預先定義的日誌範本,則可略過此步驟。

    1. 從下列欄位選取。

      • readOnly-readOnly 可以設定為等於true或的值false。唯讀資料事件是不會變更資源狀態的事件,例如 Get*Describe* 事件. 寫入事件新增、變更或刪除資源、屬性或成品,例如 Put*Delete*Write* 事件。若要同時記錄 readwrite 事件,請勿新增 readOnly 選擇器。

      • eventName-eventName可以使用任何運算子。您可以使用它來包含或排除記錄到的任何資料事件 CloudTrailPutBucket,例如GetItem、或GetSnapshotBlock

      • resources.ARN-您可以將任何運算子搭配使用resources.ARN,但是如果您使用 equals不等於,則值必須完全符合您在範本中指定為值之類型之有效資源的 ARN。resources.type

        下表顯示每種 resources.type 的有效 ARN 格式。

        注意

        您無法使用resources.ARN欄位來篩選沒有 ARN 的資源類型。

        resources.type resources.ARN
        AWS::DynamoDB::Table1
        arn:partition:dynamodb:region:account_ID:table/table_name
        AWS::Lambda::Function
        arn:partition:lambda:region:account_ID:function:function_name

        AWS::S3::Object2

        arn:partition:s3:::DOC-EXAMPLE-BUCKET/ arn:partition:s3:::DOC-EXAMPLE-BUCKET/object_or_file_name/
        AWS::AppConfig::Configuration
        arn:partition:appconfig:region:account_ID:application/application_ID/environment/environment_ID/configuration/configuration_profile_ID
        AWS::B2BI::Transformer
        arn:partition:b2bi:region:account_ID:transformer/transformer_ID
        AWS::Bedrock::AgentAlias
        arn:partition:bedrock:region:account_ID:agent-alias/agent_ID/alias_ID
        AWS::Bedrock::KnowledgeBase
        arn:partition:bedrock:region:account_ID:knowledge-base/knowledge_base_ID
        AWS::Cassandra::Table
        arn:partition:cassandra:region:account_ID:keyspace/keyspace_name/table/table_name
        AWS::CloudFront::KeyValueStore
        arn:partition:cloudfront:region:account_ID:key-value-store/KVS_name
        AWS::CloudTrail::Channel
        arn:partition:cloudtrail:region:account_ID:channel/channel_UUID
        AWS::CodeWhisperer::Customization
        arn:partition:codewhisperer:region:account_ID:customization/customization_ID
        AWS::CodeWhisperer::Profile
        arn:partition:codewhisperer:region:account_ID:profile/profile_ID
        AWS::Cognito::IdentityPool
        arn:partition:cognito-identity:region:account_ID:identitypool/identity_pool_ID
        AWS::DynamoDB::Stream
        arn:partition:dynamodb:region:account_ID:table/table_name/stream/date_time
        AWS::EC2::Snapshot
        arn:partition:ec2:region::snapshot/snapshot_ID
        AWS::EMRWAL::Workspace
        arn:partition:emrwal:region:account_ID:workspace/workspace_name
        AWS::FinSpace::Environment
        arn:partition:finspace:region:account_ID:environment/environment_ID
        AWS::Glue::Table
        arn:partition:glue:region:account_ID:table/database_name/table_name
        AWS::GreengrassV2::ComponentVersion
        arn:partition:greengrass:region:account_ID:components/component_name
        AWS::GreengrassV2::Deployment
        arn:partition:greengrass:region:account_ID:deployments/deployment_ID
        AWS::GuardDuty::Detector
        arn:partition:guardduty:region:account_ID:detector/detector_ID
        AWS::IoT::Certificate
        arn:partition:iot:region:account_ID:cert/certificate_ID
        AWS::IoT::Thing
        arn:partition:iot:region:account_ID:thing/thing_ID
        AWS::IoTSiteWise::Asset
        arn:partition:iotsitewise:region:account_ID:asset/asset_ID
        AWS::IoTSiteWise::TimeSeries
        arn:partition:iotsitewise:region:account_ID:timeseries/timeseries_ID
        AWS::IoTTwinMaker::Entity
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID/entity/entity_ID
        AWS::IoTTwinMaker::Workspace
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID
        AWS::KendraRanking::ExecutionPlan
        arn:partition:kendra-ranking:region:account_ID:rescore-execution-plan/rescore_execution_plan_ID
        AWS::Kinesis::Stream
        arn:partition:kinesis:region:account_ID:stream/stream_name
        AWS::Kinesis::StreamConsumer
        arn:partition:kinesis:region:account_ID:stream_type/stream_name/consumer/consumer_name:consumer_creation_timestamp
        AWS::KinesisVideo::Stream
        arn:partition:kinesisvideo:region:account_ID:stream/stream_name/creation_time
        AWS::MachineLearning::MlModel
        arn:partition:machinelearning:region:account_ID:mlmodel/model_ID
        AWS::ManagedBlockchain::Network
        arn:partition:managedblockchain:::networks/network_name
        AWS::ManagedBlockchain::Node
        arn:partition:managedblockchain:region:account_ID:nodes/node_ID
        AWS::MedicalImaging::Datastore
        arn:partition:medical-imaging:region:account_ID:datastore/data_store_ID
        AWS::NeptuneGraph::Graph
        arn:partition:neptune-graph:region:account_ID:graph/graph_ID
        AWS::PCAConnectorAD::Connector
        arn:partition:pca-connector-ad:region:account_ID:connector/connector_ID
        AWS::PCAConnectorSCEP::Connector
        arn:partition:pca-connector-scep:region:account_ID:connector/connector_ID
        AWS::QApps:QApp
        arn:partition:qapps:region:account_ID:application/application_UUID/qapp/qapp_UUID
        AWS::QBusiness::Application
        arn:partition:qbusiness:region:account_ID:application/application_ID
        AWS::QBusiness::DataSource
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID/data-source/datasource_ID
        AWS::QBusiness::Index
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID
        AWS::QBusiness::WebExperience
        arn:partition:qbusiness:region:account_ID:application/application_ID/web-experience/web_experienc_ID
        AWS::RDS::DBCluster
        arn:partition:rds:region:account_ID:cluster/cluster_name

        AWS::S3::AccessPoint3

        arn:partition:s3:region:account_ID:accesspoint/access_point_name
        AWS::S3ObjectLambda::AccessPoint
        arn:partition:s3-object-lambda:region:account_ID:accesspoint/access_point_name
        AWS::S3Outposts::Object
        arn:partition:s3-outposts:region:account_ID:object_path
        AWS::SageMaker::Endpoint
        arn:partition:sagemaker:region:account_ID:endpoint/endpoint_name
        AWS::SageMaker::ExperimentTrialComponent
        arn:partition:sagemaker:region:account_ID:experiment-trial-component/experiment_trial_component_name
        AWS::SageMaker::FeatureGroup
        arn:partition:sagemaker:region:account_ID:feature-group/feature_group_name
        AWS::SCN::Instance
        arn:partition:scn:region:account_ID:instance/instance_ID
        AWS::ServiceDiscovery::Namespace
        arn:partition:servicediscovery:region:account_ID:namespace/namespace_ID
        AWS::ServiceDiscovery::Service
        arn:partition:servicediscovery:region:account_ID:service/service_ID
        AWS::SNS::PlatformEndpoint
        arn:partition:sns:region:account_ID:endpoint/endpoint_type/endpoint_name/endpoint_ID
        AWS::SNS::Topic
        arn:partition:sns:region:account_ID:topic_name
        AWS::SQS::Queue
        arn:partition:sqs:region:account_ID:queue_name
        AWS::SSM::ManagedNode

        ARN 必須採用下列其中一種格式:

        • arn:partition:ssm:region:account_ID:managed-instance/instance_ID

        • arn:partition:ec2:region:account_ID:instance/instance_ID

        AWS::SSMMessages::ControlChannel
        arn:partition:ssmmessages:region:account_ID:control-channel/control_channel_ID
        AWS::StepFunctions::StateMachine

        ARN 必須採用下列其中一種格式:

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name/label_name

        AWS::SWF::Domain
        arn:partition:swf:region:account_ID:/domain/domain_name
        AWS::ThinClient::Device
        arn:partition:thinclient:region:account_ID:device/device_ID
        AWS::ThinClient::Environment
        arn:partition:thinclient:region:account_ID:environment/environment_ID
        AWS::Timestream::Database
        arn:partition:timestream:region:account_ID:database/database_name
        AWS::Timestream::Table
        arn:partition:timestream:region:account_ID:database/database_name/table/table_name
        AWS::VerifiedPermissions::PolicyStore
        arn:partition:verifiedpermissions:region:account_ID:policy-store/policy_store_ID

        1 對於已啟用串流的資料表,資料事件中的 resources 欄位會同時包含 AWS::DynamoDB::StreamAWS::DynamoDB::Table。如果您指定 AWS::DynamoDB::Table 作為 resources.type,則會根據預設同時記錄 DynamoDB 資料表和 DynamoDB 串流事件。若要排除串流事件,請在eventName欄位上新增篩選器。

        2 若要記錄特定 S3 儲存貯體中所有物件的所有資料事件,請使用 StartsWith 運算子,並僅包含儲存貯體 ARN 作為相符值。末尾斜線是有意保留,請勿排除。

        3 若要在 S3 存取點中的所有物件上記錄事件,建議您僅使用存取點 ARN、不要包含物件路徑,並使用 StartsWithNotStartsWith 運算子。

      如需資料事件資源 ARN 格式的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的動作、資源及條件金鑰

    2. 針對每個欄位,選擇 + 條件,視需要新增任意數目的條件,所有條件最多可指定 500 個值。例如,若要從追蹤記錄的資料事件中排除兩個 S3 儲存貯體的資料事件,您可以將欄位設定為 Resources.arn,將運算子設定為「不開始於」,然後貼上 S3 儲存貯體 ARN,或瀏覽您不想記錄事件的 S3 儲存貯體。

      若要新增第二個 S3 儲存貯體,請選擇 + 條件,然後重複上述指令,在 ARN 中粘貼或瀏覽不同的儲存貯體。

      注意

      追蹤上的所有選取器,您最多可以有 500 個值。這包括一個選擇器的多個值的陣列,如 eventName。如果所有選擇器都有單個值,則最多可以有 500 個條件新增至選擇器。

    3. 選擇 + 欄位以根據需要新增其他欄位。為避免發生錯誤,請勿為欄位設定衝突或重複的值。例如,不要在一個選擇器中指定 ARN 等於一個值,然後指定 ARN 不等於另一個選取器中的相同值。

  8. 若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。重複步驟 4 到此步驟,以設定資料事件類型的進階事件選取器。

  9. 檢閱並驗證您的選擇後,選擇儲存變更

依照以下程序,使用基本事件選取器更新現有的追蹤,以便記錄資料事件。

  1. 請登入 AWS Management Console 並開啟 CloudTrail 主控台,網址為 https://console.aws.amazon.com/cloudtrail/

  2. 開啟主 CloudTrail 控台的「追」頁面,然後選擇追蹤名稱。

    注意

    雖然您可以編輯現有的追蹤來記錄資料事件,但是作為最佳實務,請考慮建立單獨追蹤記錄資料事件。

  3. 針對資料事件,選擇 Edit (編輯)。

  4. 對於 Amazon S3 儲存貯體:

    1. 對於 Data source (資料來源),請選擇 S3

    2. 您可以選取記錄所有目前和未來的 S3 儲存貯體,也可以指定個別儲存貯體或函數。依預設,會記錄所有目前和未來 S3 儲存貯體的資料事件。

      注意

      保留預設的 [所有目前和 future 的 S3 儲存貯體] 選項,可為 AWS 帳戶中目前的所有儲存貯體以及您在完成追蹤建立後建立的任何儲存貯體啟用資料事件記錄。它還可以記錄您 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的值區上執行的也一樣。

      如果您要為單一區域建立追蹤 (使用完成 AWS CLI),請選取 [選取帳戶中的所有 S3 儲存貯體] 選項,啟用與追蹤相同區域中的所有儲存貯體的資料事件記錄,以及稍後在該區域中建立的任何儲存貯體的資料事件記錄。它不會記錄帳戶中其他區域中 Amazon S3 儲存貯體的 AWS 資料事件。

    3. 如果您保留預設值,所有目前和未來的 S3 儲存貯體,選擇記錄事件、事件,或兩者。

    4. 若要選擇個別儲存貯體,請清空所有目前和未來的 S3 儲存貯體核取方塊。在個別儲存貯體選擇中,瀏覽要記錄資料事件的儲存貯體。若要尋找特定儲存貯體,請輸入所需儲存貯體的儲存貯體字首。您可以在此視窗中選取多個儲存貯體。選擇新增儲存貯體以記錄更多儲存貯體的資料事件。選擇記錄 Read (讀取) 事件 (例如 GetObject)、Write (寫) 事件 (例如 PutObject) 還是兩者。

      此設定的優先順序高於您針對個別儲存貯體所設定的個別設定。例如,如果您指定記錄所有 S3 儲存貯體之 Read (讀取) 事件,然後選擇新增要記錄資料事件的特定儲存貯體,則您新增的儲存貯體會直接選取 Read (讀取)。您無法清除選取項目。您只能設定 Write (寫入) 的選項。

      若要從記錄中移除儲存貯體,請選擇 X

  5. 若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。

  6. 針對 Lambda 函數:

    1. 針對資料事件來源中,選擇 Lambda

    2. Lambda 函數中,選擇所有區域來記錄所有的 Lambda 函數,或者輸入函數作為 ARN以記錄特定函數的資料事件。

      若要記錄 AWS 帳戶中所有 Lambda 函數的資料事件,請選取 Log all current and future functions (記錄所有目前和未來的函數)。此設定的優先順序高於您針對個別函數所設定的個別設定。皆會記錄所有函數,縱使未顯示全部的函數。

      注意

      如果您要建立所有區域的追蹤,則此選取項目可針對下列函數啟用記錄資料事件:目前在您 AWS 帳戶中的所有函數,以及在您完成建立追蹤之後可能在任何區域中建立的任何 Lambda 函數。如果您要為單一區域建立追蹤 (透過使用完成 AWS CLI),此選項會啟用 AWS 帳戶中目前該區域中所有函數的資料事件記錄,以及在您完成建立追蹤後可能在該區域中建立的任何 Lambda 函數。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。

      記錄所有函數的資料事件也可讓您記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的函數上執行也一樣。

    3. 如果您選擇輸入函數作為 ARN,請輸入 Lambda 函數的 ARN。

      注意

      如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立追蹤時在 CloudTrail主控台中檢視或選取所有函數。您仍然可以選取記錄所有函數的選項,縱使其未全部顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成追蹤的建立,然後使用 AWS CLI 和put-event-selectors命令為特定 Lambda 函數設定資料事件記錄。如需詳細資訊,請參閱 管理軌跡 AWS CLI

  7. 若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。

  8. 針對 DynamoDB 資料表:

    1. 針對資料事件來源中,選擇 DynamoDB

    2. DynamoDB 資料表選取中,選擇 Browse (瀏覽) 以選取表格,或貼到您有權存取的 DynamoDB 資料表的 ARN 中。DynamoDB 資料表 ARN 採用以下格式:

      arn:partition:dynamodb:region:account_ID:table/table_name

      若要新增其他資料表,請選擇 Add row (新增資料列),然後瀏覽資料表或貼上您可以存取之資料表的 ARN。

  9. 選擇儲存變更

記錄資料事件 AWS Command Line Interface

您可以使用 AWS CLI設定您的追蹤或事件資料存放區,以記錄資料事件。

記錄跟踪的數據事件 AWS CLI

您可以設定您的追蹤,使用 AWS CLI記錄管理和資料事件。

注意
  • 請注意,如果您的帳戶記錄多個管理事件副本,則會產生費用。記錄資料事件始終需支付費用。如需詳細資訊,請參閱 AWS CloudTrail 定價

  • 您可以使用進階事件選取器或基本事件選取器,但不能同時使用兩者。如果您將進階事件選取器套用至追蹤,則會覆寫任何現有的基本事件選取器。

  • 如果您的追蹤使用基本事件選取器,您只能記錄下列資源類型:

    • AWS::DynamoDB::Table

    • AWS::Lambda::Function

    • AWS::S3::Object

    您將需要使用進階事件選取器才能記錄其他資源類型。若要將追蹤轉換為進階事件選取器,請執行 get-event-selectors 命令以確認目前的事件選取器,然後將進階事件選取器的涵蓋範圍設定為與先前的事件選取器相同,再為您想記錄資料事件的任何資源類型新增選取器。

  • 您可以使用進階事件選取器來根據 eventNameresources.ARNreadOnly 欄位的值進行篩選,從而只記錄您感興趣的資料事件。如需有關設定這些欄位的詳細資訊,請參閱 AdvancedFieldSelectorAWS CloudTrailAPI 參考和本主題使用進階事件選取器篩選資料事件中的。

若要查看您的追蹤是記錄管理還是資料事件,請執行 get-event-selectors 命令。

aws cloudtrail get-event-selectors --trail-name TrailName

此命令會傳回軌跡的事件選取器。

使用進階事件選取器記錄事件

注意

如果您將進階事件選取器套用至追蹤,則會覆寫任何現有的基本事件選取器。在設定進階事件選取器前,請執行 get-event-selectors 命令以確認目前的事件選取器,然後將進階事件選取器的涵蓋範圍設定為與先前的事件選取器相同,再為您想記錄的任何其他資料事件新增選取器。

下列範例會為名TrailName為包含讀取和寫入管理事件的追蹤建立自訂進階事件選取器 (透過省略選readOnly取器),以PutObject及所有 Amazon S3 儲存貯體/前置詞組合的DeleteObject資料事件 (名為的儲存貯體DOC-EXAMPLE-BUCKET和名為函數的資料事件除外) 建立資料事件。 AWS Lambda MyLambdaFunction因為這些都是自訂進階事件選取器,所以每組選取器都有一個描述性的名稱。請注意,尾步斜線是 S3 儲存貯體 ARN 值的一部分。

aws cloudtrail put-event-selectors --trail-name TrailName --advanced-event-selectors '[ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET/"] } ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction"] } ] } ]'

範例傳回針對追蹤設定的進階事件選取器。

{ "AdvancedEventSelectors": [ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "NotStartsWith": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/" ] }, ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ] }, { "Field": "eventName", "Equals": [ "Invoke" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

使用進階事件選取器記錄 Amazon S3 儲存貯體的所有 Amazon S3 事件

注意

如果您將進階事件選取器套用至追蹤,則會覆寫任何現有的基本事件選取器。

以下範例說明如何設定您的追蹤在特定 S3 儲存貯體中包含所有 Amazon S3 物件的所有管理和資料事件。resources.type 欄位的 S3 事件的值是 AWS::S3::Object。由於 S3 物件和 S3 儲存貯體的 ARN 值略有不同,因此您必須為 resources.ARN 新增 StartsWith 運算子以擷取所有事件。

aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:partition:s3:::DOC-EXAMPLE-BUCKET/"] } ] } ]'

命令會傳回下列範例輸出。

{ "TrailARN": "arn:aws:cloudtrail:region:account_ID:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:partition:s3:::DOC-EXAMPLE-BUCKET/" ] } ] } ] }

使用進階事件選取器將 Amazon S3 記錄在 AWS Outposts 事件

注意

如果您將進階事件選取器套用至追蹤,則會覆寫任何現有的基本事件選取器。

以下範例說明如何設定您的追蹤以在 Outpost 中的 Outposts 物件上包含所有 Amazon S3 的所有資料事件。

aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'

命令會傳回下列範例輸出。

{ "TrailARN": "arn:aws:cloudtrail:region:account_ID:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ] }

使用基本事件選取器記錄事件

以下是顯示基本事件選取器的 get-event-selectors 命令的範例結果。依預設,當您使用建立追蹤時 AWS CLI,追蹤會記錄所有管理事件。根據預設,追蹤不會記錄資料事件。

{ "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName", "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ] }

若要設定您的追蹤記錄管理和資料事件,請執行 put-event-selectors 命令。

以下範例說明如何使用基本事件選取器設定您的追蹤,以便包含兩個 S3 儲存貯體字首中的 S3 物件之全部管理和資料事件。您可以為追蹤指定 1 到 5 個事件選取器。您可以為追蹤指定 1 到 250 項資料資源。

注意

如果您選擇使用基本事件選取器限制資料事件,S3 資料資源的數目上限為 250。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{ "ReadWriteType": "All", "IncludeManagementEvents":true, "DataResources": [{ "Type": "AWS::S3::Object", "Values": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET1/prefix", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2;/prefix2"] }] }]'

此範例會傳回為追蹤設定的事件選取器。

{ "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName", "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/prefix", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/prefix2", ], "Type": "AWS::S3::Object" } ], "ReadWriteType": "All" } ] }

記錄事件資料存放區的資料事件 AWS CLI

您可以使用 AWS CLI設定您的事件資料存放區,以包含資料事件。使用 create-event-data-store 命令來建立用於記錄資料事件的新事件資料存放區。使用 update-event-data-store 命令來為現有的事件資料存放區更新進階事件選取器。

若要了解您的事件資料存放區是否包括資料事件,請執行 get-event-data-store 命令。

aws cloudtrail get-event-data-store --event-data-store EventDataStoreARN

此命令會傳回事件資料存放區的設定。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE6441aa", "Name": "ebs-data-events", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Log all EBS direct APIs on EBS snapshots", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::EC2::Snapshot" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-04T15:57:33.701000+00:00", "UpdatedTimestamp": "2023-11-20T20:37:34.228000+00:00" }

包含儲存貯體的所有 Amazon S3 事件

以下範例說明如何建立事件資料存放區,以包含特定 S3 儲存貯體中所有 Amazon S3 物件的全部資料事件。resources.type 欄位的 S3 事件的值是 AWS::S3::Object。由於 S3 物件和 S3 儲存貯體的 ARN 值略有不同,因此您必須為 resources.ARN 新增 StartsWith 運算子以擷取所有事件。

aws cloudtrail create-event-data-store --name "EventDataStoreName" --multi-region-enabled \ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:partition:s3:::DOC-EXAMPLE-BUCKET/"] } ] } ]'

命令會傳回下列範例輸出。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE441aa", "Name": "EventDataStoreName", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:partition:s3:::DOC-EXAMPLE-BUCKET/" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-04T15:57:33.701000+00:00", "UpdatedTimestamp": "2023-11-20T20:49:21.766000+00:00" }

包含 AWS Outposts 上的 Amazon S3 的事件

以下範例說明如何建立事件資料存放區,以包含 Outpost 中所有 Outposts 上的 Amazon S3 物件的全部資料事件。

aws cloudtrail create-event-data-store --name EventDataStoreName \ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'

命令會傳回下列範例輸出。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-02-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2023-02-20T21:00:17.820000+00:00" }

記錄資料事件以確保 AWS Config 合規

如果您使用一 AWS Config 致性套件來協助企業維持正式標準的合規性,例如聯邦風險與授權管理計畫 (FedRAMP) 或美國國家標準與技術研究所 (NIST) 所要求的標準,則合規框架的一致性套件通常需要您至少記錄 Amazon S3 儲存貯體的資料事件。合規架構的一致性套件包括稱為 cloudtrail-s3-dataevents-enabled 的受管規則,可檢查您的帳戶中的 S3 資料事件記錄。許多與合規架構無關的一致性套件也需要 S3 資料事件記錄。以下是包含此規則的一致性套件範例。

如需中提供的範例一致性套件的完整清單 AWS Config,請參閱開發人員指南中的一致性套件範例範本。AWS Config

使用 AWS SDK 記錄資料事件

執行GetEventSelectors作業以查看追蹤是否正在記錄資料事件。您可以透過執行作業來設定追蹤記錄資料事PutEventSelectors件。如需詳細資訊,請參閱 AWS CloudTrail API 參考

執行GetEventDataStore作業以查看您的事件資料存放區是否正在記錄資料事件。您可以透過執行CreateEventDataStoreUpdateEventDataStore作業並指定進階事件選取器,將事件資料存放區設定為包含資料事件。如需詳細資訊,請參閱建立、更新和管理事件資料存放區 AWS CLIAWS CloudTrail API 參考