データイベントをログ記録する - AWS CloudTrail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データイベントをログ記録する

このセクションでは、CloudTrail コンソールAWS CLI を使用してデータイベントのログを記録する方法について説明します。

デフォルトでは、証跡とイベントデータストアはデータイベントを記録しません。追加の変更がイベントデータに適用されます。詳細については、「AWS CloudTrail 料金」を参照してください。

データイベントでは、リソース上またはリソース内で実行されたリソースオペレーションについての情報が得られます。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。

データイベントには、次のようなものがあります。

高度なイベントセレクタを使用して詳細なセレクタを作成できます。これにより、ユースケースの特定の関心イベントのみがログに記録されるようになりコストを管理できます。例えば、高度なイベントセレクタを使用して、eventName フィールドにフィルタを追加することで、特定の API コールのログを記録することができます。詳細については、「高度なイベントセレクタを使用してデータイベントをフィルタする」を参照してください。

注記

証跡によって記録されるイベントは、Amazon EventBridge で使用することができます。たとえば、管理イベントではなく、S3 オブジェクトのデータイベントをログ記録するように選択した場合、証跡は指定された S3 オブジェクトのデータイベントのみを処理して記録します。イベントこれらの S3 オブジェクトのデータのイベントを Amazon EventBridge で使用することができます。詳細については、「Amazon EventBridge ユーザーガイド」の「 AWS サービスからのイベント」を参照してください。

目次

データイベント

次の表は、証跡とイベントデータストアで使用できるリソースタイプを示しています。リソースタイプ (コンソール) 列には、コンソールで適切な選択が表示されます。resources.type 値の列には、 AWS CLI または CloudTrail APIs を使用して、証跡またはイベントデータストアにそのタイプのデータイベントを含めるように指定するresources.type値が表示されます。

証跡の場合、ベーシックまたは高度なイベントセレクタを使用して、汎用バケット、Lambda 関数、DynamoDB テーブル (表の最初の 3 行に表示) の Amazon S3 オブジェクトのデータイベントのログを記録することができます。残りの行に表示されるリソースタイプをログに記録するには、高度なイベントセレクタのみを使用できます。

イベントデータストアの場合、データイベントを含めるには、詳細イベントセレクタのみを使用できます。

AWS のサービス 説明 リソースタイプ (コンソール) resources.type 値
Amazon DynamoDB

テーブルでの Amazon DynamoDB アイテムレベルの API アクティビティ (例: PutItemDeleteItem、および UpdateItem API オペレーション)。

注記

ストリームが有効になっているテーブルの場合、データイベントの resources フィールドには AWS::DynamoDB::StreamAWS::DynamoDB::Table の両方が含まれます。resources.typeAWS::DynamoDB::Table を指定すると、デフォルトで DynamoDB テーブルと DynamoDB ストリームイベントの両方がログ記録されます。ストリームイベントを除外するには、eventName フィールドにフィルタを追加します。

DynamoDB

AWS::DynamoDB::Table

AWS Lambda

AWS Lambda 関数実行アクティビティ ( Invoke API)。

Lambda AWS::Lambda::Function
Amazon S3

汎用バケット内のオブジェクトに対する Amazon S3 オブジェクトレベルの API アクティビティ (例: GetObjectDeleteObjectPutObject API オペレーション)。

S3 AWS::S3::Object
AWS AppConfig

StartConfigurationSession や への呼び出しなどの設定オペレーションの AWS AppConfig API アクティビティGetLatestConfiguration

AWS AppConfig AWS::AppConfig::Configuration
AWS AppSync

AppSync GraphQL API での APIs AWS AppSync アクティビティ

AppSync GraphQL AWS::AppSync::GraphQLApi
AWS B2B データ交換

GetTransformerJob および StartTransformerJob の呼び出しなど、Transformer 操作用の B2B データ交換 API アクティビティ。

B2B データ交換 AWS::B2BI::Transformer
AWS Backup

AWS Backup 検索ジョブでの検索データ API アクティビティ。

AWS Backup データ APIsの検索 AWS::Backup::SearchJob
Amazon Bedrock エージェントエイリアスでの Amazon Bedrock API アクティビティ Bedrock エージェントエイリアス AWS::Bedrock::AgentAlias
Amazon Bedrock 非同期呼び出しに対する Amazon Bedrock API アクティビティ。 Bedrock 非同期呼び出し AWS::Bedrock::AsyncInvoke
Amazon Bedrock フローエイリアスでの Amazon Bedrock API アクティビティ。 [Bedrock フローエイリアス] AWS::Bedrock::FlowAlias
Amazon Bedrock ガードレールでの Amazon Bedrock API アクティビティ。 [Bedrock ガードレール] AWS::Bedrock::Guardrail
Amazon Bedrock インラインエージェントの Amazon Bedrock API アクティビティ。 Bedrock Invoke Inline-Agent AWS::Bedrock::InlineAgent
Amazon Bedrock ナレッジベースでの Amazon Bedrock API アクティビティ Bedrock ナレッジベース AWS::Bedrock::KnowledgeBase
Amazon Bedrock モデルでの Amazon Bedrock API アクティビティ。 [Bedrock モデル] AWS::Bedrock::Model
Amazon Bedrock プロンプトに対する Amazon Bedrock API アクティビティ。 Bedrock プロンプト AWS::Bedrock::PromptVersion
Amazon Bedrock セッションでの Amazon Bedrock API アクティビティ。 Bedrock セッション AWS::Bedrock::Session
Amazon CloudFront

KeyValueStore での CloudFront API アクティビティ。

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 service AWS::ServiceDiscovery::Service
AWS CloudTrail

外部からの AWSイベントをログに記録するために使用される CloudTrail Lake チャネル での CloudTrail PutAuditEvents アクティビティ。

[CloudTrail チャネル] AWS::CloudTrail::Channel
Amazon CloudWatch

メトリクスに対する Amazon CloudWatch API アクティビティ

[CloudWatch メトリクス] AWS::CloudWatch::Metric
Amazon CloudWatch Network Flow Monitor

モニターでの Amazon CloudWatch Network Flow Monitor API アクティビティ。

Network Flow Monitor モニター AWS::NetworkFlowMonitor::Monitor
Amazon CloudWatch Network Flow Monitor

スコープでの Amazon CloudWatch Network Flow Monitor API アクティビティ。

Network Flow Monitor スコープ AWS::NetworkFlowMonitor::Scope
Amazon CloudWatch RUM

アプリモニターでの Amazon CloudWatch RUM API アクティビティ。

[RUM アプリモニター] AWS::RUM::AppMonitor
Amazon CodeGuru Profiler プロファイリンググループでの CodeGuru Profiler API アクティビティ。 CodeGuru Profiler プロファイリンググループ AWS::CodeGuruProfiler::ProfilingGroup
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
AWS Data Exchange

AWS Data Exchange アセットに対する API アクティビティ。

[Data Exchange アセット]

AWS::DataExchange::Asset

AWS Deadline Cloud

フリートでの Deadline Cloud API アクティビティ。

Deadline Cloud フリート

AWS::Deadline::Fleet

AWS Deadline Cloud

ジョブでの Deadline Cloud API アクティビティ。

Deadline Cloud ジョブ

AWS::Deadline::Job

AWS Deadline Cloud

キューでの Deadline Cloud API アクティビティ。

Deadline Cloud キュー

AWS::Deadline::Queue

AWS Deadline Cloud

ワーカーに対する Deadline Cloud API アクティビティ。

Deadline Cloud ワーカー

AWS::Deadline::Worker

Amazon DynamoDB

ストリームに対する Amazon DynamoDB API アクティビティ

DynamoDB Streams AWS::DynamoDB::Stream
AWS エンドユーザーメッセージング SMS 発信元 ID AWS での End User Messaging SMS API アクティビティ。 [SMS Voice 発信元 ID] AWS::SMSVoice::OriginationIdentity
AWS エンドユーザーメッセージング SMS メッセージに対するAWS エンドユーザーメッセージング SMS API アクティビティ。 SMS Voice メッセージ AWS::SMSVoice::Message
AWS エンドユーザーメッセージングソーシャル 電話番号 IDs に対する AWS End User Messaging Social API アクティビティ。 [ソーシャルメッセージ電話番号 ID] AWS::SocialMessaging::PhoneNumberId
AWS エンドユーザーメッセージングソーシャル AWS Waba IDs でのエンドユーザーメッセージングソーシャル API アクティビティ。 ソーシャルメッセージ Waba ID AWS::SocialMessaging::WabaId
Amazon Elastic Block Store

Amazon EBS スナップショットの PutSnapshotBlockGetSnapshotBlock、および ListChangedBlocks などの Amazon Elastic Block Store (EBS) ダイレクト API。

Amazon EBS ダイレクト 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 アクティビティ。

[医療用画像データストア] 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 コアデバイスからの Greengrass API アクティビティ

注記

Greengrass はアクセス拒否イベントのログを記録しません。

[IoT Greengrass コンポーネントバージョン] AWS::GreengrassV2::ComponentVersion
AWS IoT Greengrass Version 2

デプロイ上の Greengrass コアデバイスからの Greengrass API アクティビティ

注記

Greengrass はアクセス拒否イベントのログを記録しません。

[IoT Greengrass デプロイ] 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 SiteWise アシスタント

会話での Sitewise Assistant API アクティビティ。

Sitewise Assistant の会話 AWS::SitewiseAssistant::Conversation
AWS IoT TwinMaker

エンティティ上の IoT TwinMaker API アクティビティ。

[IoT TwinMaker エンティティ] AWS::IoTTwinMaker::Entity
AWS IoT TwinMaker

ワークスペース上の IoT TwinMaker API アクティビティ。

[IoT TwinMaker ワークスペース] AWS::IoTTwinMaker::Workspace
Amazon Kendra インテリジェントランキング

リスコア実行プラン に対する Amazon Kendra Intelligent Ranking API アクティビティ。

Kendra ランキング AWS::KendraRanking::ExecutionPlan
Amazon Keyspaces (Apache Cassandra 向け) テーブル上の Amazon Keyspaces API アクティビティ [Cassandra テーブル] AWS::Cassandra::Table
Amazon Kinesis Data Streams ストリーム 上の Kinesis Data Streams API アクティビティ。 [Kinesis ストリーム] AWS::Kinesis::Stream
Amazon Kinesis Data Streams ストリームコンシューマー上の Kinesis Data Streams API アクティビティ。 [Kinesis ストリームコンシューマー] AWS::Kinesis::StreamConsumer
Amazon Kinesis Video Streams GetMediaPutMedia への呼び出しなど、ビデオストリーム上の Amazon Kinesis API アクティビティ。 Kinesis ビデオストリーム AWS::KinesisVideo::Stream
Amazon Location Maps Amazon Location Maps API アクティビティ。 ジオマップ AWS::GeoMaps::Provider
Amazon Location の場所 Amazon Location Places API アクティビティ。 地理的場所 AWS::GeoPlaces::Provider
Amazon Location Routes Amazon Location Routes API アクティビティ。 地域ルート AWS::GeoRoutes::Provider
Amazon Machine Learning ML モデルの機械学習 API アクティビティ。 [機械学習 MlModel] AWS::MachineLearning::MlModel
Amazon Managed Blockchain

ネットワーク上の Amazon Managed Blockchain API アクティビティ。

Managed Blockchain ネットワーク AWS::ManagedBlockchain::Network
Amazon Managed Blockchain

eth_getBalanceeth_getBlockByNumber などの Ethereum ノードに対する Amazon Managed Blockchain JSON-RPC コール。

Managed Blockchain AWS::ManagedBlockchain::Node
Amazon Managed Blockchain Query

Amazon Managed Blockchain Query API アクティビティ。

マネージドブロックチェーンクエリ AWS::ManagedBlockchainQuery::QueryAPI
Amazon Managed Workflows for Apache Airflow

環境での Amazon MWAA API アクティビティ。

マネージド Apache Airflow AWS::MWAA::Environment
Amazon Neptune Graph

Neptune Graph でのクエリ、アルゴリズム、ベクトル検索などのデータ API アクティビティ。

Neptune Graph AWS::NeptuneGraph::Graph
Amazon One Enterprise

UKey の Amazon One Enterprise API アクティビティ。

[Amazon One UKey] AWS::One::UKey
Amazon One Enterprise

ユーザーの Amazon One Enterprise API アクティビティ。

[Amazon One User] AWS::One::User
AWS Payment Cryptography AWS Payment Cryptography エイリアスの API アクティビティ。 [Payment Cryptography Alias] AWS::PaymentCryptography::Alias
AWS Payment Cryptography AWS Payment Cryptography キーに対する API アクティビティ。 [Payment Cryptography Key] AWS::PaymentCryptography::Key
AWS Private CA

AWS Private CA Connector for Active Directory API アクティビティ。

AWS Private CA Connector for Active Directory AWS::PCAConnectorAD::Connector
AWS Private CA

AWS Private CA SCEP API アクティビティ用のコネクタ。

AWS Private CA SCEP 用コネクタ AWS::PCAConnectorSCEP::Connector
Amazon Pinpoint

モバイルターゲットアプリケーションにおける Amazon Pinpoint API アクティビティ。

モバイルターゲティングアプリケーション AWS::Pinpoint::App
Amazon Q Apps

Amazon Q Apps の Data API アクティビティ。

[Amazon Q Apps] AWS::QApps::QApp
Amazon Q Apps

Amazon Q App セッションのデータ API アクティビティ。

Amazon Q App セッション AWS::QApps::QAppSession
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

ウェブエクスペリエンスでの Amazon Q Business API アクティビティ

Amazon Q Business ウェブエクスペリエンス AWS::QBusiness::WebExperience
Amazon Q Developer

統合での Amazon Q Developer API アクティビティ。

Q Developer の統合 AWS::QDeveloper::Integration
Amazon Q Developer

運用調査に関する Amazon Q Developer API アクティビティ

AIOps 調査グループ AWS::AIOps::InvestigationGroup
Amazon RDS

DB クラスターでの Amazon RDS API アクティビティ

[RDS Data API – DB クラスター] AWS::RDS::DBCluster
AWS Resource Explorer

マネージドビューでの Resource Explorer API アクティビティ。

AWS Resource Explorer マネージドビュー AWS::ResourceExplorer2::ManagedView
AWS Resource Explorer

ビューでの Resource Explorer API アクティビティ。

AWS Resource Explorer view (表示) AWS::ResourceExplorer2::View
Amazon S3

アクセスポイントでの Amazon S3 API アクティビティ

S3 アクセスポイント AWS::S3::AccessPoint
Amazon S3

ディレクトリバケット内のオブジェクトに対する Amazon S3 オブジェクトレベルの API アクティビティ (例: GetObjectDeleteObjectPutObject API オペレーション)。

[S3 Express] AWS::S3Express::Object
Amazon S3

CompleteMultipartUpload および GetObject への呼び出しなどの Amazon S3 Object Lambda アクセスポイント API アクティビティ

S3 Object Lambda AWS::S3ObjectLambda::AccessPoint
Amazon S3 Tables

テーブルに対する Amazon S3 API アクティビティ。

S3 テーブル AWS::S3Tables::Table
Amazon S3 Tables

テーブルバケットでの Amazon S3 API アクティビティ。

S3 テーブルバケット AWS::S3Tables::TableBucket
Amazon S3 on Outposts

Amazon S3 on Outposts オブジェクトレベル API アクティビティ。

S3 Outposts AWS::S3Outposts::Object
Amazon SageMaker AI エンドポイントでの Amazon SageMaker AI InvokeEndpointWithResponseStreamアクティビティ。 SageMaker AI エンドポイント AWS::SageMaker::Endpoint
Amazon SageMaker AI

特徴量ストアでの Amazon SageMaker AI API アクティビティ。

SageMaker AI 特徴量ストア AWS::SageMaker::FeatureGroup
Amazon SageMaker AI

実験トライアルコンポーネントに対する Amazon SageMaker AI API アクティビティ。

SageMaker AI メトリクス実験トライアルコンポーネント AWS::SageMaker::ExperimentTrialComponent
AWS Signer

署名ジョブに対する Signer API アクティビティ。

署名者署名ジョブ AWS::Signer::SigningJob
AWS Signer

署名プロファイルに対する Signer API アクティビティ。

署名者署名プロファイル AWS::Signer::SigningProfile
Amazon SimpleDB

ドメインでの Amazon SimpleDB API アクティビティ。

SimpleDB ドメイン AWS::SDB::Domain
Amazon SNS

プラットフォームエンドポイントでの Amazon SNS Publish API オペレーション。

SNS プラットフォームエンドポイント AWS::SNS::PlatformEndpoint
Amazon SNS

トピックに関する Amazon SNS Publish および PublishBatch API オペレーション。

SNS トピック AWS::SNS::Topic
Amazon SQS

メッセージでの Amazon SQS API アクティビティ

SQS AWS::SQS::Queue
AWS Step Functions

アクティビティに対する Step Functions API アクティビティ。

Step Functions AWS::StepFunctions::Activity
AWS Step Functions

ステートマシンでの Step Functions API アクティビティ

Step Functions ステートマシン AWS::StepFunctions::StateMachine
AWS Supply Chain

AWS Supply Chain インスタンスでの API アクティビティ。

[Supply Chain] 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 影響評価に関する Systems Manager API アクティビティ。 SSM 影響評価 AWS::SSM::ExecutionPreview
AWS Systems Manager マネージドノードでの Systems Manager API アクティビティ Systems Manager マネージドノード AWS::SSM::ManagedNode
Amazon Timestream データベース上の Amazon Timestream Query API アクティビティ。 Timestream データベース AWS::Timestream::Database
Amazon Timestream リージョンエンドポイントでの Amazon Timestream API アクティビティ。 Timestream リージョンエンドポイント AWS::Timestream::RegionalEndpoint
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 Thin Client デバイスでの WorkSpaces シンクライアント API アクティビティ。 シンクライアントデバイス AWS::ThinClient::Device
Amazon WorkSpaces Thin Client 環境上の 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 オブジェクトに対するデータイベントのログ記録

次の例では、amzn-s3-demo-bucket という名前の S3 バケットにすべてのデータイベントのログ記録を設定する際の、ログ記録のしくみを示します。この例では、CloudTrail ユーザーが空のプレフィックスを指定し、さらに [読み取り] データイベントと [書き込み] データイベントの両方のログを記録するオプションを指定しました。

  1. ユーザーがオブジェクトを amzn-s3-demo-bucket にアップロードします。

  2. PutObject API オペレーションは Amazon S3 オブジェクトレベルの API です。CloudTrail のデータイベントとして記録されます。CloudTrail ユーザーが空のプレフィックスとともに S3 バケットを指定したため、そのバケット内の任意のオブジェクトで発生したイベントがログに記録されます。証跡はイベントを処理してログに記録します。

  3. 別のユーザーがオブジェクトを amzn-s3-demo-bucket2 にアップロードします。

  4. 証跡またはイベントデータストアに指定されなかった S3 バケット内のオブジェクトで PutObject API オペレーションが発生しました。証跡またはイベントデータストアがイベントをログに記録しません。

特定の S3 オブジェクトのデータイベントをログに記録する

次の例では、証跡またはイベントデータストアを構成し、特定の S3 オブジェクトのイベントをログに記録する際に、ログ機能がどのように動作するかを示します。この例では、CloudTrail ユーザーは my-images というプレフィックスが付いた amzn-s3-demo-bucket3 という名前の S3 バケットと、[書き込み] データイベントのみをログに記録するオプションを指定しています。

  1. ユーザーは、バケットの my-images プレフィックスで始まるオブジェクト (arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg など) を削除します。

  2. DeleteObject API オペレーションは Amazon S3 オブジェクトレベルの API です。CloudTrail の [Write] データイベントとして記録されます。証跡またはイベントデータストアで指定した S3 バケットとプレフィックスに一致するオブジェクトでイベントが発生しました。証跡またはイベントデータストアはイベントを処理してログに記録します。

  3. 別のユーザーが S3 バケットで異なるプレフィックスのオブジェクト (arn:aws:s3:::amzn-s3-demo-bucket3/my-videos/example.avi など) を削除します。

  4. 証跡またはイベントデートストアで指定したプレフィックスに一致しないオブジェクトでイベントが発生しました。証跡またはイベントデータストアがイベントをログに記録しません。

  5. ユーザーはオブジェクト arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg に対して GetObject API オペレーションを呼び出します。

  6. 証跡またはイベントデータストアで指定したバケットとプレフィックスでイベントが発生しましたが、GetObject は読み取りタイプの Amazon S3 オブジェクトレベルの API です。これは CloudTrail 内で [読み取り] データイベントとして保存されますが、証跡またはイベントデータストアは [読み取り] イベントをログに記録するようには設定されていません。証跡またはイベントデータストアがイベントをログに記録しません。

注記

特定の Amazon S3 バケットのデータイベントをログ記録する場合は、証跡のデータイベントセクションで指定したログファイルの受け取り用に、データイベントをログに記録する Amazon S3 バケットを使用しないことをお勧めします。同じ Amazon S3バケットを使用すると、証跡は、ログファイルが Amazon S3 バケットに配信されるたびにデータイベントをログに記録します。ログファイルは、間隔で配信される集約イベントのため、イベントとログファイルの比率は 1:1 になりません。イベントは、次回のログファイルに記録されます。たとえば、CloudTrail がログを配信すると、PutObject イベントが S3 バケットで発生します。S3 バケットがデータイベントセクションでも指定されていると、証跡は PutObject イベントをデータイベントとして処理して記録します。このアクションは別の PutObject イベントであり、証跡はイベントを再び処理して記録します。

AWS アカウント内のすべての Amazon S3 データイベントをログに記録するように証跡を設定する場合、ログファイルを受信する Amazon S3 バケットのデータイベントをログに記録するのを避けるには、別の AWS アカウントに属する Amazon S3 バケットへのログファイルの配信を設定することを検討してください。詳細については、「複数のアカウントから CloudTrail ログファイルを受け取る」を参照してください。

他の AWS アカウントの S3 オブジェクトのデータイベントのログ記録

データイベントをログに記録するように証跡を設定するときに、他の AWS アカウントに属する S3 オブジェクトを指定することもできます。指定したオブジェクトでイベントが発生すると、CloudTrail はイベントが各アカウントの証跡と一致するかどうかを評価します。イベントが証跡の設定と一致する場合、証跡はそのアカウントのイベントを処理してログに記録します。一般的に、API の呼び出し元とリソース所有者の両方がイベントを受け取ることができます。

自分が所有する S3 オブジェクトを証跡で指定すると、自分のアカウントのオブジェクトで発生したイベントが証跡によって記録されます。オブジェクトを所有しているため、他のアカウントがオブジェクトを呼び出したときも証跡はイベントを記録します。

あるアカウントのユーザーが自分の証跡で S3 オブジェクトを指定し、別のアカウントがそのオブジェクトを所有している場合は、自分のアカウントのそのオブジェクトで発生したイベントのみが記録されます。他のアカウントで発生したイベントは記録されません。

例: 2 つの AWS アカウントの Amazon S3 オブジェクトのデータイベントのログ記録

次の例は、2 つの AWS アカウントが同じ S3 オブジェクトのイベントをログに記録するように CloudTrail を設定する方法を示しています。

  1. ユーザー A は、amzn-s3-demo-bucket という名前の S3 バケットのすべてのオブジェクトに対するデータイベントを記録します。A は S3 バケットと空のオブジェクトプレフィックスを指定して証跡を設定します。

  2. ユーザー B は、S3 バケットへのアクセスを許可されている別のアカウントを持っています。B も、同じ S3 バケット内のすべてのオブジェクトのデータイベントを記録しようとします。B は、自分の証跡を設定し、同じ S3 バケットと空のオブジェクトプレフィックスを指定します。

  3. B は、PutObject API オペレーションで S3 バケットにオブジェクトをアップロードします。

  4. このイベントは、B のアカウントで発生し、B の証跡の設定に一致します。B の証跡はイベントを処理してログに記録します。

  5. ユーザー A は S3 バケットを所有しており、イベントは A の証跡の設定と一致するので、A の証跡も同じイベントを処理して記録します。イベントのコピーが 2 つあるため(1 つは Bob の証跡に記録され、もう 1 つは自分の証跡に記録されます)、CloudTrail はデータイベントの 2 つのコピーに対して課金します。

  6. A が S3 バケットにオブジェクトをアップロードします。

  7. このイベントは A のアカウントで発生し、A の証跡の設定と一致します。A の証跡はイベントを処理してログに記録します。

  8. このイベントは B のアカウントでは発生せず、B は S3 バケットを所有していないので、B の証跡はこのイベントを記録しません。CloudTrail は、このデータイベントのコピーを 1 つのみに課金します。

例: 2 つの AWS アカウントで使用される S3 バケットを含む、すべてのバケットのデータイベントのログ記録

次の例は、アカウントでデータイベントを収集する証跡に対して、アカウント内のすべての S3 バケットの選択が有効になっている場合のログ記録動作を示しています AWS 。

  1. ユーザー A は、アカウントですべての S3 バケットに対するデータイベントを記録します。証跡を設定するには、[読み取り] イベント、[書き込み] イベント、または両方の [データイベント] の [All current and future S3 buckets] を選択します。

  2. ユーザー B は、アカウントの S3 バケットへのアクセスを許可されている別のアカウントを持っています。B は、B がアクセス権を持っているバケットのデータイベントを記録します。B は、すべての S3 バケットのデータイベントを取得するように証跡を設定します。

  3. B は、PutObject API オペレーションで S3 バケットにオブジェクトをアップロードします。

  4. このイベントは、B のアカウントで発生し、B の証跡の設定に一致します。B の証跡はイベントを処理してログに記録します。

  5. ユーザー A は S3 バケットを所有しており、イベントは A の証跡の設定と一致するので、A の証跡もそのイベントを処理して記録します。イベントのコピーが 2 つあるため(1 つは Bob の証跡に記録され、もう 1 つは自分の証跡に記録されます)、CloudTrail はデータイベントの 1 つのコピーの各アカウントに対して課金します。

  6. A が S3 バケットにオブジェクトをアップロードします。

  7. このイベントは A のアカウントで発生し、A の証跡の設定と一致します。A の証跡はイベントを処理してログに記録します。

  8. このイベントは B のアカウントでは発生せず、B は S3 バケットを所有していないので、B の証跡はこのイベントを記録しません。CloudTrail は、お客様のアカウントのこのデータイベントのコピーを 1 つのみに課金します。

  9. 3 番目のユーザー C は S3 バケットへのアクセス権を持ち、そのバケットで GetObject オペレーションを実行します。C は自分のアカウントのすべての S3 バケットでデータイベントを記録するように証跡を設定しています。API 発信者であるため、CloudTrail はデータイベントを証跡に記録します。B はバケットへのアクセス権を持っていますが、リソース所有者ではないため、今回は B の証跡にイベントは記録されません。リソース所有者として、Mary が発信した GetObject オペレーションについての証跡のイベントを受信します。CloudTrail は、データイベントのコピーごとに、お客様のアカウントと Mary のアカウントに課金します。1 つは Mary の証跡、もう 1 つはお客様の証跡です。

読み取り専用イベントと書き込み専用イベント

データイベントと管理イベントをログに記録するように証跡またはイベントデータストアを設定するときは、読み取り専用イベントまたは書き込み専用イベントのどちらか一方のみまたは両方を指定できます。

  • 読み取り

    [読み取り] イベントには、リソースの読み取りのみ行い、変更を行わない API オペレーションが含まれます。例えば、Amazon EC2 の DescribeSecurityGroups および DescribeSubnets API オペレーションは読み取り専用イベントです。これらのオペレーションは、Amazon EC2 リソースに関する情報のみを返し、設定は変更しません。

  • 書き込み

    [Write] イベントには、リソースを変更する (または変更する可能性がある) API オペレーションが含まれます。例えば、Amazon EC2 の RunInstances および TerminateInstances API オペレーションはインスタンスを変更します。

例: 読み取りイベントと書き込みイベントを別の証跡に記録する

次の例では、アカウントに対するログアクティビティを異なる S3 バケットに分割するように証跡を設定する方法を示しています。1 つのバケット (amzn-s3-demo-bucket1) は読み取り専用イベントを受け取り、もう 1 つのバケット (amzn-s3-demo-bucket2) は書き込み専用イベントを受け取ります。

  1. 証跡を作成し、ログファイルを受け取る amzn-s3-demo-bucket1 という名前の S3 バケットを選択します。次に、証跡を更新し、[読み取り] の管理イベントとデータイベントを記録するように指定します。

  2. 2 つ目の証跡を作成し、ログファイルを受け取る amzn-s3-demo-bucket2 という S3 バケットを選択します。次に、証跡を更新し、[Write] の管理イベントとデータイベントを記録するように指定します。

  3. Amazon EC2 の DescribeInstances および TerminateInstances API オペレーションがアカウントで発生します。

  4. DescribeInstances API オペレーションは読み取り専用イベントであり、1 番目の証跡の設定と一致します。証跡は、イベントをログに記録して amzn-s3-demo-bucket1 に配信します。

  5. TerminateInstances API オペレーションは書き込み専用イベントであり、2 番目の証跡の設定と一致します。証跡は、イベントをログに記録して amzn-s3-demo-bucket2 に配信します。

を使用したデータイベントのログ記録 AWS Management Console

以下の手順では、 AWS Management Consoleを使用して既存のイベントデータストアまたは証跡を更新し、データイベントのログ記録を行う方法について説明します。データイベントをログ記録するために、イベントデータストアを作成する方法の詳細については、「コンソールを使用して CloudTrail イベント用にイベントデータストアを作成する」を参照してください。データイベントをログ記録するために、証跡を作成する方法の詳細については、「コンソールを使用した証跡の作成」を参照してください。

証跡の場合、データイベントをログに記録する手順は、高度なイベントセレクターとベーシックなイベントセレクターのどちらを使用しているかによって異なります。高度なイベントセレクタを使用してすべてのリソースタイプのデータイベントをログに記録できますが、基本的なイベントセレクタを使用する場合、Amazon S3 バケットとバケットオブジェクト、 AWS Lambda 関数、および Amazon DynamoDB テーブルのデータイベントのログ記録に制限されます。

以下の手順を実行し、既存の証跡を更新し、データイベントをログに記録します。高度なイベントセレクタの使用方法の詳細については、このトピックの「高度なイベントセレクタを使用してデータイベントをフィルタする」を参照してください。

  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/cloudtrail/ で CloudTrail コンソールを開きます。

  2. ナビゲーションペインの [Lake] で、[イベントデータストア] を選択します。

  3. [イベントデータストア] ページで、更新するイベントデータストアを選択します。

    注記

    データイベントを有効にできるのは、CloudTrail イベントを含むイベントデータストアだけです。 AWS Config 設定項目、CloudTrail Insights イベント、またはAWS イベント以外のデータイベントは、CloudTrail イベントデータストアで有効にできません。

  4. 詳細ページの [データイベント] で、[編集] を選択します。

  5. まだデータイベントのログを記録していない場合は、[データイベント] チェックボックスをオンにします。

  6. リソースタイプで、データイベントをログに記録するリソースタイプを選択します。

  7. ログセレクタテンプレートを選択します。CloudTrail には、リソースタイプのすべてのデータイベントをログに記録する事前定義済みのテンプレートが含まれています。カスタムログセレクタテンプレートを構築するには、[Custom] を選択します。

  8. (オプション) [セレクタ名] に、セレクタを識別する名前を入力します。セレクタ名は、「2 つの S3 バケットだけのデータイベントを記録する」など、高度なイベントセレクタに関する説明的な名前です。セレクタ名は、拡張イベントセレクタに「Name」と表示され、[JSON ビュー] を展開すると表示されます。

  9. Custom を選択した場合、高度なイベントセレクタは、高度なイベントセレクタフィールドの値に基づいて式を構築します。

    注記

    セレクタは、 * のようなワイルドカードの使用をサポートしていません。複数の値を 1 つの条件に一致させるには、StartsWithEndsWithNotStartsWith、または を使用して、イベントフィールドの先頭または末尾NotEndsWithを明示的に一致させることができます。

    1. 次のフィールドから選択します。

      • readOnlyreadOnly は、true または false の値と [等しい] になるように設定できます。読み取り専用データイベントは、Get* または Describe* イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*Delete*、または Write* イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。read および write イベントの両方を記録するには、readOnly セレクタを追加しないでください。

      • eventName - eventName は任意の演算子を使用できます。これを使用して、CloudTrail に記録されるデータイベント (PutBucketGetItem、または GetSnapshotBlock) を含めるまたは除外します。

      • eventSource – 含める、または除外するイベントソース。このフィールドには任意の演算子を使用できます。

      • eventType – 含めるか除外するイベントタイプ。例えば、このフィールドを等しくないに設定AwsServiceEventして を除外できますAWS のサービス イベント。イベントタイプのリストについては、「」のeventType「」を参照してくださいCloudTrail レコードの内容

      • sessionCredentialFromConsole – AWS Management Console セッションから発生するイベントを含めるか除外します。このフィールドは、 の値で等しい等しくないかを設定できますtrue

      • userIdentity.arn – 特定の IAM ID によって実行されたアクションのイベントを含めるか除外します。詳細については、CloudTrail userIdentity 要素を参照してください。

      • resources.ARNresources.ARN には任意の演算子を使用することができますが、[指定の値に等しい] または [指定の値に等しくない] を使用する場合、値は、テンプレートで resources.type の値として指定したタイプの有効なリソースの ARN と正確に一致する必要があります。

        注記

        resources.ARN フィールドを使用して ARN を持たないリソースタイプをフィルタリングすることはできません。

        データイベントリソースの ARN 形式の詳細については、「サービス認可リファレンス」の「 のアクション、リソース、および条件キー AWS のサービス」を参照してください。

    2. 各フィールドについて、[条件の追加] を選択して、必要な条件をすべて追加します。すべての条件に対して最大 500 個の指定値を設定できます。例えば、2 つの S3 バケットのデータイベントをイベントデータストアに記録されたデータイベントから除外するには、 フィールドを resources.ARN に設定し、 の演算子を で始まらないように設定してから、イベントをログに記録したくない S3 バケット ARN に貼り付けます。

      2 番目の S3 バケットを追加するには、[条件の追加] を選択した後に上記の手順を繰り返し、ARN に貼り付けるか、別のバケットをブラウズします。

      CloudTrail が複数の条件を評価する方法については、「CloudTrail がフィールドの複数の条件を評価する方法」を参照してください。

      注記

      イベントデータストア上のすべてのセレクターに対して、最大 500 の値を設定できます。これには、eventName などのセレクタの複数の値の配列が含まれます。すべてのセレクタに単一の値がある場合、セレクタに最大 500 個の条件を追加できます。

    3. [フィールドの追加] を選択し、必要に応じてフィールドを追加します。エラーを回避するには、フィールドに競合する値や重複する値を設定しないでください。例えば、あるセレクタで ARN を値と等しく指定せず、次に、別のセレクタで同じ値に等しくない ARN を指定します。

  10. データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。ステップ 6 からこのステップを繰り返して、別のリソースタイプの高度なイベントセレクタを設定します。

  11. 選択内容をレビューして確認が完了したらしたら、[変更を保存] を選択します。

で AWS Management Console、証跡が高度なイベントセレクタを使用している場合は、選択したリソースのすべてのデータイベントをログに記録する事前定義されたテンプレートから選択できます。ログセレクタテンプレートを選択したら、最も表示したいデータイベントのみを含めるようにテンプレートをカスタマイズできます。高度なイベントセレクタの使用方法の詳細については、このトピックの「高度なイベントセレクタを使用してデータイベントをフィルタする」を参照してください。

  1. CloudTrail コンソールの [ダッシュボード] または [証跡] ページで更新する証跡を選択します。

  2. 詳細ページの [データイベント] で、[編集] を選択します。

  3. まだデータイベントのログを記録していない場合は、[データイベント] チェックボックスをオンにします。

  4. リソースタイプで、データイベントをログに記録するリソースタイプを選択します。

  5. ログセレクタテンプレートを選択します。CloudTrail には、リソースタイプのすべてのデータイベントをログに記録する事前定義済みのテンプレートが含まれています。カスタムログセレクタテンプレートを構築するには、[Custom] を選択します。

    注記

    S3 バケットの事前定義されたテンプレートを選択すると、 AWS 現在アカウントにあるすべてのバケットと、証跡の作成後に作成したバケットのデータイベントログ記録が有効になります。また、別の AWS アカウントに属するバケットでアクティビティが実行された場合でも、アカウント内の任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録を有効にします AWS 。

    証跡が 1 つのリージョンのみに適用される場合、すべての S3 バケットをログ記録する事前定義済みテンプレートを選択すると、同じリージョン内のすべてのバケット、およびそのリージョンで後に作成するバケットに対して、データイベントのログ記録が可能になります。 AWS アカウントの他のリージョンにある Amazon S3 バケットのデータイベントはログに記録されません。

    すべてのリージョンの証跡を作成する場合は、Lambda 関数の事前定義されたテンプレートを選択すると、 AWS アカウントで現在使用されているすべての関数と、証跡の作成後に任意のリージョンで作成できる Lambda 関数のデータイベントログ記録が有効になります。1 つのリージョンの証跡を作成する場合 (証跡の場合、これは を使用してのみ実行できます AWS CLI)、この選択により AWS 、アカウントのそのリージョンで現在使用されているすべての関数と、証跡の作成後にそのリージョンで作成する可能性のある Lambda 関数のデータイベントログ記録が有効になります。他のリージョンで作成された Lambda 関数のデータイベントのログ記録は有効になりません。

    すべての 関数のデータイベントをログに記録すると、そのアクティビティが別の AWS アカウントに属する関数で実行されている場合でも、アカウントの任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録も可能になります AWS 。

  6. (オプション) [セレクタ名] に、セレクタを識別する名前を入力します。セレクタ名は、「2 つの S3 バケットだけのデータイベントを記録する」など、高度なイベントセレクタに関する説明的な名前です。セレクタ名は、拡張イベントセレクタに「Name」と表示され、[JSON ビュー] を展開すると表示されます。

  7. Custom を選択した場合、高度なイベントセレクタは、高度なイベントセレクタフィールドの値に基づいて式を構築します。

    注記

    セレクタは、 * のようなワイルドカードの使用をサポートしていません。複数の値を 1 つの条件に一致させるには、StartsWithEndsWithNotStartsWith、または を使用して、イベントフィールドの先頭または末尾NotEndsWithを明示的に一致させることができます。

    1. 次のフィールドから選択します。

      • readOnlyreadOnly は、true または false の値と [等しい] になるように設定できます。読み取り専用データイベントは、Get* または Describe* イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*Delete*、または Write* イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。read および write イベントの両方を記録するには、readOnly セレクタを追加しないでください。

      • eventName - eventName は任意の演算子を使用できます。これを使用して、CloudTrail に記録されるデータイベント (PutBucketGetItem、または GetSnapshotBlock) を含めるまたは除外します。

      • resources.ARNresources.ARN には任意の演算子を使用することができますが、[指定の値に等しい] または [指定の値に等しくない] を使用する場合、値は、テンプレートで resources.type の値として指定したタイプの有効なリソースの ARN と正確に一致する必要があります。

        注記

        resources.ARN フィールドを使用して ARN を持たないリソースタイプをフィルタリングすることはできません。

        データイベントリソースの ARN 形式の詳細については、「サービス認可リファレンス」の「 のアクション、リソース、および条件キー AWS のサービス」を参照してください。

    2. 各フィールドについて、[条件の追加] を選択して、必要な条件をすべて追加します。すべての条件に対して最大 500 個の指定値を設定できます。例えば、2 つの S3 バケットのデータイベントをイベントデータストアに記録されたデータイベントから除外するには、 フィールドを resources.ARN に設定し、 の演算子を で始まらないように設定してから、イベントをログに記録したくない S3 バケット ARN に貼り付けます。

      2 番目の S3 バケットを追加するには、[条件の追加] を選択した後に上記の手順を繰り返し、ARN に貼り付けるか、別のバケットをブラウズします。

      CloudTrail が複数の条件を評価する方法については、「CloudTrail がフィールドの複数の条件を評価する方法」を参照してください。

      注記

      イベントデータストア上のすべてのセレクターに対して、最大 500 の値を設定できます。これには、eventName などのセレクタの複数の値の配列が含まれます。すべてのセレクタに単一の値がある場合、セレクタに最大 500 個の条件を追加できます。

    3. [フィールドの追加] を選択し、必要に応じてフィールドを追加します。エラーを回避するには、フィールドに競合する値や重複する値を設定しないでください。例えば、あるセレクタで ARN を値と等しく指定せず、次に、別のセレクタで同じ値に等しくない ARN を指定します。

  8. データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。ステップ 4 からこのステップを繰り返して、リソースタイプの高度なイベントセレクタを設定します。

  9. 選択内容をレビューして確認が完了したらしたら、[変更を保存] を選択します。

以下の手順で、基本的なイベントセレクターを使用してデータイベントをログに記録するために既存の証跡を更新します。

  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/cloudtrail/ で CloudTrail コンソールを開きます。

  2. CloudTrail コンソールの証跡ページを開き、証跡名を選択します。

    注記

    既存の証跡を編集してデータイベントをログ記録することもできますが、ベストプラクティスとして、ログ記録データイベント専用に別の証跡を作成することを検討してください。

  3. [Data events] で、[編集] を選択します。

  4. Amazon S3 バケット:

    1. [Data source] で、[S3] を選択します。

    2. すべての現在および将来の S3 バケットを記録することを選択するか、バケットまたは関数を個々に指定することができます。デフォルトでは、現在および将来のすべての S3 バケットのデータイベントが記録されます。

      注記

      デフォルトの「現在および将来のすべての S3 バケット」オプションを保持すると、 AWS 現在アカウントにあるすべてのバケットと、証跡の作成後に作成したバケットのデータイベントログ記録が有効になります。また、別の AWS AWS アカウントに属するバケットでそのアクティビティが実行された場合でも、アカウントの任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録を有効にします。

      1 つのリージョンの証跡を作成する場合 ( を使用 AWS CLI)、アカウント内のすべての S3 バケットを選択 オプションを選択すると、証跡と同じリージョン内のすべてのバケットと、そのリージョンで後から作成するバケットのデータイベントログ記録が有効になります。 AWS アカウント内の他のリージョンにある Amazon S3 バケットのデータイベントはログに記録されません。

    3. デフォルトの [All current and future S3 buckets] で、[読み取り] イベント、[書き込み] イベント、またはその両方をログ記録することを選択します。

    4. 個々のバケットを選択するには、[All current and future S3 buckets] の [読み取り] および [書き込み] のチェックボックスをオフにします。[Individual bucket selection] で、データイベントをログ記録するバケットを参照します。特定のバケットを検索するには、目的のバケットのバケットプレフィックスを入力します。このウィンドウで、複数のバケットを選択できます。[Add bucket] を選択してより多くのバケットのデータイベントをログ記録します。[読み取り] イベント (例: GetObject) か、[書き込み] イベント (例: PutObject)、または両方を選択します。

      この設定は、個別のバケットに設定した個々の設定よりも優先されます。たとえば、すべての S3 バケットにログ記録 [読み取り] イベントを指定し、データイベントログ記録に特定のバケットの追加を選択した場合、追加したバケットには既に [読み取り] が設定されています。選択を解除することはできません。[書き込み] のオプションしか設定することができません。

      ログ記録からバケットを削除するには、[X] を選択します。

  5. データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。

  6. Lambda 関数の場合

    1. [Data source] で、[Lambda] を選択します。

    2. [Lambda 関数] で、[All regions] を選択してすべての Lambda 関数をログ記録するか、[Input function as ARN] を使用して、特定の関数のデータイベントをログ記録します。

      AWS アカウントのすべての Lambda 関数に対するデータイベントを記録するには、[現在および将来の関数をすべて記録する] を選択します。この設定は、関数に個々に設定した各設定よりも優先されます。すべての関数が表示されていなくても、関数はすべてログ記録されます。

      注記

      すべてのリージョンで証跡を作成している場合は、この選択によって、 AWS アカウントの現時点のすべての関数や、証跡作成後に任意のリージョンに作成する可能性のある Lambda 関数のデータイベントのログ記録が有効になります。1 つのリージョンの証跡を作成する場合 ( を使用して作成 AWS CLI)、この選択により AWS 、アカウントのそのリージョンに現在存在するすべての関数と、証跡の作成後にそのリージョンで作成する可能性のある Lambda 関数のデータイベントログ記録が有効になります。他のリージョンで作成された Lambda 関数のデータイベントのログ記録は有効になりません。

      すべての 関数のデータイベントをログに記録すると、そのアクティビティが別の AWS アカウントに属する関数で実行されている場合でも、アカウントの任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録も有効になります AWS 。

    3. [Input function as ARN] を選択した場合、Lambda 関数の ARN を入力します。

      注記

      15,000 を超える Lambda 関数がアカウントに存在する場合は、証跡作成時に CloudTrail コンソールですべての関数を表示または選択することはできません。表示されていない場合でも、すべての関数をログ記録するオプションを選択することができます。特定の関数のデータイベントをログ記録する場合、ARN が分かれば、関数を手動で追加することができます。コンソールで証跡の作成を終了し、 AWS CLI および put-event-selectors コマンドを使用して、特定の Lambda 関数のデータイベントログ記録を設定することもできます。詳細については、「を使用した証跡の管理 AWS CLI」を参照してください。

  7. データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。

  8. DynamoDB テーブルの場合

    1. [Data event source] で、[DynamoDB] を選択します。

    2. [DynamoDB table selection] で、[Browse] を選択してテーブルを選択するか、アクセス許可を持つ DynamoDB テーブルの ARN に貼り付けます。DynamoDB テーブルの ARN は次の形式です。

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

      別のテーブルを追加するには、[Add row] を選択し、テーブルを参照するか、アクセス許可のあるテーブルの ARN に貼り付けます。

  9. [Save changes] (変更の保存) をクリックします。

を使用したデータイベントのログ記録 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.ARN、および readOnly フィールドの値に基づくフィルタリングが実行できるため、関心のあるデータイベントのみをログ記録できるようになります。これらのフィールドの設定の詳細については、「AWS CloudTrail API リファレンス」の「AdvancedFieldSelector」およびこのトピックの「高度なイベントセレクタを使用してデータイベントをフィルタする」を参照してください。

証跡が管理イベントとデータイベントをログに記録しているかどうかを確認するには、get-event-selectors コマンドを実行します。

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

このコマンドは、証跡のイベントセレクタを返します。

アドバンストイベントセレクタを使用してイベントをログに記録する

注記

高度なイベントセレクターを証跡に適用すると、既存の基本的なイベントセレクターは上書きされます。高度なイベントセレクターを設定する前に、get-event-selectors コマンドを実行して現在のイベントセレクターを確認してから、以前のイベントセレクターの対象範囲と一致するように高度なイベントセレクターを設定し、そのセレクターをログ記録を行いたい追加のデータイベントのいずれかに追加します。

次の例では、TrailName という名前の証跡のカスタムアドバンストイベントセレクタを作成し、(readOnlyセレクタを省略して) 読み取りおよび書き込み管理イベントPutObjectと、 という名前のバケットamzn-s3-demo-bucketと という名前の AWS Lambda 関数DeleteObjectのデータイベントを除くすべての Amazon S3 バケット/プレフィックスの組み合わせのデータイベントを含めます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:::amzn-s3-demo-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:::amzn-s3-demo-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.ARNStartsWith 演算子を追加してすべてのイベントをキャプチャする必要があります。

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:::amzn-s3-demo-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:::amzn-s3-demo-bucket/" ] } ] } ] }

アドバンストイベントセレクタを使用して AWS Outposts イベントの Amazon S3 をログに記録する

注記

高度なイベントセレクターを証跡に適用すると、既存の基本的なイベントセレクターは上書きされます。

次の例では、アウトポストの Outopost オブジェクト上のすべての 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 オブジェクトのデータイベントを、2 つの S3 バケットのプレフィクスに含めるよう、証跡を設定する方法について示したものです。1 つの証跡に 1~5 個のイベントセレクタを指定できます。1 つの証跡に 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:::amzn-s3-demo-bucket1/prefix", "arn:aws:s3:::amzn-s3-demo-bucket2;/prefix2"] }] }]'

このコマンドは、証跡に対して設定されているイベントセレクタを返します。

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

を使用したイベントデータストアのデータイベントのログ記録 AWS CLI

AWS CLIを使用して、データイベントを記録するようにイベントデータストアを設定できます。create-event-data-store コマンドを使用して、データイベントをログに記録する新しいイベントデータストアを作成します。update-event-data-store コマンドを使用して、既存のイベントデータストアに関する高度イベントセレクターを更新します。

イベントデータストアのデータイベントをログに記録するように高度なイベントセレクタを設定します。

イベントデータストアでのデータイベントのログ記録では、次の高度なイベントセレクタフィールドがサポートされています。

  • eventCategory – データイベントをログに記録するDataには、 を にeventCategory等しく設定する必要があります。これは必須のフィールドです。

  • resources.type – このフィールドは、データイベントをログに記録するリソースタイプを選択するために使用されます。データイベントテーブルには、使用可能な値が表示されます。このフィールドは Equals演算子のみを使用でき、必須です。

  • eventName - eventName は任意の演算子を使用できます。これを使用して、 や などのデータイベントを含めたり除外PutBucketしたりできますDeleteObject

  • eventSource - 特定のイベントソースを含めるか除外するために使用できます。は通常、スペースと を含まないサービス名の短い形式eventSourceです.amazonaws.com。例えば、Amazon EC2 管理イベントのみをログに記録するec2.amazonaws.comように を eventSourceEqualsに設定できます。

  • eventType – 含める、または除外する eventType。例えば、このフィールドを に設定NotEqualsAwsServiceEventしてAWS のサービス イベントを除外できます。

  • readOnly - readOnlyEquals trueまたは の値に設定できますfalse。に設定するとfalse、イベントデータストアは書き込み専用データイベントを記録します。読み取り専用データイベントは、Get* または Describe* イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*Delete*、または Write* イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。読み取りイベントと書き込みイベントの両方をログに記録するには、readOnlyセレクタを追加しないでください。

  • resources.ARN – 任意の演算子を で使用できますがresources.ARNEqualsまたは を使用する場合NotEquals、値はテンプレートで の値として指定したタイプの有効なリソースの ARN と完全に一致する必要がありますresources.type

  • userIdentity.arn – 特定の IAM ID によって実行されたアクションのイベントを含めるか除外します。詳細については、CloudTrail userIdentity 要素を参照してください。

  • sessionCredentialFromConsole – AWS Management Console セッションから発生するイベントを含めるか除外します。このフィールドは、 Equalsまたは の値NotEqualsで設定できますtrue

イベントデータストアにデータイベントが含まれているかどうかを確認するには、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 イベントを含める

次の例は、イベントデータストアを作成して、特定の汎用 Amazon S3 S3 オブジェクトのすべてのデータイベントを含め、 bucket-scanner-role によって生成された AWS のサービス イベントとイベントを除外する方法を示していますuserIdentityresources.type の S3 イベントの値フィールドは AWS::S3::Object です。S3 オブジェクトと S3 バケットの ARN 値はわずかに異なるため、resources.ARNStartsWith 演算子を追加してすべてのイベントをキャプチャする必要があります。

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:::amzn-s3-demo-bucket/"] }, { "Field": "userIdentity.arn", "NotStartsWith": ["arn:aws:sts::123456789012:assumed-role/bucket-scanner-role"]}, { "Field": "eventType","NotEquals": ["AwsServiceEvent"]} ] } ]'

コマンドは、次の出力例を返します。

{ "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:::amzn-s3-demo-bucket/" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "userIdentity.arn", "NotStartsWith": [ "arn:aws:sts::123456789012:assumed-role/bucket-scanner-role" ] }, { "Field": "eventType", "NotEquals": [ "AwsServiceEvent" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-11-04T15:57:33.701000+00:00", "UpdatedTimestamp": "2024-11-20T20:49:21.766000+00:00" }

Amazon S3 on AWS Outposts イベントを含める

次の例では、アウトポストの Outopost オブジェクト上のすべての 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 バケットのデータイベントをログに記録する必要があります。コンプライアンスフレームワークの適合パックには、アカウントの S3 データイベントのログ記録をチェックする、cloudtrail-s3-dataevents-enabled と呼ばれるマネージドルールが含まれます。コンプライアンスフレームワークに関連付けられていない多くの適合パックも、S3 データイベントログ記録を必要とします。次に、このルールを含む適合パックの例を示します。

で利用可能なサンプルコンフォーマンスパックの完全なリストについては AWS Config、「 デベロッパーガイド」の「コンフォーマンスパックのサンプルテンプレート」を参照してください。 AWS Config

AWS SDK を使用してデータイベントのログを記録する

証跡がデータイベントを記録しているかどうかを確認するには、GetEventSelectors オペレーションを実行します。データイベントを記録するように証跡を設定するには、PutEventSelectors オペレーションを実行します。詳細については、「 APIリファレンスAWS CloudTrail」を参照してください。

イベントデータストアがデータイベントを記録しているかどうかを確認するには、GetEventDataStore オペレーションを実行します。CreateEventDatastore または UpdateEventDatastore オペレーションを実行し、高度なイベントセレクターを指定することで、データイベントを含むようにイベントデータストアを構成できます。詳細については、「を使用してイベントデータストアを作成、更新、管理する AWS CLI」および AWS CloudTrail API リファレンスを参照してください。