翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データイベントをログ記録する
このセクションでは、CloudTrail コンソールと AWS CLI を使用してデータイベントのログを記録する方法について説明します。
デフォルトでは、証跡とイベントデータストアはデータイベントを記録しません。追加の変更がイベントデータに適用されます。詳細については、「AWS CloudTrail 料金
データイベントでは、リソース上またはリソース内で実行されたリソースオペレーションについての情報が得られます。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。
データイベントには、次のようなものがあります。
-
S3 バケット内のオブジェクトに対する Amazon S3 オブジェクトレベルの API アクティビティ (例:
GetObject
、DeleteObject
、PutObject
API オペレーション)。 -
AWS Lambda 関数実行アクティビティ (
Invoke
API)。 -
外部からの AWSイベントをログに記録するために使用される CloudTrail Lake チャネル での CloudTrail
PutAuditEvents
アクティビティ。 -
トピックに関する Amazon SNS
Publish
およびPublishBatch
API オペレーション。
高度なイベントセレクタを使用して詳細なセレクタを作成できます。これにより、ユースケースの特定の関心イベントのみがログに記録されるようになりコストを管理できます。例えば、高度なイベントセレクタを使用して、eventName
フィールドにフィルタを追加することで、特定の API コールのログを記録することができます。詳細については、「高度なイベントセレクタを使用してデータイベントをフィルタする」を参照してください。
注記
証跡によって記録されるイベントは、Amazon EventBridge で使用することができます。たとえば、管理イベントではなく、S3 オブジェクトのデータイベントをログ記録するように選択した場合、証跡は指定された S3 オブジェクトのデータイベントのみを処理して記録します。イベントこれらの S3 オブジェクトのデータのイベントを Amazon EventBridge で使用することができます。詳細については、「Amazon EventBridge ユーザーガイド」の「 AWS サービスからのイベント」を参照してください。
データイベント
次の表は、証跡とイベントデータストアで使用できるリソースタイプを示しています。リソースタイプ (コンソール) 列には、コンソールで適切な選択が表示されます。resources.type 値の列には、 AWS CLI または CloudTrail APIs を使用して、証跡またはイベントデータストアにそのタイプのデータイベントを含めるように指定するresources.type
値が表示されます。
証跡の場合、ベーシックまたは高度なイベントセレクタを使用して、汎用バケット、Lambda 関数、DynamoDB テーブル (表の最初の 3 行に表示) の Amazon S3 オブジェクトのデータイベントのログを記録することができます。残りの行に表示されるリソースタイプをログに記録するには、高度なイベントセレクタのみを使用できます。
イベントデータストアの場合、データイベントを含めるには、詳細イベントセレクタのみを使用できます。
AWS のサービス | 説明 | リソースタイプ (コンソール) | resources.type 値 |
---|---|---|---|
Amazon DynamoDB | テーブルでの Amazon DynamoDB アイテムレベルの API アクティビティ (例: 注記ストリームが有効になっているテーブルの場合、データイベントの |
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 AppSync | AppSync GraphQL API での APIs AWS AppSync アクティビティ。 |
AppSync GraphQL | AWS::AppSync::GraphQLApi |
AWS B2B データ交換 |
|
B2B データ交換 | AWS::B2BI::Transformer |
AWS Backup | AWS Backup 検索ジョブでの検索データ API アクティビティ。 |
AWS Backup データ APIsの検索 | AWS::Backup::SearchJob |
Amazon Bedrock | エージェントエイリアスでの Amazon Bedrock API アクティビティ。 | Bedrock エージェントエイリアス | AWS::Bedrock::AgentAlias |
Amazon Bedrock | 非同期呼び出しに対する Amazon Bedrock API アクティビティ。 | Bedrock 非同期呼び出し | AWS::Bedrock::AsyncInvoke |
Amazon Bedrock | フローエイリアスでの Amazon Bedrock API アクティビティ。 | [Bedrock フローエイリアス] | AWS::Bedrock::FlowAlias |
Amazon Bedrock | ガードレールでの Amazon Bedrock API アクティビティ。 | [Bedrock ガードレール] | AWS::Bedrock::Guardrail |
Amazon Bedrock | インラインエージェントの Amazon Bedrock API アクティビティ。 | Bedrock Invoke Inline-Agent | AWS::Bedrock::InlineAgent |
Amazon Bedrock | ナレッジベースでの Amazon Bedrock API アクティビティ。 | Bedrock ナレッジベース | AWS::Bedrock::KnowledgeBase |
Amazon Bedrock | モデルでの Amazon Bedrock API アクティビティ。 | [Bedrock モデル] | AWS::Bedrock::Model |
Amazon Bedrock | プロンプトに対する Amazon Bedrock API アクティビティ。 | Bedrock プロンプト | AWS::Bedrock::PromptVersion |
Amazon Bedrock | セッションでの Amazon Bedrock API アクティビティ。 | Bedrock セッション | AWS::Bedrock::Session |
Amazon CloudFront | KeyValueStore での CloudFront API アクティビティ。 |
CloudFront KeyValueStore | AWS::CloudFront::KeyValueStore |
AWS Cloud Map | 名前空間での AWS Cloud Map API アクティビティ。 | AWS Cloud Map 名前空間 |
|
AWS Cloud Map | サービスでの AWS Cloud Map API アクティビティ。 | AWS Cloud Map service |
|
AWS CloudTrail | 外部からの AWSイベントをログに記録するために使用される CloudTrail Lake チャネル での CloudTrail |
[CloudTrail チャネル] | AWS::CloudTrail::Channel |
Amazon CloudWatch | メトリクスに対する Amazon CloudWatch API アクティビティ。 |
[CloudWatch メトリクス] | AWS::CloudWatch::Metric |
Amazon CloudWatch Network Flow Monitor | モニターでの Amazon CloudWatch Network Flow Monitor API アクティビティ。 |
Network Flow Monitor モニター | AWS::NetworkFlowMonitor::Monitor |
Amazon CloudWatch Network Flow Monitor | スコープでの Amazon CloudWatch Network Flow Monitor API アクティビティ。 |
Network Flow Monitor スコープ | AWS::NetworkFlowMonitor::Scope |
Amazon CloudWatch RUM | アプリモニターでの Amazon CloudWatch RUM API アクティビティ。 |
[RUM アプリモニター] | AWS::RUM::AppMonitor |
Amazon CodeGuru Profiler | プロファイリンググループでの CodeGuru Profiler API アクティビティ。 | CodeGuru Profiler プロファイリンググループ | AWS::CodeGuruProfiler::ProfilingGroup |
Amazon CodeWhisperer | カスタマイズでの Amazon CodeWhisperer API アクティビティ。 | CodeWhisperer のカスタマイズ | AWS::CodeWhisperer::Customization |
Amazon CodeWhisperer | プロファイル上の Amazon CodeWhisperer API アクティビティ。 | CodeWhisperer | AWS::CodeWhisperer::Profile |
Amazon Cognito | Amazon Cognito アイデンティティプール に対する Amazon Cognito API アクティビティ。 |
Cognito アイデンティティプール | AWS::Cognito::IdentityPool |
AWS Data Exchange | AWS Data Exchange アセットに対する API アクティビティ。 |
[Data Exchange アセット] |
|
AWS Deadline Cloud | フリートでの Deadline Cloud API アクティビティ。 |
Deadline Cloud フリート |
|
AWS Deadline Cloud | ジョブでの Deadline Cloud API アクティビティ。 |
Deadline Cloud ジョブ |
|
AWS Deadline Cloud | キューでの Deadline Cloud API アクティビティ。 |
Deadline Cloud キュー |
|
AWS Deadline Cloud | ワーカーに対する Deadline Cloud API アクティビティ。 |
Deadline Cloud ワーカー |
|
Amazon DynamoDB | ストリームに対する Amazon DynamoDB API アクティビティ |
DynamoDB Streams | AWS::DynamoDB::Stream |
AWS エンドユーザーメッセージング SMS | 発信元 ID AWS での End User Messaging SMS API アクティビティ。 | [SMS Voice 発信元 ID] | AWS::SMSVoice::OriginationIdentity |
AWS エンドユーザーメッセージング SMS | メッセージに対するAWS エンドユーザーメッセージング SMS API アクティビティ。 | SMS Voice メッセージ | AWS::SMSVoice::Message |
AWS エンドユーザーメッセージングソーシャル | 電話番号 IDs に対する AWS End User Messaging Social API アクティビティ。 | [ソーシャルメッセージ電話番号 ID] | AWS::SocialMessaging::PhoneNumberId |
AWS エンドユーザーメッセージングソーシャル | AWS Waba IDs でのエンドユーザーメッセージングソーシャル API アクティビティ。 | ソーシャルメッセージ Waba ID | AWS::SocialMessaging::WabaId |
Amazon Elastic Block Store | Amazon EBS スナップショットの |
Amazon EBS ダイレクト API | AWS::EC2::Snapshot |
Amazon EMR | ログ先行書き込みワークスペースでの Amazon EMR API アクティビティ。 | EMR ログ先行書き込みワークスペース | AWS::EMRWAL::Workspace |
Amazon FinSpace | 環境に対する Amazon FinSpace API アクティビティ。 |
FinSpace | AWS::FinSpace::Environment |
AWS Glue | AWS Glue Lake Formation によって作成されたテーブルに対する API アクティビティ。 |
Lake Formation | AWS::Glue::Table |
Amazon GuardDuty | 検出器 に対する Amazon GuardDuty API アクティビティ。 |
GuardDuty ディテクター | AWS::GuardDuty::Detector |
AWS HealthImaging | データストアでのAWS HealthImaging API アクティビティ。 |
[医療用画像データストア] | AWS::MedicalImaging::Datastore |
AWS IoT | 証明書に対する AWS IoT API アクティビティ。 |
IoT 証明書 | AWS::IoT::Certificate |
AWS IoT | モノに対する AWS IoT API アクティビティ。 |
[IoT モノ] | AWS::IoT::Thing |
AWS IoT Greengrass Version 2 | コンポーネントバージョンの Greengrass コアデバイスからの Greengrass API アクティビティ。 注記Greengrass はアクセス拒否イベントのログを記録しません。 |
[IoT Greengrass コンポーネントバージョン] | AWS::GreengrassV2::ComponentVersion |
AWS IoT Greengrass Version 2 | デプロイ上の Greengrass コアデバイスからの Greengrass API アクティビティ。 注記Greengrass はアクセス拒否イベントのログを記録しません。 |
[IoT Greengrass デプロイ] | AWS::GreengrassV2::Deployment |
AWS IoT SiteWise | [IoT SiteWise アセット] | AWS::IoTSiteWise::Asset |
|
AWS IoT SiteWise | [IoT SiteWise 時系列] | AWS::IoTSiteWise::TimeSeries |
|
AWS IoT SiteWise アシスタント | 会話での Sitewise Assistant API アクティビティ。 |
Sitewise Assistant の会話 | AWS::SitewiseAssistant::Conversation |
AWS IoT TwinMaker | エンティティ上の IoT TwinMaker API アクティビティ。 |
[IoT TwinMaker エンティティ] | AWS::IoTTwinMaker::Entity |
AWS IoT TwinMaker | ワークスペース上の IoT TwinMaker API アクティビティ。 |
[IoT TwinMaker ワークスペース] | AWS::IoTTwinMaker::Workspace |
Amazon Kendra インテリジェントランキング | リスコア実行プラン に対する Amazon Kendra Intelligent Ranking API アクティビティ。 |
Kendra ランキング | AWS::KendraRanking::ExecutionPlan |
Amazon Keyspaces (Apache Cassandra 向け) | テーブル上の Amazon Keyspaces API アクティビティ。 | [Cassandra テーブル] | AWS::Cassandra::Table |
Amazon Kinesis Data Streams | ストリーム 上の Kinesis Data Streams API アクティビティ。 | [Kinesis ストリーム] | AWS::Kinesis::Stream |
Amazon Kinesis Data Streams | ストリームコンシューマー上の Kinesis Data Streams API アクティビティ。 | [Kinesis ストリームコンシューマー] | AWS::Kinesis::StreamConsumer |
Amazon Kinesis Video Streams | GetMedia や PutMedia への呼び出しなど、ビデオストリーム上の Amazon Kinesis API アクティビティ。 |
Kinesis ビデオストリーム | AWS::KinesisVideo::Stream |
Amazon Location Maps | Amazon Location Maps API アクティビティ。 | ジオマップ | AWS::GeoMaps::Provider |
Amazon Location の場所 | Amazon Location Places API アクティビティ。 | 地理的場所 | AWS::GeoPlaces::Provider |
Amazon Location Routes | Amazon Location Routes API アクティビティ。 | 地域ルート | AWS::GeoRoutes::Provider |
Amazon Machine Learning | ML モデルの機械学習 API アクティビティ。 | [機械学習 MlModel] | AWS::MachineLearning::MlModel |
Amazon Managed Blockchain | ネットワーク上の Amazon Managed Blockchain API アクティビティ。 |
Managed Blockchain ネットワーク | AWS::ManagedBlockchain::Network |
Amazon Managed Blockchain |
|
Managed Blockchain | AWS::ManagedBlockchain::Node |
Amazon Managed Blockchain Query | Amazon Managed Blockchain Query API アクティビティ。 |
マネージドブロックチェーンクエリ | AWS::ManagedBlockchainQuery::QueryAPI |
Amazon Managed Workflows for Apache Airflow | 環境での Amazon MWAA API アクティビティ。 |
マネージド Apache Airflow | AWS::MWAA::Environment |
Amazon Neptune Graph | Neptune Graph でのクエリ、アルゴリズム、ベクトル検索などのデータ API アクティビティ。 |
Neptune Graph | AWS::NeptuneGraph::Graph |
Amazon One Enterprise | UKey の Amazon One Enterprise API アクティビティ。 |
[Amazon One UKey] | AWS::One::UKey |
Amazon One Enterprise | ユーザーの Amazon One Enterprise API アクティビティ。 |
[Amazon One User] | AWS::One::User |
AWS Payment Cryptography | AWS Payment Cryptography エイリアスの API アクティビティ。 | [Payment Cryptography Alias] | AWS::PaymentCryptography::Alias |
AWS Payment Cryptography | AWS Payment Cryptography キーに対する API アクティビティ。 | [Payment Cryptography Key] | AWS::PaymentCryptography::Key |
AWS Private CA | AWS Private CA Connector for Active Directory API アクティビティ。 |
AWS Private CA Connector for Active Directory | AWS::PCAConnectorAD::Connector |
AWS Private CA | AWS Private CA SCEP API アクティビティ用のコネクタ。 |
AWS Private CA SCEP 用コネクタ | AWS::PCAConnectorSCEP::Connector |
Amazon Pinpoint | モバイルターゲットアプリケーションにおける Amazon Pinpoint API アクティビティ。 |
モバイルターゲティングアプリケーション | AWS::Pinpoint::App |
Amazon Q Apps | Amazon Q Apps の Data API アクティビティ。 |
[Amazon Q Apps] | AWS::QApps::QApp |
Amazon Q Apps | Amazon Q App セッションのデータ API アクティビティ。 |
Amazon Q App セッション | AWS::QApps::QAppSession |
Amazon Q Business | アプリケーション上の Amazon Q Business API アクティビティ。 |
Amazon Q Business アプリケーション | AWS::QBusiness::Application |
Amazon Q Business | データソース上の Amazon Q Business API アクティビティ。 |
Amazon Q Business データソース | AWS::QBusiness::DataSource |
Amazon Q Business | インデックスでの Amazon Q Business API アクティビティ。 |
Amazon Q Business インデックス | AWS::QBusiness::Index |
Amazon Q Business | ウェブエクスペリエンスでの Amazon Q Business API アクティビティ。 |
Amazon Q Business ウェブエクスペリエンス | AWS::QBusiness::WebExperience |
Amazon Q Developer | 統合での Amazon Q Developer API アクティビティ。 |
Q Developer の統合 | AWS::QDeveloper::Integration |
Amazon Q Developer | 運用調査に関する Amazon Q Developer API アクティビティ。 |
AIOps 調査グループ | AWS::AIOps::InvestigationGroup |
Amazon RDS | DB クラスターでの Amazon RDS API アクティビティ。 |
[RDS Data API – DB クラスター] | AWS::RDS::DBCluster |
AWS Resource Explorer | マネージドビューでの Resource Explorer API アクティビティ。 |
AWS Resource Explorer マネージドビュー | AWS::ResourceExplorer2::ManagedView |
AWS Resource Explorer | ビューでの Resource Explorer API アクティビティ。 |
AWS Resource Explorer view (表示) | AWS::ResourceExplorer2::View |
Amazon S3 | アクセスポイントでの Amazon S3 API アクティビティ。 |
S3 アクセスポイント | AWS::S3::AccessPoint |
Amazon S3 | ディレクトリバケット内のオブジェクトに対する Amazon S3 オブジェクトレベルの API アクティビティ (例: |
[S3 Express] | AWS::S3Express::Object |
Amazon S3 |
|
S3 Object Lambda | AWS::S3ObjectLambda::AccessPoint |
Amazon S3 Tables | テーブルに対する Amazon S3 API アクティビティ。 |
S3 テーブル | AWS::S3Tables::Table |
Amazon S3 Tables | テーブルバケットでの Amazon S3 API アクティビティ。 |
S3 テーブルバケット | AWS::S3Tables::TableBucket |
Amazon S3 on Outposts | Amazon S3 on Outposts オブジェクトレベル API アクティビティ。 |
S3 Outposts | AWS::S3Outposts::Object |
Amazon SageMaker AI | エンドポイントでの Amazon SageMaker AI InvokeEndpointWithResponseStream アクティビティ。 |
SageMaker AI エンドポイント | AWS::SageMaker::Endpoint |
Amazon SageMaker AI | 特徴量ストアでの Amazon SageMaker AI API アクティビティ。 |
SageMaker AI 特徴量ストア | AWS::SageMaker::FeatureGroup |
Amazon SageMaker AI | 実験トライアルコンポーネントに対する Amazon SageMaker AI API アクティビティ。 |
SageMaker AI メトリクス実験トライアルコンポーネント | AWS::SageMaker::ExperimentTrialComponent |
AWS Signer | 署名ジョブに対する Signer API アクティビティ。 |
署名者署名ジョブ | AWS::Signer::SigningJob |
AWS Signer | 署名プロファイルに対する Signer API アクティビティ。 |
署名者署名プロファイル | AWS::Signer::SigningProfile |
Amazon SimpleDB | ドメインでの Amazon SimpleDB API アクティビティ。 |
SimpleDB ドメイン | AWS::SDB::Domain |
Amazon SNS | プラットフォームエンドポイントでの Amazon SNS |
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::Activity |
AWS Step Functions | ステートマシンでの Step Functions API アクティビティ。 |
Step Functions ステートマシン | AWS::StepFunctions::StateMachine |
AWS Supply Chain | AWS Supply Chain インスタンスでの API アクティビティ。 |
[Supply Chain] | AWS::SCN::Instance |
Amazon SWF | [SWF ドメイン] | AWS::SWF::Domain |
|
AWS Systems Manager | コントロールチャネルでの Systems Manager API アクティビティ。 | Systems Manager | AWS::SSMMessages::ControlChannel |
AWS Systems Manager | 影響評価に関する Systems Manager API アクティビティ。 | SSM 影響評価 | AWS::SSM::ExecutionPreview |
AWS Systems Manager | マネージドノードでの Systems Manager API アクティビティ。 | Systems Manager マネージドノード | AWS::SSM::ManagedNode |
Amazon Timestream | データベース上の Amazon Timestream Query API アクティビティ。 |
Timestream データベース | AWS::Timestream::Database |
Amazon Timestream | リージョンエンドポイントでの Amazon Timestream API アクティビティ。 | Timestream リージョンエンドポイント | AWS::Timestream::RegionalEndpoint |
Amazon Timestream | テーブル上の Amazon Timestream Query API アクティビティ。 |
Timestream テーブル | AWS::Timestream::Table |
Amazon Verified Permissions | ポリシーストア上の Amazon Verified Permissions API アクティビティ。 |
Amazon Verified Permissions | AWS::VerifiedPermissions::PolicyStore |
Amazon WorkSpaces Thin Client | デバイスでの WorkSpaces シンクライアント API アクティビティ。 | シンクライアントデバイス | AWS::ThinClient::Device |
Amazon WorkSpaces Thin Client | 環境上の WorkSpaces シンクライアント API アクティビティ。 | シンクライアント環境 | AWS::ThinClient::Environment |
AWS X-Ray | [X-Ray トレース] | 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
にアップロードします。 -
証跡またはイベントデータストアに指定されなかった S3 バケット内のオブジェクトで
PutObject
API オペレーションが発生しました。証跡またはイベントデータストアがイベントをログに記録しません。
特定の S3 オブジェクトのデータイベントをログに記録する
次の例では、証跡またはイベントデータストアを構成し、特定の S3 オブジェクトのイベントをログに記録する際に、ログ機能がどのように動作するかを示します。この例では、CloudTrail ユーザーは my-images
というプレフィックスが付いた amzn-s3-demo-bucket3
という名前の S3 バケットと、[書き込み] データイベントのみをログに記録するオプションを指定しています。
-
ユーザーは、バケットの
my-images
プレフィックスで始まるオブジェクト (arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg
など) を削除します。 -
DeleteObject
API オペレーションは Amazon S3 オブジェクトレベルの API です。CloudTrail の [Write] データイベントとして記録されます。証跡またはイベントデータストアで指定した S3 バケットとプレフィックスに一致するオブジェクトでイベントが発生しました。証跡またはイベントデータストアはイベントを処理してログに記録します。 -
別のユーザーが S3 バケットで異なるプレフィックスのオブジェクト (
arn:aws:s3:::amzn-s3-demo-bucket3/my-videos/example.avi
など) を削除します。 -
証跡またはイベントデートストアで指定したプレフィックスに一致しないオブジェクトでイベントが発生しました。証跡またはイベントデータストアがイベントをログに記録しません。
-
ユーザーはオブジェクト
arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg
に対してGetObject
API オペレーションを呼び出します。 -
証跡またはイベントデータストアで指定したバケットとプレフィックスでイベントが発生しましたが、
GetObject
は読み取りタイプの Amazon S3 オブジェクトレベルの API です。これは CloudTrail 内で [読み取り] データイベントとして保存されますが、証跡またはイベントデータストアは [読み取り] イベントをログに記録するようには設定されていません。証跡またはイベントデータストアがイベントをログに記録しません。
注記
特定の Amazon S3 バケットのデータイベントをログ記録する場合は、証跡のデータイベントセクションで指定したログファイルの受け取り用に、データイベントをログに記録する Amazon S3 バケットを使用しないことをお勧めします。同じ Amazon S3バケットを使用すると、証跡は、ログファイルが Amazon S3 バケットに配信されるたびにデータイベントをログに記録します。ログファイルは、間隔で配信される集約イベントのため、イベントとログファイルの比率は 1:1 になりません。イベントは、次回のログファイルに記録されます。たとえば、CloudTrail がログを配信すると、PutObject
イベントが S3 バケットで発生します。S3 バケットがデータイベントセクションでも指定されていると、証跡は PutObject
イベントをデータイベントとして処理して記録します。このアクションは別の PutObject
イベントであり、証跡はイベントを再び処理して記録します。
AWS アカウント内のすべての Amazon S3 データイベントをログに記録するように証跡を設定する場合、ログファイルを受信する Amazon S3 バケットのデータイベントをログに記録するのを避けるには、別の AWS アカウントに属する Amazon S3 バケットへのログファイルの配信を設定することを検討してください。詳細については、「複数のアカウントから CloudTrail ログファイルを受け取る」を参照してください。
他の AWS アカウントの S3 オブジェクトのデータイベントのログ記録
データイベントをログに記録するように証跡を設定するときに、他の AWS アカウントに属する S3 オブジェクトを指定することもできます。指定したオブジェクトでイベントが発生すると、CloudTrail はイベントが各アカウントの証跡と一致するかどうかを評価します。イベントが証跡の設定と一致する場合、証跡はそのアカウントのイベントを処理してログに記録します。一般的に、API の呼び出し元とリソース所有者の両方がイベントを受け取ることができます。
自分が所有する S3 オブジェクトを証跡で指定すると、自分のアカウントのオブジェクトで発生したイベントが証跡によって記録されます。オブジェクトを所有しているため、他のアカウントがオブジェクトを呼び出したときも証跡はイベントを記録します。
あるアカウントのユーザーが自分の証跡で S3 オブジェクトを指定し、別のアカウントがそのオブジェクトを所有している場合は、自分のアカウントのそのオブジェクトで発生したイベントのみが記録されます。他のアカウントで発生したイベントは記録されません。
例: 2 つの AWS アカウントの Amazon S3 オブジェクトのデータイベントのログ記録
次の例は、2 つの AWS アカウントが同じ S3 オブジェクトのイベントをログに記録するように CloudTrail を設定する方法を示しています。
-
ユーザー A は、
amzn-s3-demo-bucket
という名前の S3 バケットのすべてのオブジェクトに対するデータイベントを記録します。A は S3 バケットと空のオブジェクトプレフィックスを指定して証跡を設定します。 -
ユーザー B は、S3 バケットへのアクセスを許可されている別のアカウントを持っています。B も、同じ S3 バケット内のすべてのオブジェクトのデータイベントを記録しようとします。B は、自分の証跡を設定し、同じ S3 バケットと空のオブジェクトプレフィックスを指定します。
-
B は、
PutObject
API オペレーションで S3 バケットにオブジェクトをアップロードします。 -
このイベントは、B のアカウントで発生し、B の証跡の設定に一致します。B の証跡はイベントを処理してログに記録します。
-
ユーザー A は S3 バケットを所有しており、イベントは A の証跡の設定と一致するので、A の証跡も同じイベントを処理して記録します。イベントのコピーが 2 つあるため(1 つは Bob の証跡に記録され、もう 1 つは自分の証跡に記録されます)、CloudTrail はデータイベントの 2 つのコピーに対して課金します。
-
A が S3 バケットにオブジェクトをアップロードします。
-
このイベントは A のアカウントで発生し、A の証跡の設定と一致します。A の証跡はイベントを処理してログに記録します。
-
このイベントは B のアカウントでは発生せず、B は S3 バケットを所有していないので、B の証跡はこのイベントを記録しません。CloudTrail は、このデータイベントのコピーを 1 つのみに課金します。
例: 2 つの AWS アカウントで使用される S3 バケットを含む、すべてのバケットのデータイベントのログ記録
次の例は、アカウントでデータイベントを収集する証跡に対して、アカウント内のすべての S3 バケットの選択が有効になっている場合のログ記録動作を示しています AWS 。
-
ユーザー A は、アカウントですべての S3 バケットに対するデータイベントを記録します。証跡を設定するには、[読み取り] イベント、[書き込み] イベント、または両方の [データイベント] の [All current and future S3 buckets] を選択します。
-
ユーザー B は、アカウントの S3 バケットへのアクセスを許可されている別のアカウントを持っています。B は、B がアクセス権を持っているバケットのデータイベントを記録します。B は、すべての S3 バケットのデータイベントを取得するように証跡を設定します。
-
B は、
PutObject
API オペレーションで S3 バケットにオブジェクトをアップロードします。 -
このイベントは、B のアカウントで発生し、B の証跡の設定に一致します。B の証跡はイベントを処理してログに記録します。
-
ユーザー A は S3 バケットを所有しており、イベントは A の証跡の設定と一致するので、A の証跡もそのイベントを処理して記録します。イベントのコピーが 2 つあるため(1 つは Bob の証跡に記録され、もう 1 つは自分の証跡に記録されます)、CloudTrail はデータイベントの 1 つのコピーの各アカウントに対して課金します。
-
A が S3 バケットにオブジェクトをアップロードします。
-
このイベントは A のアカウントで発生し、A の証跡の設定と一致します。A の証跡はイベントを処理してログに記録します。
-
このイベントは B のアカウントでは発生せず、B は S3 バケットを所有していないので、B の証跡はこのイベントを記録しません。CloudTrail は、お客様のアカウントのこのデータイベントのコピーを 1 つのみに課金します。
-
3 番目のユーザー C は S3 バケットへのアクセス権を持ち、そのバケットで
GetObject
オペレーションを実行します。C は自分のアカウントのすべての S3 バケットでデータイベントを記録するように証跡を設定しています。API 発信者であるため、CloudTrail はデータイベントを証跡に記録します。B はバケットへのアクセス権を持っていますが、リソース所有者ではないため、今回は B の証跡にイベントは記録されません。リソース所有者として、Mary が発信したGetObject
オペレーションについての証跡のイベントを受信します。CloudTrail は、データイベントのコピーごとに、お客様のアカウントと Mary のアカウントに課金します。1 つは Mary の証跡、もう 1 つはお客様の証跡です。
読み取り専用イベントと書き込み専用イベント
データイベントと管理イベントをログに記録するように証跡またはイベントデータストアを設定するときは、読み取り専用イベントまたは書き込み専用イベントのどちらか一方のみまたは両方を指定できます。
-
読み取り
[読み取り] イベントには、リソースの読み取りのみ行い、変更を行わない API オペレーションが含まれます。例えば、Amazon EC2 の
DescribeSecurityGroups
およびDescribeSubnets
API オペレーションは読み取り専用イベントです。これらのオペレーションは、Amazon EC2 リソースに関する情報のみを返し、設定は変更しません。 -
書き込み
[Write] イベントには、リソースを変更する (または変更する可能性がある) API オペレーションが含まれます。例えば、Amazon EC2 の
RunInstances
およびTerminateInstances
API オペレーションはインスタンスを変更します。
例: 読み取りイベントと書き込みイベントを別の証跡に記録する
次の例では、アカウントに対するログアクティビティを異なる S3 バケットに分割するように証跡を設定する方法を示しています。1 つのバケット (amzn-s3-demo-bucket1) は読み取り専用イベントを受け取り、もう 1 つのバケット (amzn-s3-demo-bucket2) は書き込み専用イベントを受け取ります。
-
証跡を作成し、ログファイルを受け取る
amzn-s3-demo-bucket1
という名前の S3 バケットを選択します。次に、証跡を更新し、[読み取り] の管理イベントとデータイベントを記録するように指定します。 -
2 つ目の証跡を作成し、ログファイルを受け取る
amzn-s3-demo-bucket2
という S3 バケットを選択します。次に、証跡を更新し、[Write] の管理イベントとデータイベントを記録するように指定します。 -
Amazon EC2 の
DescribeInstances
およびTerminateInstances
API オペレーションがアカウントで発生します。 -
DescribeInstances
API オペレーションは読み取り専用イベントであり、1 番目の証跡の設定と一致します。証跡は、イベントをログに記録して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 し、https://console.aws.amazon.com/cloudtrail/
で CloudTrail コンソールを開きます。 -
ナビゲーションペインの [Lake] で、[イベントデータストア] を選択します。
-
[イベントデータストア] ページで、更新するイベントデータストアを選択します。
注記
データイベントを有効にできるのは、CloudTrail イベントを含むイベントデータストアだけです。 AWS Config 設定項目、CloudTrail Insights イベント、またはAWS イベント以外のデータイベントは、CloudTrail イベントデータストアで有効にできません。
-
詳細ページの [データイベント] で、[編集] を選択します。
-
まだデータイベントのログを記録していない場合は、[データイベント] チェックボックスをオンにします。
-
リソースタイプで、データイベントをログに記録するリソースタイプを選択します。
-
ログセレクタテンプレートを選択します。CloudTrail には、リソースタイプのすべてのデータイベントをログに記録する事前定義済みのテンプレートが含まれています。カスタムログセレクタテンプレートを構築するには、[Custom] を選択します。
-
(オプション) [セレクタ名] に、セレクタを識別する名前を入力します。セレクタ名は、「2 つの S3 バケットだけのデータイベントを記録する」など、高度なイベントセレクタに関する説明的な名前です。セレクタ名は、拡張イベントセレクタに「
Name
」と表示され、[JSON ビュー] を展開すると表示されます。 -
Custom を選択した場合、高度なイベントセレクタは、高度なイベントセレクタフィールドの値に基づいて式を構築します。
注記
セレクタは、
*
のようなワイルドカードの使用をサポートしていません。複数の値を 1 つの条件に一致させるには、StartsWith
、EndsWith
、NotStartsWith
、または を使用して、イベントフィールドの先頭または末尾NotEndsWith
を明示的に一致させることができます。-
次のフィールドから選択します。
-
readOnly
–readOnly
は、true
またはfalse
の値と [等しい] になるように設定できます。読み取り専用データイベントは、Get*
またはDescribe*
イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*
、Delete*
、またはWrite*
イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。read
およびwrite
イベントの両方を記録するには、readOnly
セレクタを追加しないでください。 -
eventName
-eventName
は任意の演算子を使用できます。これを使用して、CloudTrail に記録されるデータイベント (PutBucket
、GetItem
、またはGetSnapshotBlock
) を含めるまたは除外します。 -
eventSource
– 含める、または除外するイベントソース。このフィールドには任意の演算子を使用できます。 -
eventType – 含めるか除外するイベントタイプ。例えば、このフィールドを等しくないに設定
AwsServiceEvent
して を除外できますAWS のサービス イベント。イベントタイプのリストについては、「」のeventType「」を参照してくださいCloudTrail レコードの内容。 -
sessionCredentialFromConsole – AWS Management Console セッションから発生するイベントを含めるか除外します。このフィールドは、 の値で等しいか等しくないかを設定できます
true
。 -
userIdentity.arn – 特定の IAM ID によって実行されたアクションのイベントを含めるか除外します。詳細については、CloudTrail userIdentity 要素を参照してください。
-
resources.ARN
–resources.ARN
には任意の演算子を使用することができますが、[指定の値に等しい] または [指定の値に等しくない] を使用する場合、値は、テンプレートでresources.type
の値として指定したタイプの有効なリソースの ARN と正確に一致する必要があります。注記
resources.ARN
フィールドを使用して ARN を持たないリソースタイプをフィルタリングすることはできません。データイベントリソースの ARN 形式の詳細については、「サービス認可リファレンス」の「 のアクション、リソース、および条件キー AWS のサービス」を参照してください。
-
-
各フィールドについて、[条件の追加] を選択して、必要な条件をすべて追加します。すべての条件に対して最大 500 個の指定値を設定できます。例えば、2 つの S3 バケットのデータイベントをイベントデータストアに記録されたデータイベントから除外するには、 フィールドを resources.ARN に設定し、 の演算子を で始まらないように設定してから、イベントをログに記録したくない S3 バケット ARN に貼り付けます。
2 番目の S3 バケットを追加するには、[条件の追加] を選択した後に上記の手順を繰り返し、ARN に貼り付けるか、別のバケットをブラウズします。
CloudTrail が複数の条件を評価する方法については、「CloudTrail がフィールドの複数の条件を評価する方法」を参照してください。
注記
イベントデータストア上のすべてのセレクターに対して、最大 500 の値を設定できます。これには、
eventName
などのセレクタの複数の値の配列が含まれます。すべてのセレクタに単一の値がある場合、セレクタに最大 500 個の条件を追加できます。 -
[フィールドの追加] を選択し、必要に応じてフィールドを追加します。エラーを回避するには、フィールドに競合する値や重複する値を設定しないでください。例えば、あるセレクタで ARN を値と等しく指定せず、次に、別のセレクタで同じ値に等しくない ARN を指定します。
-
-
データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。ステップ 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 ビュー] を展開すると表示されます。 -
Custom を選択した場合、高度なイベントセレクタは、高度なイベントセレクタフィールドの値に基づいて式を構築します。
注記
セレクタは、
*
のようなワイルドカードの使用をサポートしていません。複数の値を 1 つの条件に一致させるには、StartsWith
、EndsWith
、NotStartsWith
、または を使用して、イベントフィールドの先頭または末尾NotEndsWith
を明示的に一致させることができます。-
次のフィールドから選択します。
-
readOnly
–readOnly
は、true
またはfalse
の値と [等しい] になるように設定できます。読み取り専用データイベントは、Get*
またはDescribe*
イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*
、Delete*
、またはWrite*
イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。read
およびwrite
イベントの両方を記録するには、readOnly
セレクタを追加しないでください。 -
eventName
-eventName
は任意の演算子を使用できます。これを使用して、CloudTrail に記録されるデータイベント (PutBucket
、GetItem
、またはGetSnapshotBlock
) を含めるまたは除外します。 -
resources.ARN
–resources.ARN
には任意の演算子を使用することができますが、[指定の値に等しい] または [指定の値に等しくない] を使用する場合、値は、テンプレートでresources.type
の値として指定したタイプの有効なリソースの ARN と正確に一致する必要があります。注記
resources.ARN
フィールドを使用して ARN を持たないリソースタイプをフィルタリングすることはできません。データイベントリソースの ARN 形式の詳細については、「サービス認可リファレンス」の「 のアクション、リソース、および条件キー AWS のサービス」を参照してください。
-
-
各フィールドについて、[条件の追加] を選択して、必要な条件をすべて追加します。すべての条件に対して最大 500 個の指定値を設定できます。例えば、2 つの S3 バケットのデータイベントをイベントデータストアに記録されたデータイベントから除外するには、 フィールドを resources.ARN に設定し、 の演算子を で始まらないように設定してから、イベントをログに記録したくない S3 バケット ARN に貼り付けます。
2 番目の S3 バケットを追加するには、[条件の追加] を選択した後に上記の手順を繰り返し、ARN に貼り付けるか、別のバケットをブラウズします。
CloudTrail が複数の条件を評価する方法については、「CloudTrail がフィールドの複数の条件を評価する方法」を参照してください。
注記
イベントデータストア上のすべてのセレクターに対して、最大 500 の値を設定できます。これには、
eventName
などのセレクタの複数の値の配列が含まれます。すべてのセレクタに単一の値がある場合、セレクタに最大 500 個の条件を追加できます。 -
[フィールドの追加] を選択し、必要に応じてフィールドを追加します。エラーを回避するには、フィールドに競合する値や重複する値を設定しないでください。例えば、あるセレクタで ARN を値と等しく指定せず、次に、別のセレクタで同じ値に等しくない ARN を指定します。
-
-
データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。ステップ 4 からこのステップを繰り返して、リソースタイプの高度なイベントセレクタを設定します。
-
選択内容をレビューして確認が完了したらしたら、[変更を保存] を選択します。
以下の手順で、基本的なイベントセレクターを使用してデータイベントをログに記録するために既存の証跡を更新します。
-
にサインイン AWS Management Console し、https://console.aws.amazon.com/cloudtrail/
で 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] を選択します。
-
-
データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。
-
Lambda 関数の場合
-
[Data source] で、[Lambda] を選択します。
-
[Lambda 関数] で、[All regions] を選択してすべての Lambda 関数をログ記録するか、[Input function as ARN] を使用して、特定の関数のデータイベントをログ記録します。
AWS アカウントのすべての Lambda 関数に対するデータイベントを記録するには、[現在および将来の関数をすべて記録する] を選択します。この設定は、関数に個々に設定した各設定よりも優先されます。すべての関数が表示されていなくても、関数はすべてログ記録されます。
注記
すべてのリージョンで証跡を作成している場合は、この選択によって、 AWS アカウントの現時点のすべての関数や、証跡作成後に任意のリージョンに作成する可能性のある Lambda 関数のデータイベントのログ記録が有効になります。1 つのリージョンの証跡を作成する場合 ( を使用して作成 AWS CLI)、この選択により AWS 、アカウントのそのリージョンに現在存在するすべての関数と、証跡の作成後にそのリージョンで作成する可能性のある Lambda 関数のデータイベントログ記録が有効になります。他のリージョンで作成された Lambda 関数のデータイベントのログ記録は有効になりません。
すべての 関数のデータイベントをログに記録すると、そのアクティビティが別の AWS アカウントに属する関数で実行されている場合でも、アカウントの任意のユーザーまたはロールによって実行されたデータイベントアクティビティのログ記録も有効になります AWS 。
-
[Input function as ARN] を選択した場合、Lambda 関数の ARN を入力します。
注記
15,000 を超える Lambda 関数がアカウントに存在する場合は、証跡作成時に CloudTrail コンソールですべての関数を表示または選択することはできません。表示されていない場合でも、すべての関数をログ記録するオプションを選択することができます。特定の関数のデータイベントをログ記録する場合、ARN が分かれば、関数を手動で追加することができます。コンソールで証跡の作成を終了し、 AWS CLI および put-event-selectors コマンドを使用して、特定の Lambda 関数のデータイベントログ記録を設定することもできます。詳細については、「を使用した証跡の管理 AWS CLI」を参照してください。
-
-
データイベントをログに記録する別のリソースタイプを追加するには、データイベントタイプを追加を選択します。
-
DynamoDB テーブルの場合
-
[Data event source] で、[DynamoDB] を選択します。
-
[DynamoDB table selection] で、[Browse] を選択してテーブルを選択するか、アクセス許可を持つ DynamoDB テーブルの ARN に貼り付けます。DynamoDB テーブルの ARN は次の形式です。
arn:
partition
:dynamodb:region
:account_ID
:table/table_name
別のテーブルを追加するには、[Add row] を選択し、テーブルを参照するか、アクセス許可のあるテーブルの 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
という名前の証跡のカスタムアドバンストイベントセレクタを作成し、(readOnly
セレクタを省略して) 読み取りおよび書き込み管理イベントPutObject
と、 という名前のバケットamzn-s3-demo-bucket
と という名前の AWS Lambda 関数DeleteObject
のデータイベントを除くすべての Amazon S3 バケット/プレフィックスの組み合わせのデータイベントを含めますMyLambdaFunction
。これらはカスタムアドバンストイベントセレクタであるため、セレクタの各セットにはわかりやすい名前をつけます。末尾のスラッシュは S3 バケットの ARN 値の一部であることに注意してください。
aws cloudtrail put-event-selectors --trail-name
TrailName
--advanced-event-selectors '[ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] } ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction"] } ] } ]'
例は、証跡用に設定されたアドバンストイベントセレクタを返します。
{ "AdvancedEventSelectors": [ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "NotStartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/" ] }, ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ] }, { "Field": "eventName", "Equals": [ "Invoke" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/
TrailName
" }
高度なイベントセレクタを使用して、Amazon S3 バケットのすべての Amazon S3 イベントをログに記録する
注記
高度なイベントセレクターを証跡に適用すると、既存の基本的なイベントセレクターは上書きされます。
次の例では、特定の S3 バケットのすべての Amazon S3 オブジェクトのデータイベントをログ含めるように証跡を設定する方法を示します。resources.type
の S3 イベントの値フィールドは AWS::S3::Object
です。S3 オブジェクトと S3 バケットの ARN 値はわずかに異なるため、resources.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
イベントデータストアのデータイベントをログに記録するように高度なイベントセレクタを設定します。
イベントデータストアでのデータイベントのログ記録では、次の高度なイベントセレクタフィールドがサポートされています。
-
eventCategory
– データイベントをログに記録するData
には、 を にeventCategory
等しく設定する必要があります。これは必須のフィールドです。 -
resources.type – このフィールドは、データイベントをログに記録するリソースタイプを選択するために使用されます。データイベントテーブルには、使用可能な値が表示されます。このフィールドは
Equals
演算子のみを使用でき、必須です。 -
eventName
-eventName
は任意の演算子を使用できます。これを使用して、 や などのデータイベントを含めたり除外PutBucket
したりできますDeleteObject
。 -
eventSource
- 特定のイベントソースを含めるか除外するために使用できます。は通常、スペースと を含まないサービス名の短い形式eventSource
です.amazonaws.com
。例えば、Amazon EC2 管理イベントのみをログに記録するec2.amazonaws.com
ように をeventSource
Equals
に設定できます。 -
eventType
– 含める、または除外する eventType。例えば、このフィールドを に設定NotEquals
AwsServiceEvent
してAWS のサービス イベントを除外できます。 -
readOnly
-readOnly
はEquals
true
または の値に設定できますfalse
。に設定するとfalse
、イベントデータストアは書き込み専用データイベントを記録します。読み取り専用データイベントは、Get*
またはDescribe*
イベントなどのリソースの状態を変更しないイベントです。書き込みイベントは、Put*
、Delete*
、またはWrite*
イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。読み取りイベントと書き込みイベントの両方をログに記録するには、readOnly
セレクタを追加しないでください。 -
resources.ARN
– 任意の演算子を で使用できますがresources.ARN
、Equals
または を使用する場合NotEquals
、値はテンプレートで の値として指定したタイプの有効なリソースの ARN と完全に一致する必要がありますresources.type
。 -
userIdentity.arn
– 特定の IAM ID によって実行されたアクションのイベントを含めるか除外します。詳細については、CloudTrail userIdentity 要素を参照してください。 -
sessionCredentialFromConsole
– AWS Management Console セッションから発生するイベントを含めるか除外します。このフィールドは、Equals
または の値NotEquals
で設定できますtrue
。
イベントデータストアにデータイベントが含まれているかどうかを確認するには、get-event-data-store
aws cloudtrail get-event-data-store --event-data-store
EventDataStoreARN
コマンドは、イベントデータストアの設定を返します。
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE6441aa", "Name": "ebs-data-events", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Log all EBS direct APIs on EBS snapshots", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::EC2::Snapshot" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-04T15:57:33.701000+00:00", "UpdatedTimestamp": "2023-11-20T20:37:34.228000+00:00" }
特定のバケットのすべての Amazon S3 イベントを含める
次の例は、イベントデータストアを作成して、特定の汎用 Amazon S3 S3 オブジェクトのすべてのデータイベントを含め、 bucket-scanner-role
によって生成された AWS のサービス イベントとイベントを除外する方法を示していますuserIdentity
。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
/"] }, { "Field": "userIdentity.arn", "NotStartsWith": ["arn:aws:sts::123456789012:assumed-role/bucket-scanner-role"]}, { "Field": "eventType","NotEquals": ["AwsServiceEvent"]} ] } ]'
コマンドは、次の出力例を返します。
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE441aa", "Name": "EventDataStoreName", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:
partition
:s3:::amzn-s3-demo-bucket
/" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "userIdentity.arn", "NotStartsWith": [ "arn:aws:sts::123456789012:assumed-role/bucket-scanner-role" ] }, { "Field": "eventType", "NotEquals": [ "AwsServiceEvent" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-11-04T15:57:33.701000+00:00", "UpdatedTimestamp": "2024-11-20T20:49:21.766000+00:00" }
Amazon S3 on AWS Outposts イベントを含める
次の例では、アウトポストの Outopost オブジェクト上のすべての Amazon S3 のすべてのデータイベントを含めるよう、イベントデータストアを作成する方法を示します。
aws cloudtrail create-event-data-store --name
EventDataStoreName
\ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'
コマンドは、次の出力例を返します。
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-02-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2023-02-20T21:00:17.820000+00:00" }
AWS Config コンプライアンスのデータイベントをログに記録する
AWS Config コンフォーマンスパックを使用して、エンタープライズを正式な基準 (米国政府機関におけるクラウドセキュリティ認証制度 (FedRAMP) またはアメリカ国立標準技術研究所 (NIST)などが必須とするもの) へ準拠し続けさせている場合、コンプライアンスフレームワークの適合パックでは一般的に、少なくとも、Amazon S3 バケットのデータイベントをログに記録する必要があります。コンプライアンスフレームワークの適合パックには、アカウントの S3 データイベントのログ記録をチェックする、cloudtrail-s3-dataevents-enabled
と呼ばれるマネージドルールが含まれます。コンプライアンスフレームワークに関連付けられていない多くの適合パックも、S3 データイベントログ記録を必要とします。次に、このルールを含む適合パックの例を示します。
で利用可能なサンプルコンフォーマンスパックの完全なリストについては AWS Config、「 デベロッパーガイド」の「コンフォーマンスパックのサンプルテンプレート」を参照してください。 AWS Config
AWS SDK を使用してデータイベントのログを記録する
証跡がデータイベントを記録しているかどうかを確認するには、GetEventSelectors オペレーションを実行します。データイベントを記録するように証跡を設定するには、PutEventSelectors オペレーションを実行します。詳細については、「 APIリファレンスAWS CloudTrail」を参照してください。
イベントデータストアがデータイベントを記録しているかどうかを確認するには、GetEventDataStore オペレーションを実行します。CreateEventDatastore または UpdateEventDatastore オペレーションを実行し、高度なイベントセレクターを指定することで、データイベントを含むようにイベントデータストアを構成できます。詳細については、「を使用してイベントデータストアを作成、更新、管理する AWS CLI」および AWS CloudTrail API リファレンスを参照してください。