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

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

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

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

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

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

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

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

注記

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

目次

データイベント

証跡およびイベントデータストアで使用できるデータイベントタイプは、以下の表のとおりです。[データイベントタイプ (コンソール)] 列には、コンソールで有効な選択項目が表示されます。resources.type 値列には、 AWS CLI または を使用して証跡またはイベントデータストアにそのタイプのデータイベントを含めるように指定するresources.type値が表示されます CloudTrail APIs。

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

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

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

テーブルに対する Amazon DynamoDB 項目レベルのAPIアクティビティ (、DeleteItemPutItemUpdateItemAPIオペレーションなど)。

注記

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

DynamoDB

AWS::DynamoDB::Table

AWS Lambda

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

Lambda AWS::Lambda::Function
Amazon S3

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

S3 AWS::S3::Object
AWS AppConfig

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

AWS AppConfig AWS::AppConfig::Configuration
AWS B2B データ交換

GetTransformerJob や への呼び出しなどの Transformer オペレーションの B2B データ交換APIアクティビティStartTransformerJob

B2B データ交換 AWS::B2BI::Transformer
Amazon Bedrock エージェントエイリアスに対する Amazon Bedrock APIアクティビティ Bedrock エージェントエイリアス AWS::Bedrock::AgentAlias
Amazon Bedrock フローエイリアスの Amazon Bedrock APIアクティビティ。 Bedrock フローエイリアス AWS::Bedrock::FlowAlias
Amazon Bedrock ガードレール上の Amazon Bedrock APIアクティビティ。 Bedrock ガードレール AWS::Bedrock::Guardrail
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 service AWS::ServiceDiscovery::Service
AWS CloudTrail

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

CloudTrail チャンネル AWS::CloudTrail::Channel
Amazon CloudWatch

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

CloudWatch メトリクス AWS::CloudWatch::Metric
Amazon CloudWatch RUM

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

RUM アプリモニター AWS::RUM::AppMonitor
Amazon CodeWhisperer カスタマイズに対する Amazon CodeWhisperer API アクティビティ。 CodeWhisperer カスタマイズ AWS::CodeWhisperer::Customization
Amazon CodeWhisperer プロファイルでの Amazon CodeWhisperer API アクティビティ。 CodeWhisperer AWS::CodeWhisperer::Profile
Amazon Cognito

Amazon Cognito ID プールでの 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) はAPIs、、PutSnapshotBlockGetSnapshotBlockおよび などの を Amazon EBSスナップショットListChangedBlocksに直接送信します。

Amazon EBS direct APIs AWS::EC2::Snapshot
Amazon EMR 先書きログワークスペースでの Amazon EMRAPIアクティビティ。 EMR ログ先行書き込みワークスペース AWS::EMRWAL::Workspace
Amazon FinSpace

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

FinSpace AWS::FinSpace::Environment
AWS Glue

AWS Glue API Lake Formation によって作成されたテーブルに対する アクティビティ。

Lake Formation AWS::Glue::Table
Amazon GuardDuty

ディテクター の Amazon GuardDuty API アクティビティ。 https://docs.aws.amazon.com/guardduty/latest/ug/logging-using-cloudtrail.html#guardduty-data-events-in-cloudtrail

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 コアデバイスからの 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 アクティビティhttps://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAsset.html

IoT SiteWise アセット AWS::IoTSiteWise::Asset
AWS IoT SiteWise

時系列 での IoT SiteWise API アクティビティhttps://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeTimeSeries.html

IoT SiteWise 時系列 AWS::IoTSiteWise::TimeSeries
AWS IoT TwinMaker

エンティティ での IoT TwinMaker API https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_CreateEntity.htmlアクティビティ。

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

ワークスペース での IoT TwinMaker API アクティビティ。 https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_CreateWorkspace.html

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

再スコア実行プランの Amazon Kendra Intelligent Ranking APIアクティビティ。 https://docs.aws.amazon.com/kendra/latest/dg/cloudtrail-intelligent-ranking.html#cloud-trail-intelligent-ranking-log-entry

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 Kinesis Video Streams は、 GetMediaや への呼び出しなど、ビデオストリームでのAPIアクティビティをストリーミングしますPutMedia Kinesis ビデオストリーム AWS::KinesisVideo::Stream
Amazon Machine Learning ML モデルでのMachine LearningAPIアクティビティ。 機械学習 MlModel AWS::MachineLearning::MlModel
Amazon Managed Blockchain

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

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

Amazon Managed Blockchain JSON-RPC eth_getBalanceや などの Ethereum ノードで を呼び出しますeth_getBlockByNumber

Managed Blockchain AWS::ManagedBlockchain::Node
Amazon Neptune Graph

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

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

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

Amazon One UKey AWS::One::UKey
Amazon One Enterprise

ユーザーに対する Amazon One Enterprise APIアクティビティ。

Amazon One ユーザー AWS::One::User
AWS Payment Cryptography AWS Payment Cryptography API エイリアスでの アクティビティ。 Payment Cryptography エイリアス AWS::PaymentCryptography::Alias
AWS Payment Cryptography AWS Payment Cryptography API キーに対する アクティビティ。 Payment Cryptography キー 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 SCEPAPIアクティビティ用のコネクタ。

AWS Private CA のコネクタ SCEP AWS::PCAConnectorSCEP::Connector
Amazon Q アプリ

Amazon Q Apps のデータ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

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

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

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

RDS データ API - DB クラスター AWS::RDS::DBCluster
Amazon S3

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

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

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

S3 Express AWS::S3Express::Object
Amazon S3

Amazon S3 Object Lambda は、 や への呼び出しなどのAPIアクティビティ にアクセスしますGetObjectCompleteMultipartUpload

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

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

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

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

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

実験トライアルコンポーネント に対する Amazon SageMaker API アクティビティ。 https://docs.aws.amazon.com/sagemaker/latest/dg/experiments-monitoring.html

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

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

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

トピックに対する Amazon SNSPublishおよび PublishBatchAPIオペレーション。

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 SWFAPIアクティビティ

SWF ドメイン AWS::SWF::Domain
AWS Systems Manager コントロールチャネルでの Systems Manager APIアクティビティ Systems Manager AWS::SSMMessages::ControlChannel
AWS Systems Manager マネージドノードでの Systems Manager APIアクティビティ Systems Manager マネージドノード AWS::SSM::ManagedNode
Amazon Timestream データベースでの Amazon Timestream QueryAPIアクティビティ。 Timestream データベース AWS::Timestream::Database
Amazon Timestream テーブルに対する Amazon Timestream QueryAPIアクティビティ。 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 オブジェクトに対するデータイベントのログ記録

次の例では、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. PutObject API オペレーションは、証跡またはイベントデータストアに指定されていない S3 バケット内のオブジェクトで発生しました。証跡またはイベントデータストアがイベントをログに記録しません。

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

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

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

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

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

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

  5. ユーザーがオブジェクト の GetObjectAPIオペレーションを呼び出しますarn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg

  6. イベントは、証跡またはイベントデータストアで指定されたバケットとプレフィックスで発生しましたが、読み取りタイプの Amazon S3 オブジェクトレベル GetObjectです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. Bob は、 PutObjectAPIオペレーションを使用して S3 バケットにオブジェクトをアップロードします。

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

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

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

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

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

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

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

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

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

  3. Bob は、 PutObjectAPIオペレーションを使用して S3 バケットにオブジェクトをアップロードします。

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

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

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

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

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

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

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

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

  • 読み込み

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

  • 書き込み

    書き込みイベントには、リソースを変更する (または変更する可能性のある) APIオペレーションが含まれます。例えば、Amazon EC2RunInstancesおよび TerminateInstancesAPIオペレーションはインスタンスを変更します。

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

次の例は、アカウントのログアクティビティを別々の S3 バケットに分割するように証跡を設定する方法を示しています。amzn-s3-demo-bucket1 という名前の 1 つのバケットは読み取り専用イベントを受信し、2 番目の amzn-s3-demo-bucket2 は書き込み専用イベントを受信します。

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

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

  3. Amazon EC2DescribeInstancesおよび TerminateInstancesAPIオペレーションは、 アカウントで実行されます。

  4. DescribeInstances API オペレーションは読み取り専用イベントであり、最初の証跡の設定と一致します。証跡は、イベントをログに記録して 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 し、 で CloudTrail コンソールを開きますhttps://console.aws.amazon.com/cloudtrail/

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

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

    注記

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

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

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

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

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

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

  9. [Advanced event selectors] で、データイベントをログに記録する特定のリソースの式を作成します。事前定義済みのログテンプレートを使用している場合は、このステップをスキップできます。

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

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

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

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

        次の表は、各 の有効なARN形式を示していますresources.type

        注記

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

        resources.type リソース。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:::amzn-s3-demo-bucket/ arn:partition:s3:::amzn-s3-demo-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::FlowAlias
        arn:partition:bedrock:region:account_ID:flow/flow_ID/alias/alias_ID
        AWS::Bedrock::Guardrail
        arn:partition:bedrock:region:account_ID:guardrail/guardrail_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::One::UKey
        arn:partition:one:region:account_ID:user/user_ID/u-key/u-key_ID
        AWS::One::User
        arn:partition:one:region:account_ID:user/user_ID
        AWS::PaymentCryptography::Alias
        arn:partition:payment-cryptography:region:account_ID:alias/alias
        AWS::PaymentCryptography::Key
        arn:partition:payment-cryptography:region:account_ID:key/key_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::RUM::AppMonitor
        arn:partition:rum:region:account_ID:appmonitor/app_monitor_name

        AWS::S3::AccessPoint3

        arn:partition:s3:region:account_ID:accesspoint/access_point_name

        AWS::S3Express::Object

        arn:partition:s3express:region:account_ID:bucket/bucket_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 の両方が含まれます。resources.typeAWS::DynamoDB::Table を指定すると、デフォルトで DynamoDB テーブルと DynamoDB ストリームイベントの両方がログ記録されます。ストリームイベント を除外するにはeventNameフィールドにフィルターを追加します。

        2 特定の S3 バケット内のすべてのオブジェクトのすべてのデータイベントをログに記録するには、 StartsWith演算子を使用し、一致する値ARNとしてバケットのみを含めます。末尾のスラッシュは意図的です。除外しないでください。

        3 S3 アクセスポイント内のすべてのオブジェクトのイベントをログに記録するには、アクセスポイント のみを使用しARN、オブジェクトパスを含めず、 StartsWithまたは NotStartsWith演算子を使用することをお勧めします。

      データイベントリソースのARN形式の詳細については、「 ユーザーガイド」の「アクション、リソース、および条件キーAWS Identity and Access Management 」を参照してください。

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

      2 番目の S3 バケットを追加するには、+ 条件 を選択し、前の手順を繰り返して、 ARN に貼り付けるか、別のバケットを参照します。

      注記

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

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

  10. データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。ステップ 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. [Advanced event selectors] で、データイベントをログに記録する特定のリソースの式を作成します。事前定義済みのログテンプレートを使用している場合は、このステップをスキップできます。

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

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

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

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

        次の表は、各 の有効なARN形式を示していますresources.type

        注記

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

        resources.type リソース。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:::amzn-s3-demo-bucket/ arn:partition:s3:::amzn-s3-demo-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::FlowAlias
        arn:partition:bedrock:region:account_ID:flow/flow_ID/alias/alias_ID
        AWS::Bedrock::Guardrail
        arn:partition:bedrock:region:account_ID:guardrail/guardrail_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::One::UKey
        arn:partition:one:region:account_ID:user/user_ID/u-key/u-key_ID
        AWS::One::User
        arn:partition:one:region:account_ID:user/user_ID
        AWS::PaymentCryptography::Alias
        arn:partition:payment-cryptography:region:account_ID:alias/alias
        AWS::PaymentCryptography::Key
        arn:partition:payment-cryptography:region:account_ID:key/key_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::RUM::AppMonitor
        arn:partition:rum:region:account_ID:appmonitor/app_monitor_name

        AWS::S3::AccessPoint3

        arn:partition:s3:region:account_ID:accesspoint/access_point_name

        AWS::S3Express::Object

        arn:partition:s3express:region:account_ID:bucket/bucket_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 の両方が含まれます。resources.typeAWS::DynamoDB::Table を指定すると、デフォルトで DynamoDB テーブルと DynamoDB ストリームイベントの両方がログ記録されます。ストリームイベント を除外するにはeventNameフィールドにフィルターを追加します。

        2 特定の S3 バケット内のすべてのオブジェクトのすべてのデータイベントをログに記録するには、 StartsWith演算子を使用し、一致する値ARNとしてバケットのみを含めます。末尾のスラッシュは意図的です。除外しないでください。

        3 S3 アクセスポイント内のすべてのオブジェクトのイベントをログに記録するには、アクセスポイント のみを使用しARN、オブジェクトパスを含めず、 StartsWithまたは NotStartsWith演算子を使用することをお勧めします。

      データイベントリソースのARN形式の詳細については、「 ユーザーガイド」の「アクション、リソース、および条件キーAWS Identity and Access Management 」を参照してください。

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

      2 番目の S3 バケットを追加するには、+ 条件 を選択し、前の手順を繰り返して、 ARN に貼り付けるか、別のバケットを参照します。

      注記

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

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

  8. データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。ステップ 4 からこのステップを繰り返し、データイベントタイプのアドバンストイベントセレクタを設定します。

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

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

  1. にサインイン AWS Management Console し、 で CloudTrail コンソールを開きますhttps://console.aws.amazon.com/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. データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。

  6. Lambda 関数の場合

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

    2. Lambda 関数 で、すべてのリージョンを選択してすべての Lambda 関数をログに記録するか、Input 関数を としてARN選択して、特定の関数のデータイベントをログに記録します。

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

      注記

      すべてのリージョンで証跡を作成している場合は、この選択によって、 AWS アカウントの現時点のすべての関数や、証跡作成後に任意のリージョンに作成する可能性のある Lambda 関数のデータイベントのログ記録が有効になります。1 つのリージョンの証跡を作成する場合 ( を使用して実行 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. [Data event source] で、[DynamoDB] を選択します。

    2. DynamoDB テーブル選択 で、参照 を選択してテーブルを選択するか、アクセス権がある DynamoDB テーブルARNの に貼り付けます。DynamoDB テーブルは次の形式ARNを使用します。

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

      別のテーブルを追加するには、行 を追加 を選択し、テーブルを参照するか、アクセスできるテーブル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 は、 という名前のバケットPutObjectと という名前の AWS Lambda 関数DeleteObjectのデータイベントを除く、すべての Amazon S3 バケット/プレフィックスの組み合わせの読み取りおよび書き込み管理イベント ( readOnlyセレクターを省略) amzn-s3-demo-bucketとデータイベントを含めます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.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:::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 コマンドを使用して、既存のイベントデータストアに関する高度イベントセレクターを更新します。

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

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 フォーマンスパックを使用して、企業が連邦リスク認可管理プログラム (Fed RAMP) や米国国立標準技術研究所 (NIST) で必要とされるような形式化された標準への準拠を維持する場合、コンプライアンスフレームワークのコンフォーマンスパックでは、少なくとも Amazon S3 バケットのデータイベントをログに記録する必要があります。コンプライアンスフレームワークの適合パックには、アカウントの S3 データイベントのログ記録をチェックする、cloudtrail-s3-dataevents-enabled と呼ばれるマネージドルールが含まれます。コンプライアンスフレームワークに関連付けられていない多くの適合パックも、S3 データイベントログ記録を必要とします。次に、このルールを含む適合パックの例を示します。

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

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

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

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