本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
記錄資料事件
本節說明如何使用CloudTrail 主控台和記錄資料事件AWS CLI。
依預設,追蹤和事件資料存放區不會記錄資料事件。資料事件需支付額外的費用。如需詳細資訊,請參閱 AWS CloudTrail 定價
資料事件提供在資源上執行或於資源中執行之資源操作的相關資訊。這些也稱為資料平面操作。資料事件通常是大量資料的活動。
範例資料事件包含:
-
S3 儲存貯體中物件上的 Amazon S3 物件層級
PutObject
API 活動 (例如DeleteObject
,和 API 操作)。GetObject
-
AWS Lambda 函數執行活動 (
Invoke
API)。 -
CloudTrail
PutAuditEvents
CloudTrail Lake 頻道上的活動,用於從外部記錄事件 AWS。 -
主題上的 Amazon SNS
Publish
和PublishBatch
API 操作。
您可以使用進階事件選取器來建立精細的選取器,只記錄使用案例感興趣的特定事件,藉此協助您控制成本。例如,您可以透過在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 活動 (例如 注意對於已啟用串流的資料表,資料事件中的 |
DynamoDB |
|
AWS Lambda | AWS Lambda 函數執行活動 ( |
Lambda | AWS::Lambda::Function |
Amazon S3 | 一般用途儲存貯體中物件上的 Amazon S3 物件層級 |
S3 | AWS::S3::Object |
AWS AppConfig | AWS AppConfig 設定作業的 API 活動,例如呼叫 |
AWS AppConfig | AWS::AppConfig::Configuration |
AWS 數據交換 | 用於轉換器作業的 B2B 資料交換 API 活動,例如呼叫 |
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 Cloud Map | AWS Cloud Map 服務上的 API 活動。 | AWS Cloud Map 服務 |
|
AWS CloudTrail | CloudTrail |
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 快照上的 |
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 | IoT 證書 | AWS::IoT::Certificate |
|
AWS IoT | 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 資產 | AWS::IoTSiteWise::Asset |
|
AWS IoT SiteWise | 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 活動,例如呼叫GetMedia 和PutMedia . |
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 呼叫,例如 |
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 活動,例如呼叫 |
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 |
SNS 平台端點 | AWS::SNS::PlatformEndpoint |
Amazon SNS | 主題上的 Amazon SNS |
SNS 主題 | AWS::SNS::Topic |
Amazon SQS | 訊息上的 Amazon SQS API 活動。 |
SQS | AWS::SQS::Queue |
AWS Step Functions | Step Functions 狀態機器 | AWS::StepFunctions::StateMachine |
|
AWS Supply Chain | AWS Supply Chain 執行個體上的 API 活動。 |
供應鏈 | AWS::SCN::Instance |
Amazon SWF | 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 使用者指定了空白前置詞,以及同時記錄讀取和寫入資料事件的選項。
-
使用者將物件上傳至
DOC-EXAMPLE-BUCKET
。 -
PutObject
API 操作是 Amazon S3 物件層級的 API。它會在中記錄為資料事件 CloudTrail。由於 CloudTrail 使用者指定了帶有空前綴的 S3 儲存貯體,因此會記錄該儲存貯體中任何物件上發生的事件。追蹤或事件資料存放區會處理並記錄事件。 -
另一位使用者將物件上傳至
DOC-EXAMPLE-BUCKET2
。 -
發生在 S3 儲存貯體物件上的
PutObject
API 操作,並未針對追蹤或事件資料存放區指定。追蹤或事件資料存放區不會記錄事件。
記錄特定 S3 物件的資料事件
以下範例示範當您設定追蹤或事件資料存放區記錄特定 S3 物件的事件時,記錄如何運作。在此範例中, CloudTrail 使用者指定了一個名為的 S3 儲存貯體DOC-EXAMPLE-BUCKET3
,其前置詞為 my-images
,以及僅記錄寫入資料事件的選項。
-
使用者刪除儲存貯體中使用
my-images
前綴開頭的物件,例如arn:aws:s3:::DOC-EXAMPLE-BUCKET3/my-images/example.jpg
。 -
DeleteObject
API 操作是 Amazon S3 物件層級的 API。它會在中記錄為寫入資料事件 CloudTrail。物件上發生的事件符合追蹤或事件資料存放區中指定的 S3 儲存貯體和字首。追蹤或事件資料存放區會處理並記錄事件。 -
另一位使用者刪除 S3 儲存貯體中使用不同前綴的物件,例如
arn:aws:s3:::DOC-EXAMPLE-BUCKET3/my-videos/example.avi
。 -
物件上發生的事件不符合您的追蹤或事件資料存放區中指定的字首。追蹤或事件資料存放區不會記錄事件。
-
使用者為物件
arn:aws:s3:::DOC-EXAMPLE-BUCKET3/my-images/example.jpg
呼叫GetObject
API 操作。 -
事件發生在追蹤或事件資料存放區中指定的儲存貯體和字首上,但
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 物件的事件。
-
在您的帳戶中,您希望您的追蹤將所有物件的資料事件記錄在您名為
DOC-EXAMPLE-BUCKET
的 S3 儲存貯體中。您可以透過指定有空物件前綴的 S3 儲存貯體,來設定追蹤。 -
Bob 的獨立帳戶可以存取 S3 儲存貯體。Bob 也想記錄同一個 S3 儲存貯體中所有物件的資料事件。他為自己的追蹤設定了追蹤,並指定有空物件前綴的同一個 S3 儲存貯體。
-
Bob 使用
PutObject
API 操作將物件上傳到 S3 儲存貯體。 -
這個事件發生在他的帳戶中,而且符合他的追蹤設定。Bob 的追蹤會處理並記錄此事件。
-
因為您擁有此 S3 儲存貯體,而且此事件符合您的追蹤設定,所以您的追蹤也會處理並記錄相同的事件。由於現在有兩個事件副本(一個登錄在 Bob 的跟踪中,一個已登錄您的),所以 CloudTrail 收取兩個數據事件副本的費用。
-
您將物件上傳至 S3 儲存貯體。
-
這個事件發生在您的帳戶中,而且符合您的追蹤設定。您的追蹤會處理並記錄此事件。
-
由於 Bob 的帳戶中不會發生事件,而且他不擁有 S3 儲存貯體,Bob 的追蹤不會記錄事件。 CloudTrail 此資料事件只會收取一份副本的費用。
範例:記錄所有儲存貯體的資料事件,包括兩個 AWS 帳戶使用的 S3 儲存貯體
下列範例顯示針對收集帳戶中資料事件的追蹤啟用 [選取帳戶中的所有 S3 儲存貯體] 時的記錄行為 AWS 。
-
在您的帳戶中,您希望您的追蹤記錄所有 S3 儲存貯體的資料事件。您可以針對資料事件中的所有目前和未來的 S3 儲存貯體選擇讀取事件、寫入事件,或兩者都選擇。
-
Bob 的獨立帳戶可以存取您帳戶中的 S3 儲存貯體。他希望針對有權存取的儲存貯體記錄資料事件。他會將自己的追蹤設定為取得所有 S3 儲存貯體的資料事件。
-
Bob 使用
PutObject
API 操作將物件上傳到 S3 儲存貯體。 -
這個事件發生在他的帳戶中,而且符合他的追蹤設定。Bob 的追蹤會處理並記錄此事件。
-
因為您擁有此 S3 儲存貯體,而且此事件符合您的追蹤設定,所以您的追蹤也會處理並記錄事件。由於現在有兩個事件副本(一個登錄在 Bob 的跟踪中,另一個已登錄您的),因此請向每個帳戶 CloudTrail 收取數據事件副本的費用。
-
您將物件上傳至 S3 儲存貯體。
-
這個事件發生在您的帳戶中,而且符合您的追蹤設定。您的追蹤會處理並記錄此事件。
-
由於 Bob 的帳戶中不會發生事件,而且他不擁有 S3 儲存貯體,Bob 的追蹤不會記錄事件。 CloudTrail 您帳戶中只會收取一份此資料事件副本的費用。
-
第三位使用者 Mary 可存取 S3 儲存貯體,並在儲存貯體上執行
GetObject
作業。她在帳戶中具有設為記錄所有 S3 儲存貯體之資料事件的追蹤。因為她是 API 呼叫者,所以會在她的追蹤中 CloudTrail 記錄資料事件。雖然 Bob 可以存取儲存貯體,但他不是資源擁有者,所以這次沒有任何事件記錄在他的追蹤中。身為資源擁有者,您會在追蹤中收到有關 Mary 呼叫之GetObject
作業的事件。 CloudTrail向您的帳戶和瑪麗的帳戶收取每個數據事件副本的費用:一個在瑪麗的跟踪中,一個在您的。
唯讀和唯寫事件
當您設定您的追蹤或事件資料存放區以記錄資料和管理事件時,您可以指定要記錄唯讀事件、唯寫事件,還是都記錄。
-
讀取
讀事件包含讀取您的資源,但不予變更的 API 操作。例如,唯讀事件包含 Amazon EC2
DescribeSecurityGroups
和DescribeSubnets
API 操作。這些操作僅傳回 Amazon EC2 資源的相關資訊,但不變更您的組態。 -
寫入
Write (寫) 事件只包含會修改 (或可能修改) 您資源的 API 操作。例如,Amazon EC2
RunInstances
和TerminateInstances
API 操作會修改您的執行個體。
範例:記錄不同追蹤的讀和寫事件
下列範例顯示如何設定追蹤,將帳戶的日誌活動分割為不同的 S3 儲存貯體:一個名為 DOC-EXAMPLE-BUCKET1 的儲存貯體會接收唯讀事件,第二個 DOC-EXAMPLE-BUCKET2 會接收唯寫事件。
-
您可以建立追蹤,並選擇命名為接收日誌檔
DOC-EXAMPLE-BUCKET1
的 S3 儲存貯體。接著,您要更新追蹤,指定您要讀管理事件和資料事件。 -
您可以建立第二個追蹤,然後選擇
DOC-EXAMPLE-BUCKET2
要接收記錄檔的 S3 儲存貯體。接著,您要更新追蹤,指定您要寫管理事件和資料事件。 -
Amazon EC2
DescribeInstances
和TerminateInstances
API 操作發生在您的帳戶中。 -
DescribeInstances
API 操作是唯讀事件,且符合第一個追蹤的設定。追蹤會記錄事件並將它交付到DOC-EXAMPLE-BUCKET1
。 -
TerminateInstances
API 操作是唯寫事件,且符合第二個追蹤的設定。追蹤會記錄事件並將它交付到DOC-EXAMPLE-BUCKET2
。
記錄資料事件 AWS Management Console
下列程序描述如何更新現有的事件資料存放區或追蹤,以使用 AWS Management Console記錄資料事件。如需有關如何建立事件資料存放區以記錄資料事件的資訊,請參閱 使用主控台為 CloudTrail事件建立事件資料存放區。如需有關如何建立追蹤以記錄資料事件的資訊,請參閱 在主控台中建立追蹤。
針對追蹤,記錄資料事件的步驟會因您使用的是進階事件選取器或基本事件選取器而有所不同。您可以使用進階事件選取器記錄所有資料事件類型的資料事件,但如果使用基本事件選取器,則只能記錄 Amazon S3 儲存貯體和儲存貯體物件、 AWS Lambda 函數和 Amazon DynamoDB 表的資料事件。
使用以下程序更新現有的事件資料存放區,以便記錄資料事件。如需有關使用進階事件選取器的詳細資訊,請參閱本主題使用進階事件選取器篩選資料事件中的。
-
請登入 AWS Management Console 並開啟 CloudTrail 主控台,網址為 https://console.aws.amazon.com/cloudtrail/
。 -
在導覽窗格中,選擇 Lake 下方的事件資料存放區。
-
在事件資料存放區頁面上,選擇您想要更新的事件資料存放區。
注意
您只能在包含事件的事件資料存放區上啟用資料 CloudTrail 事件。您無法針對 AWS Config 設定項目、 CloudTrail Insights CloudTrail 事件或非事件啟用事件資料存放區上的資料AWS 事件。
-
在詳細資訊頁面上,選擇資料事件中的編輯。
-
如果您尚未記錄資料事件,請選擇 Data events (資料事件) 核取方塊。
-
針對資料事件類型,選擇您想要記錄資料事件的資源類型。
-
選擇記錄選取器範本。 CloudTrail 包括記錄資源類型的所有資料事件的預先定義範本。若要建立自訂記錄選取器範本,請選擇 Custom (自訂)。
-
(選用) 在選取器名稱中,輸入用於識別選取器的名稱。選取器名稱是進階事件選擇器的描述性名稱,例如「僅為兩個 S3 儲存貯體記錄資料事件」。選取器名稱會被作為
Name
列在進階事件選取器中,您在展開 JSON 檢視時可檢視該名稱。 -
在進階事件選取器,請為您想要記錄資料事件的特定資源建立表達式。如果您使用預先定義的日誌範本,則可略過此步驟。
-
從下列欄位選取。
-
readOnly
-readOnly
可以設定為等於true
或的值false
。唯讀資料事件是不會變更資源狀態的事件,例如Get*
或Describe*
事件. 寫入事件新增、變更或刪除資源、屬性或成品,例如Put*
、Delete*
或Write*
事件。若要同時記錄read
和write
事件,請勿新增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::Object
2arn:
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::AccessPoint
3arn:
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::Stream
和AWS::DynamoDB::Table
。如果您指定AWS::DynamoDB::Table
作為resources.type
,則會根據預設同時記錄 DynamoDB 資料表和 DynamoDB 串流事件。若要排除串流事件,請在eventName
欄位上新增篩選器。2 若要記錄特定 S3 儲存貯體中所有物件的所有資料事件,請使用
StartsWith
運算子,並僅包含儲存貯體 ARN 作為相符值。末尾斜線是有意保留,請勿排除。3 若要在 S3 存取點中的所有物件上記錄事件,建議您僅使用存取點 ARN、不要包含物件路徑,並使用
StartsWith
或NotStartsWith
運算子。 -
如需資料事件資源 ARN 格式的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的動作、資源及條件金鑰。
-
-
針對每個欄位,選擇 + 條件,視需要新增任意數目的條件,所有條件最多可指定 500 個值。例如,若要從事件資料存放區記錄的資料事件中排除兩個 S3 儲存貯體的資料事件,您可以將欄位設定為 Resources.arn,將運算子設定為「不開始於」,然後貼上 S3 儲存貯體 ARN,或瀏覽不想記錄事件的 S3 儲存貯體。
若要新增第二個 S3 儲存貯體,請選擇 + 條件,然後重複上述指令,在 ARN 中粘貼或瀏覽不同的儲存貯體。
注意
對於事件資料存放區上的所有選取器,您最多可以有 500 個值。這包括一個選擇器的多個值的陣列,如
eventName
。如果所有選擇器都有單個值,則最多可以有 500 個條件新增至選擇器。 -
選擇 + 欄位以根據需要新增其他欄位。為避免發生錯誤,請勿為欄位設定衝突或重複的值。例如,不要在一個選擇器中指定 ARN 等於一個值,然後指定 ARN 不等於另一個選取器中的相同值。
-
-
若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。重複步驟 6 到此步驟,以設定資料事件類型的進階事件選取器。
-
檢閱並驗證您的選擇後,選擇儲存變更。
在中 AWS Management Console,如果您的追蹤使用進階事件選取器,您可以從預先定義的範本中進行選擇,以記錄所選資源上的所有資料事件。選擇日誌選取器範本之後,您可以自訂範本,以僅包含您最想要查看的資料事件。如需有關使用進階事件選取器的詳細資訊,請參閱本主題使用進階事件選取器篩選資料事件中的。
-
在 CloudTrail 主控台的 [儀表板] 或 [追蹤] 頁面上,選擇您要更新的追蹤。
-
在詳細資訊頁面上,選擇資料事件中的編輯。
-
如果您尚未記錄資料事件,請選擇 Data events (資料事件) 核取方塊。
-
針對資料事件類型,選擇您想要記錄資料事件的資源類型。
-
選擇記錄選取器範本。 CloudTrail 包括記錄資源類型的所有資料事件的預先定義範本。若要建立自訂記錄選取器範本,請選擇 Custom (自訂)。
注意
為 S3 儲存貯體選擇預先定義的範本,可為 AWS 帳戶中目前的所有儲存貯體以及您在完成追蹤建立後建立的任何儲存貯體啟用資料事件記錄。它還可以記錄您 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的值區上執行的也一樣。
如果追蹤僅套用至一個區域,選取預先定義的記錄所有 S3 儲存貯體的範本可針對下列儲存貯體啟用記錄資料事件:與您追蹤相同之區域中的所有儲存貯體,以及您稍後在該區域中建立的任何儲存貯體。它不會記錄帳戶中其他區域中 Amazon S3 儲存貯體的 AWS 資料事件。
如果您要為所有區域建立追蹤,請為 Lambda 函數選擇預先定義的範本,為 AWS 帳戶中目前的所有函數啟用資料事件記錄,以及在完成追蹤建立後可能在任何區域建立的任何 Lambda 函數。如果您要為單一區域建立追蹤 (針對追蹤,這只能使用使用 AWS CLI),則此選項會啟用 AWS 帳戶中該區域目前所有函數的資料事件記錄,以及在您完成建立追蹤後可能在該區域中建立的任何 Lambda 函數。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。
記錄所有函數的資料事件也可讓您記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的函數上執行也一樣。
-
(選用) 在選取器名稱中,輸入用於識別選取器的名稱。選取器名稱是進階事件選擇器的描述性名稱,例如「僅為兩個 S3 儲存貯體記錄資料事件」。選取器名稱會被作為
Name
列在進階事件選取器中,您在展開 JSON 檢視時可檢視該名稱。 -
在進階事件選取器,請為您想要記錄資料事件的特定資源建立表達式。如果您使用預先定義的日誌範本,則可略過此步驟。
-
從下列欄位選取。
-
readOnly
-readOnly
可以設定為等於true
或的值false
。唯讀資料事件是不會變更資源狀態的事件,例如Get*
或Describe*
事件. 寫入事件新增、變更或刪除資源、屬性或成品,例如Put*
、Delete*
或Write*
事件。若要同時記錄read
和write
事件,請勿新增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::Object
2arn:
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::AccessPoint
3arn:
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::Stream
和AWS::DynamoDB::Table
。如果您指定AWS::DynamoDB::Table
作為resources.type
,則會根據預設同時記錄 DynamoDB 資料表和 DynamoDB 串流事件。若要排除串流事件,請在eventName
欄位上新增篩選器。2 若要記錄特定 S3 儲存貯體中所有物件的所有資料事件,請使用
StartsWith
運算子,並僅包含儲存貯體 ARN 作為相符值。末尾斜線是有意保留,請勿排除。3 若要在 S3 存取點中的所有物件上記錄事件,建議您僅使用存取點 ARN、不要包含物件路徑,並使用
StartsWith
或NotStartsWith
運算子。 -
如需資料事件資源 ARN 格式的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的動作、資源及條件金鑰。
-
-
針對每個欄位,選擇 + 條件,視需要新增任意數目的條件,所有條件最多可指定 500 個值。例如,若要從追蹤記錄的資料事件中排除兩個 S3 儲存貯體的資料事件,您可以將欄位設定為 Resources.arn,將運算子設定為「不開始於」,然後貼上 S3 儲存貯體 ARN,或瀏覽您不想記錄事件的 S3 儲存貯體。
若要新增第二個 S3 儲存貯體,請選擇 + 條件,然後重複上述指令,在 ARN 中粘貼或瀏覽不同的儲存貯體。
注意
追蹤上的所有選取器,您最多可以有 500 個值。這包括一個選擇器的多個值的陣列,如
eventName
。如果所有選擇器都有單個值,則最多可以有 500 個條件新增至選擇器。 -
選擇 + 欄位以根據需要新增其他欄位。為避免發生錯誤,請勿為欄位設定衝突或重複的值。例如,不要在一個選擇器中指定 ARN 等於一個值,然後指定 ARN 不等於另一個選取器中的相同值。
-
-
若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。重複步驟 4 到此步驟,以設定資料事件類型的進階事件選取器。
-
檢閱並驗證您的選擇後,選擇儲存變更。
依照以下程序,使用基本事件選取器更新現有的追蹤,以便記錄資料事件。
-
請登入 AWS Management Console 並開啟 CloudTrail 主控台,網址為 https://console.aws.amazon.com/cloudtrail/
。 -
開啟主 CloudTrail 控台的「追蹤」頁面,然後選擇追蹤名稱。
注意
雖然您可以編輯現有的追蹤來記錄資料事件,但是作為最佳實務,請考慮建立單獨追蹤記錄資料事件。
-
針對資料事件,選擇 Edit (編輯)。
-
對於 Amazon S3 儲存貯體:
-
對於 Data source (資料來源),請選擇 S3。
-
您可以選取記錄所有目前和未來的 S3 儲存貯體,也可以指定個別儲存貯體或函數。依預設,會記錄所有目前和未來 S3 儲存貯體的資料事件。
注意
保留預設的 [所有目前和 future 的 S3 儲存貯體] 選項,可為 AWS 帳戶中目前的所有儲存貯體以及您在完成追蹤建立後建立的任何儲存貯體啟用資料事件記錄。它還可以記錄您 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的值區上執行的也一樣。
如果您要為單一區域建立追蹤 (使用完成 AWS CLI),請選取 [選取帳戶中的所有 S3 儲存貯體] 選項,啟用與追蹤相同區域中的所有儲存貯體的資料事件記錄,以及稍後在該區域中建立的任何儲存貯體的資料事件記錄。它不會記錄帳戶中其他區域中 Amazon S3 儲存貯體的 AWS 資料事件。
-
如果您保留預設值,所有目前和未來的 S3 儲存貯體,選擇記錄讀事件、寫事件,或兩者。
-
若要選擇個別儲存貯體,請清空所有目前和未來的 S3 儲存貯體的讀和寫核取方塊。在個別儲存貯體選擇中,瀏覽要記錄資料事件的儲存貯體。若要尋找特定儲存貯體,請輸入所需儲存貯體的儲存貯體字首。您可以在此視窗中選取多個儲存貯體。選擇新增儲存貯體以記錄更多儲存貯體的資料事件。選擇記錄 Read (讀取) 事件 (例如
GetObject
)、Write (寫) 事件 (例如PutObject
) 還是兩者。此設定的優先順序高於您針對個別儲存貯體所設定的個別設定。例如,如果您指定記錄所有 S3 儲存貯體之 Read (讀取) 事件,然後選擇新增要記錄資料事件的特定儲存貯體,則您新增的儲存貯體會直接選取 Read (讀取)。您無法清除選取項目。您只能設定 Write (寫入) 的選項。
若要從記錄中移除儲存貯體,請選擇 X。
-
-
若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。
-
針對 Lambda 函數:
-
針對資料事件來源中,選擇 Lambda。
-
在 Lambda 函數中,選擇所有區域來記錄所有的 Lambda 函數,或者輸入函數作為 ARN以記錄特定函數的資料事件。
若要記錄 AWS 帳戶中所有 Lambda 函數的資料事件,請選取 Log all current and future functions (記錄所有目前和未來的函數)。此設定的優先順序高於您針對個別函數所設定的個別設定。皆會記錄所有函數,縱使未顯示全部的函數。
注意
如果您要建立所有區域的追蹤,則此選取項目可針對下列函數啟用記錄資料事件:目前在您 AWS 帳戶中的所有函數,以及在您完成建立追蹤之後可能在任何區域中建立的任何 Lambda 函數。如果您要為單一區域建立追蹤 (透過使用完成 AWS CLI),此選項會啟用 AWS 帳戶中目前該區域中所有函數的資料事件記錄,以及在您完成建立追蹤後可能在該區域中建立的任何 Lambda 函數。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。
記錄所有函數的資料事件也可讓您記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在屬於其他 AWS 帳戶的函數上執行也一樣。
-
如果您選擇輸入函數作為 ARN,請輸入 Lambda 函數的 ARN。
注意
如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立追蹤時在 CloudTrail主控台中檢視或選取所有函數。您仍然可以選取記錄所有函數的選項,縱使其未全部顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成追蹤的建立,然後使用 AWS CLI 和put-event-selectors命令為特定 Lambda 函數設定資料事件記錄。如需詳細資訊,請參閱 管理軌跡 AWS CLI。
-
-
若要新增其他要記錄資料事件的資料類型,請選擇 Add data event type (新增資料事件類型)。
-
針對 DynamoDB 資料表:
-
針對資料事件來源中,選擇 DynamoDB。
-
在 DynamoDB 資料表選取中,選擇 Browse (瀏覽) 以選取表格,或貼到您有權存取的 DynamoDB 資料表的 ARN 中。DynamoDB 資料表 ARN 採用以下格式:
arn:
partition
:dynamodb:region
:account_ID
:table/table_name
若要新增其他資料表,請選擇 Add row (新增資料列),然後瀏覽資料表或貼上您可以存取之資料表的 ARN。
-
-
選擇儲存變更。
記錄資料事件 AWS Command Line Interface
您可以使用 AWS CLI設定您的追蹤或事件資料存放區,以記錄資料事件。
記錄跟踪的數據事件 AWS CLI
您可以設定您的追蹤,使用 AWS CLI記錄管理和資料事件。
注意
-
請注意,如果您的帳戶記錄多個管理事件副本,則會產生費用。記錄資料事件始終需支付費用。如需詳細資訊,請參閱 AWS CloudTrail 定價
。 -
您可以使用進階事件選取器或基本事件選取器,但不能同時使用兩者。如果您將進階事件選取器套用至追蹤,則會覆寫任何現有的基本事件選取器。
-
如果您的追蹤使用基本事件選取器,您只能記錄下列資源類型:
-
AWS::DynamoDB::Table
-
AWS::Lambda::Function
-
AWS::S3::Object
您將需要使用進階事件選取器才能記錄其他資源類型。若要將追蹤轉換為進階事件選取器,請執行 get-event-selectors 命令以確認目前的事件選取器,然後將進階事件選取器的涵蓋範圍設定為與先前的事件選取器相同,再為您想記錄資料事件的任何資源類型新增選取器。
-
-
您可以使用進階事件選取器來根據
eventName
、resources.ARN
和readOnly
欄位的值進行篩選,從而只記錄您感興趣的資料事件。如需有關設定這些欄位的詳細資訊,請參閱 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
--regionregion
\ --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
--regionregion
\ --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作業以查看您的事件資料存放區是否正在記錄資料事件。您可以透過執行CreateEventDataStore或UpdateEventDataStore作業並指定進階事件選取器,將事件資料存放區設定為包含資料事件。如需詳細資訊,請參閱建立、更新和管理事件資料存放區 AWS CLI和 AWS CloudTrail API 參考。