翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データイベントをログ記録する
このセクションでは、 CloudTrail コンソールと を使用してデータイベントをログに記録する方法について説明しますAWS CLI。
デフォルトでは、証跡とイベントデータストアはデータイベントを記録しません。追加の変更がイベントデータに適用されます。詳細については、「AWS CloudTrail 料金
データイベントでは、リソース上またはリソース内で実行されたリソースオペレーションについての情報が得られます。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。
データイベントには、次のようなものがあります。
-
S3 バケット内のオブジェクトに対する Amazon S3 オブジェクトレベルのAPIアクティビティ (、
DeleteObject
、GetObject
PutObject
APIオペレーションなど)。 S3 -
AWS Lambda 関数実行アクティビティ (
Invoke
API)。 -
CloudTrail
PutAuditEvents
外部からのイベントをログに記録するために使用される CloudTrail Lake チャネルでの アクティビティ AWS。 -
トピックに対する Amazon SNS
Publish
およびPublishBatch
APIオペレーション。
アドバンストイベントセレクタを使用してきめ細かなセレクタを作成できます。これにより、ユースケースの特定の関心イベントのみをログに記録することでコストを制御できます。例えば、高度なイベントセレクタを使用して、 eventName
フィールドにフィルターを追加して特定のAPI呼び出しをログ記録できます。詳細については、「高度なイベントセレクタを使用したデータイベントのフィルタリング」を参照してください。
注記
証跡によってログに記録されるイベントは、Amazon で利用できます EventBridge。たとえば、管理イベントではなく、S3 オブジェクトのデータイベントをログ記録するように選択した場合、証跡は指定された S3 オブジェクトのデータイベントのみを処理して記録します。これらの S3 オブジェクトのデータイベントは、Amazon で利用できます EventBridge。詳細については、「Amazon ユーザーガイド」の「 AWS のサービスからのイベント」を参照してください。 EventBridge
目次
- データイベント
- 読み取り専用イベントと書き込み専用イベント
- を使用したデータイベントのログ記録 AWS Management Console
- を使用したデータイベントのログ記録 AWS Command Line Interface
- 高度なイベントセレクタを使用したデータイベントのフィルタリング
- AWS Config コンプライアンスのデータイベントをログに記録する
- を使用したデータイベントのログ記録 AWS SDKs
データイベント
証跡およびイベントデータストアで使用できるデータイベントタイプは、以下の表のとおりです。[データイベントタイプ (コンソール)] 列には、コンソールで有効な選択項目が表示されます。resources.type 値列には、 AWS CLI または を使用して証跡またはイベントデータストアにそのタイプのデータイベントを含めるように指定するresources.type
値が表示されます CloudTrail APIs。
証跡では、基本イベントセレクタまたはアドバンストイベントセレクタを使用して、汎用バケット、Lambda 関数、DynamoDB テーブル (テーブルの最初の 3 行に表示) 内の Amazon S3 オブジェクトのデータイベントをログ記録できます。残りの行に表示されるデータイベントタイプをログに記録するには、高度イベントセレクタのみを使用できます。
イベントデータストアの場合、データイベントを含めるには、詳細イベントセレクタのみを使用できます。
AWS サービス | 説明 | データイベントタイプ (コンソール) | resources.type 値 |
---|---|---|---|
Amazon DynamoDB | テーブルに対する Amazon DynamoDB 項目レベルのAPIアクティビティ (、 注記ストリームが有効になっているテーブルの場合、データイベントの |
DynamoDB |
|
AWS Lambda | AWS Lambda 関数実行アクティビティ ( |
Lambda | AWS::Lambda::Function |
Amazon S3 | 汎用バケット内のオブジェクトに対する Amazon S3 オブジェクトレベルのAPIアクティビティ ( |
S3 | AWS::S3::Object |
AWS AppConfig |
|
AWS AppConfig | AWS::AppConfig::Configuration |
AWS B2B データ交換 |
|
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 Cloud Map | サービス での AWS Cloud Map APIアクティビティ。 | AWS Cloud Map service |
|
AWS CloudTrail | CloudTrail |
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、、 |
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 | IoT 証明書 | AWS::IoT::Certificate |
|
AWS IoT | 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 |
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アクティビティ (、 |
S3 Express | AWS::S3Express::Object |
Amazon S3 | Amazon S3 Object Lambda は、 や への呼び出しなどのAPIアクティビティ にアクセスします |
S3 Object Lambda | AWS::S3ObjectLambda::AccessPoint |
Amazon S3 on Outposts | 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 SNS |
SNS プラットフォームエンドポイント | AWS::SNS::PlatformEndpoint |
Amazon SNS | トピックに対する Amazon SNS |
SNS トピック | AWS::SNS::Topic |
Amazon SQS | メッセージに対する Amazon SQS API アクティビティ。 |
SQS | AWS::SQS::Queue |
AWS Step Functions | ステートマシンでの Step Functions APIアクティビティ。 |
Step Functions ステートマシン | AWS::StepFunctions::StateMachine |
AWS Supply Chain | AWS Supply Chain API インスタンスでの アクティビティ。 |
サプライチェーン | AWS::SCN::Instance |
Amazon SWF | SWF ドメイン | AWS::SWF::Domain |
|
AWS Systems Manager | コントロールチャネルでの Systems Manager APIアクティビティ。 | Systems Manager | AWS::SSMMessages::ControlChannel |
AWS Systems Manager | マネージドノードでの Systems Manager APIアクティビティ。 | Systems Manager マネージドノード | AWS::SSM::ManagedNode |
Amazon Timestream | データベースでの Amazon Timestream Query APIアクティビティ。 |
Timestream データベース | AWS::Timestream::Database |
Amazon Timestream | テーブルに対する Amazon Timestream Query APIアクティビティ。 |
Timestream テーブル | AWS::Timestream::Table |
Amazon Verified Permissions | ポリシーストアでの Amazon Verified Permissions APIアクティビティ。 |
Amazon Verified Permissions | AWS::VerifiedPermissions::PolicyStore |
Amazon WorkSpaces シンクライアント | WorkSpaces デバイス上のシンクライアントAPIアクティビティ。 | シンクライアントデバイス | AWS::ThinClient::Device |
Amazon WorkSpaces シンクライアント | WorkSpaces 環境でのシンクライアントAPIアクティビティ。 | シンクライアント環境 | AWS::ThinClient::Environment |
AWS X-Ray | X-Ray トレース | AWS::XRay::Trace |
CloudTrail データイベントを記録するには、アクティビティを収集する各リソースタイプを明示的に追加する必要があります。詳細については、「 CloudTrail コンソールを使用した証跡の作成」および「コンソールを使用してイベントのイベントデータストア CloudTrailを作成する」を参照してください。
単一リージョンの証跡またはイベントデータストアでは、そのリージョンでアクセスできるリソースのデータイベントのみを記録できます。S3 バケットはグローバルですが、 AWS Lambda 関数と DynamoDB テーブルはリージョン別です。
データイベントのログ記録には追加料金が適用されます。 CloudTrail 料金については、「 AWS CloudTrail の料金
例: Amazon S3 オブジェクトのデータイベントのログ記録
S3 バケットのすべての S3 オブジェクトに対するデータイベントのログ記録
次の例では、amzn-s3-demo-bucket
という名前の S3 バケットにすべてのデータイベントのログ記録を設定する際の、ログ記録のしくみを示します。この例では、 CloudTrail ユーザーは空のプレフィックスと、読み取りデータイベントと書き込みデータイベントの両方をログに記録するオプションを指定しました。
-
ユーザーがオブジェクトを
amzn-s3-demo-bucket
にアップロードします。 -
PutObject
API オペレーションは Amazon S3 オブジェクトレベルの ですAPI。これは、データイベントとして に記録されます CloudTrail。 CloudTrail ユーザーが空のプレフィックスを持つ S3 バケットを指定しているため、そのバケット内の任意のオブジェクトで発生したイベントがログに記録されます。証跡はイベントを処理してログに記録します。 -
別のユーザーがオブジェクトを
amzn-s3-demo-bucket2
にアップロードします。 -
PutObject
API オペレーションは、証跡またはイベントデータストアに指定されていない S3 バケット内のオブジェクトで発生しました。証跡またはイベントデータストアがイベントをログに記録しません。
特定の S3 オブジェクトのデータイベントをログに記録する
次の例では、証跡またはイベントデータストアを構成し、特定の S3 オブジェクトのイベントをログに記録する際に、ログ機能がどのように動作するかを示します。この例では、 CloudTrail ユーザーは という名前の S3 バケットをamzn-s3-demo-bucket3
プレフィックス で指定しました。my-images
、および書き込みデータイベントのみをログに記録するオプション。
-
ユーザーは、バケットの
my-images
プレフィックスで始まるオブジェクト (arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg
など) を削除します。 -
DeleteObject
API オペレーションは Amazon S3 オブジェクトレベルの ですAPI。これは、書き込みデータイベントとして に記録されます CloudTrail。証跡またはイベントデータストアで指定した S3 バケットとプレフィックスに一致するオブジェクトでイベントが発生しました。証跡またはイベントデータストアはイベントを処理してログに記録します。 -
別のユーザーが S3 バケットで異なるプレフィックスのオブジェクト (
arn:aws:s3:::amzn-s3-demo-bucket3/my-videos/example.avi
など) を削除します。 -
証跡またはイベントデートストアで指定したプレフィックスに一致しないオブジェクトでイベントが発生しました。証跡またはイベントデータストアがイベントをログに記録しません。
-
ユーザーがオブジェクト の
GetObject
APIオペレーションを呼び出しますarn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg
。 -
イベントは、証跡またはイベントデータストアで指定されたバケットとプレフィックスで発生しましたが、読み取りタイプの 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 に記録するように を設定する方法を示しています。
-
ユーザー A は、
amzn-s3-demo-bucket
という名前の S3 バケットのすべてのオブジェクトに対するデータイベントを記録します。A は S3 バケットと空のオブジェクトプレフィックスを指定して証跡を設定します。 -
ユーザー B は、S3 バケットへのアクセスを許可されている別のアカウントを持っています。B も、同じ S3 バケット内のすべてのオブジェクトのデータイベントを記録しようとします。B は、自分の証跡を設定し、同じ S3 バケットと空のオブジェクトプレフィックスを指定します。
-
Bob は、
PutObject
APIオペレーションを使用して S3 バケットにオブジェクトをアップロードします。 -
このイベントは、B のアカウントで発生し、B の証跡の設定に一致します。B の証跡はイベントを処理してログに記録します。
-
ユーザー A は S3 バケットを所有しており、イベントは A の証跡の設定と一致するので、A の証跡も同じイベントを処理して記録します。イベントの 2 つのコピー (1 つは Bob の証跡にログインし、もう 1 つは自分の証跡にログインしている) が存在するため、 はデータイベントの 2 つのコピーに対して CloudTrail 課金します。
-
A が S3 バケットにオブジェクトをアップロードします。
-
このイベントは A のアカウントで発生し、A の証跡の設定と一致します。A の証跡はイベントを処理してログに記録します。
-
イベントは Bob のアカウントで発生せず、S3 バケットを所有していないため、Bob の証跡はイベントを記録しません。 はこのデータイベントの 1 つのコピーに対してのみ CloudTrail 課金します。
例: 2 つの AWS アカウントで使用される S3 バケットを含む、すべてのバケットのデータイベントのログ記録
次の例は、アカウントでデータイベントを収集する証跡に対してアカウント内のすべての S3 バケットの選択が有効になっている場合のログ記録動作を示しています AWS 。
-
ユーザー A は、アカウントですべての S3 バケットに対するデータイベントを記録します。証跡を設定するには、[読み取り] イベント、[書き込み] イベント、または両方の [データイベント] の [All current and future S3 buckets] を選択します。
-
ユーザー B は、アカウントの S3 バケットへのアクセスを許可されている別のアカウントを持っています。B は、B がアクセス権を持っているバケットのデータイベントを記録します。B は、すべての S3 バケットのデータイベントを取得するように証跡を設定します。
-
Bob は、
PutObject
APIオペレーションを使用して S3 バケットにオブジェクトをアップロードします。 -
このイベントは、B のアカウントで発生し、B の証跡の設定に一致します。B の証跡はイベントを処理してログに記録します。
-
ユーザー A は S3 バケットを所有しており、イベントは A の証跡の設定と一致するので、A の証跡もそのイベントを処理して記録します。イベントのコピーが 2 つ (1 つは Bob の証跡にログインし、もう 1 つは自分の証跡にログインしている) になったため、 はデータイベントのコピーに対して各アカウントに CloudTrail 課金します。
-
A が S3 バケットにオブジェクトをアップロードします。
-
このイベントは A のアカウントで発生し、A の証跡の設定と一致します。A の証跡はイベントを処理してログに記録します。
-
イベントは Bob のアカウントで発生せず、S3 バケットを所有していないため、Bob の証跡はイベントをログに記録しません。 は、アカウント内のこのデータイベントのコピーを 1 つだけ CloudTrail 課金します。
-
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リソースに関する情報のみを返し、設定を変更しません。 -
書き込み
書き込みイベントには、リソースを変更する (または変更する可能性のある) APIオペレーションが含まれます。例えば、Amazon EC2
RunInstances
およびTerminateInstances
APIオペレーションはインスタンスを変更します。
例: 読み取りイベントと書き込みイベントを別の証跡に記録する
次の例は、アカウントのログアクティビティを別々の S3 バケットに分割するように証跡を設定する方法を示しています。amzn-s3-demo-bucket1 という名前の 1 つのバケットは読み取り専用イベントを受信し、2 番目の amzn-s3-demo-bucket2 は書き込み専用イベントを受信します。
-
証跡を作成し、 という名前の S3 バケット
amzn-s3-demo-bucket1
を選択してログファイルを受信します。次に、証跡を更新し、[読み取り] の管理イベントとデータイベントを記録するように指定します。 -
2 番目の証跡を作成し、ログファイル
amzn-s3-demo-bucket2
を受信する S3 バケットを選択します。次に、証跡を更新し、[Write] の管理イベントとデータイベントを記録するように指定します。 -
Amazon EC2
DescribeInstances
およびTerminateInstances
APIオペレーションは、 アカウントで実行されます。 -
DescribeInstances
API オペレーションは読み取り専用イベントであり、最初の証跡の設定と一致します。証跡は、イベントをログに記録してamzn-s3-demo-bucket1
に配信します。 -
TerminateInstances
API オペレーションは書き込み専用イベントであり、2 番目の証跡の設定と一致します。証跡は、イベントをログに記録してamzn-s3-demo-bucket2
に配信します。
を使用したデータイベントのログ記録 AWS Management Console
以下の手順では、 AWS Management Consoleを使用して既存のイベントデータストアまたは証跡を更新し、データイベントのログ記録を行う方法について説明します。データイベントをログ記録するために、イベントデータストアを作成する方法の詳細については、「コンソールを使用してイベントのイベントデータストア CloudTrailを作成する」を参照してください。データイベントをログ記録するために、証跡を作成する方法の詳細については、「コンソールで証跡を作成する」を参照してください。
証跡の場合、データイベントのログ記録手順は、高度なイベントセレクタを使用しているか、基本的なイベントセレクタを使用しているかによって異なります。高度なイベントセレクタを使用してすべてのデータイベントタイプのデータイベントをログに記録できますが、基本的なイベントセレクタを使用する場合、Amazon S3 バケットとバケットオブジェクト、 AWS Lambda 関数、および Amazon DynamoDB テーブルのデータイベントのログ記録に制限されます。
以下の手順を実行し、既存の証跡を更新し、データイベントをログに記録します。高度なイベントセレクタの使用の詳細については、このトピック高度なイベントセレクタを使用したデータイベントのフィルタリングの「」を参照してください。
-
にサインイン AWS Management Console し、 で CloudTrail コンソールを開きますhttps://console.aws.amazon.com/cloudtrail/
。 -
ナビゲーションペインの [Lake] で、[イベントデータストア] を選択します。
-
[イベントデータストア] ページで、更新するイベントデータストアを選択します。
注記
データイベントは、イベントを含むイベントデータストアでのみ有効にできます CloudTrail 。 AWS Config 設定項目、 CloudTrail Insights イベント、またはイベント以外の CloudTrail イベントデータストアでデータイベントを有効にすることはできませんAWS 。
-
詳細ページの [データイベント] で、[編集] を選択します。
-
まだデータイベントのログを記録していない場合は、[データイベント] チェックボックスをオンにします。
-
[データイベントタイプ] で、データイベントをログ記録するリソースのタイプを選択します。
-
ログセレクタテンプレートを選択します。 には、リソースタイプのすべてのデータイベントをログに記録する事前定義されたテンプレート CloudTrail が含まれています。カスタムログセレクタテンプレートを構築するには、[Custom] を選択します。
-
(オプション) [セレクタ名] に、セレクタを識別する名前を入力します。セレクタ名は、「2 つの S3 バケットだけのデータイベントを記録する」など、高度なイベントセレクタに関する説明的な名前です。セレクタ名はアドバンストイベントセレクタ
Name
に としてリストされ、JSONビュー を展開すると表示できます。 -
[Advanced event selectors] で、データイベントをログに記録する特定のリソースの式を作成します。事前定義済みのログテンプレートを使用している場合は、このステップをスキップできます。
-
次のフィールドから選択します。
-
readOnly
-readOnly
は、 または の値と等しくなるように設定できますfalse
。true
読み取り専用データイベントは、Get*
またはDescribe*
イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*
、Delete*
、またはWrite*
イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。read
およびwrite
イベントの両方を記録するには、readOnly
セレクタを追加しないでください。 -
eventName
-eventName
は任意の演算子を使用できます。これを使用して、、、 など CloudTrail、 にログ記録されたデータイベントを含めたり除外PutBucket
GetItem
したりできます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::Object
2arn:
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::AccessPoint
3arn:
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::Stream
とAWS::DynamoDB::Table
の両方が含まれます。resources.type
にAWS::DynamoDB::Table
を指定すると、デフォルトで DynamoDB テーブルと DynamoDB ストリームイベントの両方がログ記録されます。ストリームイベント を除外するには、eventName
フィールドにフィルターを追加します。2 特定の S3 バケット内のすべてのオブジェクトのすべてのデータイベントをログに記録するには、
StartsWith
演算子を使用し、一致する値ARNとしてバケットのみを含めます。末尾のスラッシュは意図的です。除外しないでください。3 S3 アクセスポイント内のすべてのオブジェクトのイベントをログに記録するには、アクセスポイント のみを使用しARN、オブジェクトパスを含めず、
StartsWith
またはNotStartsWith
演算子を使用することをお勧めします。 -
データイベントリソースのARN形式の詳細については、「 ユーザーガイド」の「アクション、リソース、および条件キーAWS Identity and Access Management 」を参照してください。
-
-
各フィールドについて、[条件の追加] を選択して、必要な条件をすべて追加します。すべての条件に対して最大 500 個の指定値を設定できます。例えば、2 つの S3 バケットのデータイベントをイベントデータストアにログ記録されているデータイベントから除外するには、 フィールドをリソースに設定します。ARN、 の演算子を で開始せず、S3 バケット に貼り付けるかARN、イベントをログ記録しない S3 バケットを参照します。
2 番目の S3 バケットを追加するには、+ 条件 を選択し、前の手順を繰り返して、 ARN に貼り付けるか、別のバケットを参照します。
注記
イベントデータストア上のすべてのセレクターに対して、最大 500 の値を設定できます。これには、
eventName
などのセレクタの複数の値の配列が含まれます。すべてのセレクタに単一の値がある場合、セレクタに最大 500 個の条件を追加できます。 -
[+ Field] を選択し、必要に応じてフィールドを追加します。エラーを回避するには、フィールドに競合する値や重複する値を設定しないでください。例えば、あるセレクタARNで を値と等しくするように指定しないでください。次に、 を別のセレクタで同じ値と等しくARNないように指定します。
-
-
データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。ステップ 6 からこのステップまで繰り返し、データイベントタイプの高度なイベントセレクターを設定します。
-
選択内容をレビューして確認が完了したらしたら、[変更を保存] を選択します。
で AWS Management Console、証跡が高度なイベントセレクタを使用している場合は、選択したリソースのすべてのデータイベントをログに記録する事前定義されたテンプレートから選択できます。ログセレクタテンプレートを選択したら、最も表示したいデータイベントのみを含めるようにテンプレートをカスタマイズできます。高度なイベントセレクタの使用の詳細については、このトピック高度なイベントセレクタを使用したデータイベントのフィルタリングの「」を参照してください。
-
CloudTrail コンソールのダッシュボードまたは証跡ページで、更新する証跡を選択します。
-
詳細ページの [データイベント] で、[編集] を選択します。
-
まだデータイベントのログを記録していない場合は、[データイベント] チェックボックスをオンにします。
-
[データイベントタイプ] で、データイベントをログ記録するリソースのタイプを選択します。
-
ログセレクタテンプレートを選択します。 には、リソースタイプのすべてのデータイベントをログに記録する事前定義されたテンプレート CloudTrail が含まれています。カスタムログセレクタテンプレートを構築するには、[Custom] を選択します。
注記
S3 バケットの事前定義されたテンプレートを選択すると、 AWS 現在アカウントにあるすべてのバケットと、証跡の作成後に作成するバケットのデータイベントログ記録が有効になります。また、 AWS アカウント内の任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録も有効にします。そのアクティビティが別の AWS アカウントに属するバケットで実行されている場合でも同様です。
証跡が 1 つのリージョンのみに適用される場合、すべての S3 バケットをログ記録する事前定義済みテンプレートを選択すると、同じリージョン内のすべてのバケット、およびそのリージョンで後に作成するバケットに対して、データイベントのログ記録が可能になります。 AWS アカウントの他のリージョンの Amazon S3 バケットのデータイベントはログに記録されません。
すべてのリージョンの証跡を作成する場合は、Lambda 関数の事前定義されたテンプレートを選択すると、 AWS アカウントで現在使用しているすべての関数と、証跡の作成後に任意のリージョンで作成できる Lambda 関数のデータイベントログ記録が有効になります。1 つのリージョンの証跡を作成する場合 (証跡の場合、これは を使用してのみ実行できます AWS CLI)、この選択により、 AWS アカウントのそのリージョンで現在使用しているすべての関数と、証跡の作成後にそのリージョンで作成する可能性のある Lambda 関数のデータイベントログ記録が有効になります。他のリージョンで作成された Lambda 関数のデータイベントのログ記録は有効になりません。
すべての関数のデータイベントをログに記録すると、そのアクティビティが別の AWS アカウントに属する関数で実行されている場合でも、アカウントの任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録も可能になります AWS 。
-
(オプション) [セレクタ名] に、セレクタを識別する名前を入力します。セレクタ名は、「2 つの S3 バケットだけのデータイベントを記録する」など、高度なイベントセレクタに関する説明的な名前です。セレクタ名はアドバンストイベントセレクタ
Name
に としてリストされ、JSONビュー を展開すると表示できます。 -
[Advanced event selectors] で、データイベントをログに記録する特定のリソースの式を作成します。事前定義済みのログテンプレートを使用している場合は、このステップをスキップできます。
-
次のフィールドから選択します。
-
readOnly
-readOnly
は、 または の値と等しくなるように設定できますfalse
。true
読み取り専用データイベントは、Get*
またはDescribe*
イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*
、Delete*
、またはWrite*
イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。read
およびwrite
イベントの両方を記録するには、readOnly
セレクタを追加しないでください。 -
eventName
-eventName
は任意の演算子を使用できます。これを使用して、、、 など CloudTrail、 にログ記録されたデータイベントを含めたり除外PutBucket
GetItem
したりできます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::Object
2arn:
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::AccessPoint
3arn:
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::Stream
とAWS::DynamoDB::Table
の両方が含まれます。resources.type
にAWS::DynamoDB::Table
を指定すると、デフォルトで DynamoDB テーブルと DynamoDB ストリームイベントの両方がログ記録されます。ストリームイベント を除外するには、eventName
フィールドにフィルターを追加します。2 特定の S3 バケット内のすべてのオブジェクトのすべてのデータイベントをログに記録するには、
StartsWith
演算子を使用し、一致する値ARNとしてバケットのみを含めます。末尾のスラッシュは意図的です。除外しないでください。3 S3 アクセスポイント内のすべてのオブジェクトのイベントをログに記録するには、アクセスポイント のみを使用しARN、オブジェクトパスを含めず、
StartsWith
またはNotStartsWith
演算子を使用することをお勧めします。 -
データイベントリソースのARN形式の詳細については、「 ユーザーガイド」の「アクション、リソース、および条件キーAWS Identity and Access Management 」を参照してください。
-
-
各フィールドについて、[条件の追加] を選択して、必要な条件をすべて追加します。すべての条件に対して最大 500 個の指定値を設定できます。例えば、証跡に記録されたデータイベントから 2 つの S3 バケットのデータイベントを除外するには、 フィールドを リソースに設定します。ARN の演算子を で開始せず、S3 バケット に貼り付けるかARN、イベントをログに記録したくない S3 バケットを参照します。
2 番目の S3 バケットを追加するには、+ 条件 を選択し、前の手順を繰り返して、 ARN に貼り付けるか、別のバケットを参照します。
注記
証跡上のすべてのセレクタに対して、最大 500 の値を設定できます。これには、
eventName
などのセレクタの複数の値の配列が含まれます。すべてのセレクタに単一の値がある場合、セレクタに最大 500 個の条件を追加できます。 -
[+ Field] を選択し、必要に応じてフィールドを追加します。エラーを回避するには、フィールドに競合する値や重複する値を設定しないでください。例えば、あるセレクタARNで を値と等しくするように指定しないでください。次に、 を別のセレクタで同じ値と等しくARNないように指定します。
-
-
データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。ステップ 4 からこのステップを繰り返し、データイベントタイプのアドバンストイベントセレクタを設定します。
-
選択内容をレビューして確認が完了したらしたら、[変更を保存] を選択します。
以下の手順で、基本的なイベントセレクターを使用してデータイベントをログに記録するために既存の証跡を更新します。
-
にサインイン AWS Management Console し、 で CloudTrail コンソールを開きますhttps://console.aws.amazon.com/cloudtrail/
。 -
CloudTrail コンソールの証跡ページを開き、証跡名を選択します。
注記
既存の証跡を編集してデータイベントをログ記録することもできますが、ベストプラクティスとして、ログ記録データイベント専用に別の証跡を作成することを検討してください。
-
[Data events] で、[編集] を選択します。
-
Amazon S3 バケット:
-
[Data source] で、[S3] を選択します。
-
すべての現在および将来の S3 バケットを記録することを選択するか、バケットまたは関数を個々に指定することができます。デフォルトでは、現在および将来のすべての S3 バケットのデータイベントが記録されます。
注記
デフォルトの「現在および将来のすべての S3 バケット」オプションを保持すると、 AWS 現在アカウントにあるすべてのバケットと、証跡の作成が完了した後に作成するバケットのデータイベントログ記録が有効になります。また、 AWS アカウント内の任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録も有効にします。そのアクティビティが別の AWS アカウントに属するバケットで実行されている場合でも同様です。
1 つのリージョンの証跡を作成する場合 ( を使用して作成 AWS CLI)、アカウント内のすべての S3 バケットを選択 オプションを選択すると、証跡と同じリージョン内のすべてのバケットと、そのリージョンで後で作成するバケットのデータイベントログ記録が有効になります。 AWS アカウントの他のリージョンの Amazon S3 バケットのデータイベントはログに記録されません。
-
デフォルトの [All current and future S3 buckets] で、[読み取り] イベント、[書き込み] イベント、またはその両方をログ記録することを選択します。
-
個々のバケットを選択するには、[All current and future S3 buckets] の [読み取り] および [書き込み] のチェックボックスをオフにします。[Individual bucket selection] で、データイベントをログ記録するバケットを参照します。特定のバケットを検索するには、目的のバケットのバケットプレフィックスを入力します。このウィンドウで、複数のバケットを選択できます。[Add bucket] を選択してより多くのバケットのデータイベントをログ記録します。[読み取り] イベント (例:
GetObject
) か、[書き込み] イベント (例:PutObject
)、または両方を選択します。この設定は、個別のバケットに設定した個々の設定よりも優先されます。たとえば、すべての S3 バケットにログ記録 [読み取り] イベントを指定し、データイベントログ記録に特定のバケットの追加を選択した場合、追加したバケットには既に [読み取り] が設定されています。選択を解除することはできません。[書き込み] のオプションしか設定することができません。
ログ記録からバケットを削除するには、[X] を選択します。
-
-
データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。
-
Lambda 関数の場合
-
[Data source] で、[Lambda] を選択します。
-
Lambda 関数 で、すべてのリージョンを選択してすべての Lambda 関数をログに記録するか、Input 関数を としてARN選択して、特定の関数のデータイベントをログに記録します。
AWS アカウントのすべての Lambda 関数に対するデータイベントを記録するには、[現在および将来の関数をすべて記録する] を選択します。この設定は、関数に個々に設定した各設定よりも優先されます。すべての関数が表示されていなくても、関数はすべてログ記録されます。
注記
すべてのリージョンで証跡を作成している場合は、この選択によって、 AWS アカウントの現時点のすべての関数や、証跡作成後に任意のリージョンに作成する可能性のある Lambda 関数のデータイベントのログ記録が有効になります。1 つのリージョンの証跡を作成する場合 ( を使用して実行 AWS CLI)、この選択により AWS 、アカウントのそのリージョンで現在使用しているすべての関数と、証跡の作成後にそのリージョンで作成する可能性のある Lambda 関数のデータイベントログ記録が有効になります。他のリージョンで作成された Lambda 関数のデータイベントのログ記録は有効になりません。
すべての関数のデータイベントをログに記録すると、そのアクティビティが別の AWS アカウントに属する関数で実行されている場合でも、アカウント内の任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録も可能になります AWS 。
-
入力関数を としてARN選択した場合は、Lambda 関数ARNの を入力します。
注記
アカウントに 15,000 を超える Lambda 関数がある場合、証跡の作成時にコンソールで CloudTrailすべての関数を表示または選択することはできません。表示されていない場合でも、すべての関数をログ記録するオプションを選択することができます。特定の関数のデータイベントをログに記録する場合は、その がわかっている場合に関数を手動で追加できますARN。コンソールで証跡の作成を終了し、 AWS CLI および put-event-selectors コマンドを使用して、特定の Lambda 関数のデータイベントログ記録を設定することもできます。詳細については、「を使用した証跡の管理 AWS CLI」を参照してください。
-
-
データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。
-
DynamoDB テーブルの場合
-
[Data event source] で、[DynamoDB] を選択します。
-
DynamoDB テーブル選択 で、参照 を選択してテーブルを選択するか、アクセス権がある DynamoDB テーブルARNの に貼り付けます。DynamoDB テーブルは次の形式ARNを使用します。
arn:
partition
:dynamodb:region
:account_ID
:table/table_name
別のテーブルを追加するには、行 を追加 を選択し、テーブルを参照するか、アクセスできるテーブルARNの に貼り付けます。
-
-
[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 コマンドを実行して現在のイベントセレクターを確認し、以前のイベントセレクターの対象範囲と一致するように高度なイベントセレクターを設定してから、そのセレクターをデータイベントをログ記録したい任意のリソースタイプに追加します。
-
-
高度なイベントセレクターを使用すると
eventName
、resources.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
--regionregion
\ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:partition
:s3:::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
--regionregion
\ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'
コマンドは、次の出力例を返します。
{ "TrailARN": "arn:aws:cloudtrail:
region
:account_ID
:trail/TrailName
", "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ] }
基本的なイベントセレクタを使用してイベントをログに記録する
以下に、基本的なイベントセレクタを示す get-event-selectors コマンドの結果の例を示します。デフォルトでは、 を使用して証跡を作成すると AWS CLI、証跡はすべての管理イベントを記録します。デフォルトでは、証跡はデータイベントを記録しません。
{ "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName", "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ] }
管理イベントとデータイベントをログに記録するように証跡を設定するには、put-event-selectors
次の例は、基本のイベントセレクターを使用して、すべての管理イベントと S3 オブジェクトのデータイベントを、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リファレンス」を参照してください。