AWS CLI を使用して証跡を管理する - AWS CloudTrail

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

AWS CLI を使用して証跡を管理する

AWS CLI には、証跡の管理に役立つ他のコマンドがいくつか含まれています。これらのコマンドは、証跡へのタグの追加、証跡ステータスの取得、証跡に対するログ記録の開始と停止、および証跡の削除を行います。証跡が作成されたのと同じ AWS リージョン (そのホームリージョン) からこれらのコマンドを実行する必要があります。AWS CLI を使用するときは、コマンドは自分のプロファイル用に設定された AWS リージョンで実行されることを忘れないようにしてください。別のリージョンでコマンドを実行する場合は、プロファイルのデフォルトのリージョンを変更するか、コマンドに --region パラメータを使用します。

証跡に 1 つ以上のタグを追加します。

既存の証跡に 1 つ以上のタグを追加するには、add-tags コマンドを実行します。

以下の例は、Owner という名前と Mary の値を持つタグを、米国東部 (オハイオ) リージョンの arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail の ARN を持つ証跡に追加します。

aws cloudtrail add-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail --tags-list Key=Owner,Value=Mary --region us-east-2

成功した場合、このコマンドは何も返しません。

1 つ以上の証跡のリストのタグ

1 つ以上の既存の証跡に関連付けられているタグを表示するには、list-tags コマンドを使用します。

次の例では、Trail1Trail2のタグを一覧表示します。

aws cloudtrail list-tags --resource-id-list arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2

正常に完了した場合、このコマンドは以下のような出力を返します。

{ "ResourceTagList": [ { "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1", "TagsList": [ { "Value": "Alice", "Key": "Name" }, { "Value": "Ohio", "Key": "Location" } ] }, { "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2", "TagsList": [ { "Value": "Bob", "Key": "Name" } ] } ] }

証跡から 1 つ以上のタグを削除します。

既存の証跡から 1 つ以上のタグを削除するには、remove-tags コマンドを実行します。

以下の例は、米国東部 (オハイオ) リージョンの arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail の ARN を持つ証跡から Location および Name という名前を持つタグを削除します。

aws cloudtrail remove-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 --tags-list Key=Name Key=Location --region us-east-2

成功した場合、このコマンドは何も返しません。

証跡の設定と証跡のステータスの取得

AWS リージョンの証跡に関する情報を取得するには、describe-trails コマンドを実行します。次の例では、米国東部 (オハイオ) リージョンに設定された証跡に関する情報を返します。

aws cloudtrail describe-trails --region us-east-2

コマンドが正常に完了した場合は、以下のような出力が表示されます。

{ "trailList": [ { "Name": "my-trail", "S3BucketName": "amzn-s3-demo-bucket1", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, }, { "Name": "my-special-trail", "S3BucketName": "amzn-s3-demo-bucket2", "S3KeyPrefix": "example-prefix", "IncludeGlobalServiceEvents": false, "IsMultiRegionTrail": false, "HomeRegion": "us-east-2", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-special-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": true, "IsOrganizationTrail": false }, { "Name": "my-org-trail", "S3BucketName": "amzn-s3-demo-bucket3", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-1" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-org-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": true } ] }

特定の証跡に関する設定情報を取得するには、get-trail コマンドを実行します。次の使用例は、my-trail という名前の証跡の設定情報を返します。

aws cloudtrail get-trail - -name my-trail

正常に完了した場合、このコマンドは以下のような出力を返します。

{ "Trail": { "Name": "my-trail", "S3BucketName": "amzn-s3-demo-bucket", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, } }

証跡のステータスを取得するには get-trail-status コマンドを実行します。このコマンドを作成された AWS リージョン (ホームリージョン) から実行するか、--region パラメータを追加してそのリージョンを指定する必要があります。

注記

証跡が組織の証跡であり、お客様が AWS Organizations の組織のメンバーアカウントである場合は、名前だけでなく、その証跡の完全な ARN を提供する必要があります。

aws cloudtrail get-trail-status --name my-trail

コマンドが正常に完了した場合は、以下のような出力が表示されます。

{ "LatestDeliveryTime": 1441139757.497, "LatestDeliveryAttemptTime": "2015-09-01T20:35:57Z", "LatestNotificationAttemptSucceeded": "2015-09-01T20:35:57Z", "LatestDeliveryAttemptSucceeded": "2015-09-01T20:35:57Z", "IsLogging": true, "TimeLoggingStarted": "2015-09-01T00:54:02Z", "StartLoggingTime": 1441068842.76, "LatestDigestDeliveryTime": 1441140723.629, "LatestNotificationAttemptTime": "2015-09-01T20:35:57Z", "TimeLoggingStopped": "" }

前述の JSON コードに表示されているフィールドに加えて、Amazon SNS または Amazon S3 エラーがある場合はステータスに以下のフィールドが含まれます。

  • LatestNotificationError。トピックのサブスクリプションに失敗した場合に、Amazon SNS によって出力されたエラーが含まれています。

  • LatestDeliveryError。CloudTrail がバケットにログファイルを配信できない場合に、Amazon S3 によって出力されたエラーが含まれています。

CloudTrail Insights イベントセレクタの設定

put-insight-selectors を実行し、InsightType 属性の値として ApiCallRateInsightApiErrorRateInsight、またはその両方を指定して、証跡でInsights イベントを有効にします。証跡の Insights イベントセレクタの設定を表示するには、get-insight-selectors コマンドを実行します。証跡が作成された AWS リージョン (ホームリージョン) からこのコマンドを実行するか、--region パラメータをコマンドに追加してそのリージョンを指定する必要があります。

注記

ApiCallRateInsight の Insights イベントを記録するには、証跡は write の管理イベントを記録している必要があります。ApiErrorRateInsight の Insights イベントを記録するには、証跡は read または write の管理イベントを記録している必要があります。

Insights イベントを記録する証跡例

次の例では、put-insight-selectors を使用して TrailName3 という名前の証跡の Insights イベントセレクタを作成します。これにより、TrailName3 証跡の Insights イベントコレクションが有効になります。Insightsイベントセレクタは、ApiErrorRateInsightApiCallRateInsight Insights の両方のイベントタイプをログに記録します。

aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'

この例では、証跡用に設定された Insights イベントセレクタを返します。

{ "InsightSelectors": [ { "InsightType": "ApiErrorRateInsight" }, { "InsightType": "ApiCallRateInsight" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3" }

例: 証跡の Insights イベントの収集をオフにする

次の例では、put-insight-selectors を使用して、TrailName3 という名前の証跡の Insights イベントセレクタを削除します。Insights セレクタの JSON 文字列をクリアすると、TrailName3 証跡の Insights イベントコレクションが無効になります。

aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '[]'

この例では、証跡用に設定された現在空の Insights イベントセレクタを返します。

{ "InsightSelectors": [ ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3" }

アドバンストイベントセレクタの設定

高度なイベントセレクタを使用して、管理イベント、すべてのリソースタイプのデータイベント、およびネットワークアクティビティイベント (プレビュー) をログに記録することができます。対照的に、ベーシックなイベントセレクタでは、AWS::DynamoDB::TableAWS::Lambda::Function、および AWS::S3::Object リソースタイプの管理イベントとデータイベントをログに記録することができます。ベーシックなイベントセレクターまたは高度なイベントセレクターのいずれかを使用できますが、両方を使用することはできません。高度なイベントセレクターをベーシックなイベントセレクターを使用している証跡に適用すると、既存のベーシックなイベントセレクターは上書きされます。

証跡で高度なイベントセレクターが使用されるようにするには、get-event-selectors コマンドを実行して現在のイベントセレクターを確認し、その後以前のイベントセレクターの対象範囲と一致するように高度なイベントセレクターを設定してから、他のセレクターを追加します。

証跡が作成された AWS リージョンから get-event-selectors コマンドを実行するか (ホームリージョン)、--region パラメータを追加してそのリージョンを指定する必要があります。

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

証跡が組織の証跡であり、お客様が AWS Organizations の組織のメンバーアカウントでサインインしている場合は、名前だけでなく、その証跡の完全な ARN を提供する必要があります。

次の例は、高度なイベントセレクタを使用して管理イベントをログに記録する証跡の設定を示しています。デフォルトでは、証跡はすべての管理イベントをログに記録するように設定されており、データイベントやネットワークアクティビティイベントはログに記録されません。

{ "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events-trail", "AdvancedEventSelectors": [ { "Name": "Management events selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ] }

アドバンストイベントセレクタを作成するには、put-event-selectors コマンドを実行します。アカウントでイベントが発生すると、CloudTrail によって証跡の設定が評価されます。イベントが証跡のいずれかのアドバンストイベントセレクタと一致する場合は、証跡がイベントを処理し、ログに記録します。1 つの証跡に最大 500 の条件を設定できます。これには、証跡上のすべてのアドバンストイベントセレクタに指定されたすべての値が含まれます。詳細については、データイベントをログ記録するおよびネットワークアクティビティイベントのログ記録を参照してください。

特定のアドバンストイベントセレクタを使用した証跡例

次の例では、TrailName という名前の証跡の高度なカスタムイベントセレクタを作成し、(readOnly セレクタを除くことにより) 読み取りおよび書き込み管理イベント ( セレクタを除く)、amzn-s3-demo-bucket という名前のバケットを除くすべての Amazon S3 バケット/プレフィックスの組み合わせ用の PutObject および DeleteObject データイベント、MyLambdaFunction という名前の関数 AWS Lambda 用のデータイベント、および VPC エンドポイントを介した AWS KMS アクセス拒否イベント用のネットワークアクティビティイベントを含めています。これらはカスタムアドバンストイベントセレクタであるため、セレクタの各セットにはわかりやすい名前をつけます。末尾のスラッシュは 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"] } ] }, { "Name": "Audit AccessDenied AWS KMS events over a VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"]}, { "Field": "eventSource", "Equals": ["kms.amazonaws.com"]}, { "Field": "errorCode", "Equals": ["VpceAccessDenied"]} ] } ]'

例は、証跡用に設定されたアドバンストイベントセレクタを返します。

{ "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:123456789012:function/MyLambdaFunction" ] } ] }, { "Name": "Audit AccessDenied AWS KMS events over a VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["kms.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

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

次の例では、アウトポストの AWS Outposts オブジェクト上のすべての Amazon S3 のすべてのデータイベントを含めるよう、証跡を設定する方法を示します。このリリースでは、resources.type フィールドの AWS Outposts イベント上の S3 でサポートされる値は AWS::S3Outposts::Object です。

aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'

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

{ "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:region:123456789012:trail/TrailName" }

アドバンストイベントセレクタを使用して AWS Key Management Service イベントを除外する証跡の例

次の例では、TrailName という名前の証跡のアドバンストイベントセレクタを作成し、(readOnly セレクタを除くことにより) 読み取り専用管理イベントと書き込み専用管理イベントを含めますが、AWS Key Management Service (AWS KMS) イベントを除外します。AWS KMS イベントは管理イベントとして扱われ、イベントは大量になる場合があるため、管理イベントをキャプチャする証跡が複数ある場合は、CloudTrail の請求に大きな影響を与える可能性があります。

管理イベントをログに記録しないように選択した場合は、AWS KMS イベントはログに記録されず、AWS KMS イベントログ設定は変更できません。

AWS KMS イベントの証跡へのログ記録を再開するには、eventSource セレクタを削除し、コマンドを再度実行します。

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events except KMS events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] }, { "Field": "eventSource", "NotEquals": ["kms.amazonaws.com"] } ] } ]'

例は、証跡用に設定されたアドバンストイベントセレクタを返します。

{ "AdvancedEventSelectors": [ { "Name": "Log all management events except KMS events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] }, { "Field": "eventSource", "NotEquals": [ "kms.amazonaws.com" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

除外されたイベントの証跡へのログ記録を再開するには、次のコマンドに示されるように、eventSource セレクタを削除します。

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] } ] } ]'

高度なイベントセレクタを使用して Amazon RDS データ API 管理イベントを除外する証跡の例

次の例では、TrailName という名前の証跡の高度なイベントセレクタを作成し、(readOnly セレクタを除くことにより) 読み取り専用管理イベントと書き込み専用管理イベントを含めて、Amazon RDS Data API 管理イベントを除外しています。Amazon RDS Data API 管理イベントを除外するには、eventSource フィールドの文字列値 rdsdata.amazonaws.com で Amazon RDS データ API イベントソースを指定します。

管理イベントをログに記録しない場合、Amazon RDS Data API イベントはログに記録されず、Amazon RDS Data API イベントログ設定は変更できません。

Amazon RDS Data API イベントの証跡へのログ記録を開始するには、eventSource セレクタを削除し、コマンドを再度実行します。

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events except Amazon RDS Data API management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] }, { "Field": "eventSource", "NotEquals": ["rdsdata.amazonaws.com"] } ] } ]'

例は、証跡用に設定されたアドバンストイベントセレクタを返します。

{ "AdvancedEventSelectors": [ { "Name": "Log all management events except Amazon RDS Data API management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] }, { "Field": "eventSource", "NotEquals": [ "rdsdata.amazonaws.com" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

除外されたイベントの証跡へのログ記録を再開するには、次のコマンドに示されるように、eventSource セレクタを削除します。

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] } ] } ]'

ベーシックなイベントセレクタの設定

ベーシックなイベントセレクタは、AWS::DynamoDB::TableAWS::Lambda::FunctionAWS::S3::Object リソースタイプの管理イベントとデータイベントをログに記録するためにのみ使用できます。高度なイベントセレクタを使用すれば、管理イベント、すべてのデータリソースタイプ、ネットワークアクティビティイベント (プレビュー) をログに記録することができます。

ベーシックなイベントセレクターまたは高度なイベントセレクターのいずれかを使用できますが、両方を使用することはできません。高度なイベントセレクタを使用している証跡にベーシックなイベントセレクタを適用すると、高度なイベントセレクタは上書きされます。

証跡のイベントセレクタの設定を表示するには、get-event-selectors コマンドを実行します。このコマンドを作成された AWS リージョンリージョン (ホームリージョン) から実行するか、--region パラメータを使用してリージョンを指定する必要があります。

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

証跡が組織の証跡であり、お客様が AWS Organizations の組織のメンバーアカウントである場合は、名前だけでなく、その証跡の完全な ARN を提供する必要があります。

次の例は、ベーシックなイベントセレクタを使用して管理イベントをログに記録する証跡の設定を示しています。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

イベントセレクタを作成するには、put-event-selectors コマンドを実行します。証跡で Insights イベントを記録する場合は、イベントセレクターで、証跡を設定したい Insights タイプのロギングが有効になっていることを確認してください。Insights イベントのログ記録に関する詳細については、「 CloudTrail Insights の使用」を参照してください。

アカウントでイベントが発生すると、CloudTrail によって証跡の設定が評価されます。イベントが証跡のいずれかのイベントセレクタと一致する場合は、証跡がイベントを処理し、ログに記録します。証跡あたり最大 5 つのイベントセレクタと、証跡あたり最大 250 の データリソースを設定できます。詳しくは、データイベントをログ記録する を参照してください。

特定のイベントセレクタを使用した証跡例

以下の例では、読み取り専用管理イベントと書き込み専用管理イベント、2 つの Amazon S3 バケット/プレフィックスの組み合わせのデータイベント、単一の AWS Lambda 関数 (hello-world-python-function) のデータイベントを含めるように、TrailName という名前の証跡を作成します。

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-bucket/prefix","arn:aws:s3:::amzn-s3-demo-bucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]'

例では、証跡に対して設定されているイベントセレクタを返します。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::amzn-s3-demo-bucket/prefix", "arn:aws:s3:::amzn-s3-demo-bucket2/prefix2" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

すべての管理イベントとデータイベントを記録する証跡例

次の例では、TrailName2 という名前の証跡のイベントセレクタを作成し、読み取り専用および書き込み専用の管理イベント、すべての Amazon S3 バケット、AWS Lambda 関数、および AWS アカウント 内の Amazon DynamoDB テーブルのデータイベントを含めたすべての管理イベントを含めています。この例では、基本的なイベントセレクタを使用しているため、AWS Outposts の S3 イベント、Ethereum ノード の Amazon Managed Blockchain JSON-RPC コール、または その他の高度なイベントセレクタリソースタイプの記録は設定できません。また、ベーシックイベントセレクタを使用してネットワークアクティビティイベントを記録することはできません。その他のすべてのリソースタイプのネットワークアクティビティイベントとデータイベントを記録するには、高度なイベントセレクタを使用する必要があります。詳細については、「アドバンストイベントセレクタの設定」を参照してください。

注記

証跡が 1 つのリージョンにのみ適用される場合、イベントセレクタのパラメータですべての Amazon S3 バケットと Lambda 関数が指定されていても、そのリージョン内のイベントのみがログに記録されます。イベントセレクタは、証跡が作成されたリージョンにのみ適用されます。

aws cloudtrail put-event-selectors --trail-name TrailName2 --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]},{"Type": "AWS::DynamoDB::Table","Values": ["arn:aws:dynamodb"]}]}]'

例では、証跡に対して設定されているイベントセレクタを返します。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda" ], "Type": "AWS::Lambda::Function" }, { "Values": [ "arn:aws:dynamodb" ], "Type": "AWS::DynamoDB::Table" } ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2" }

AWS Key Management Service イベントを記録しない証跡例

次の例では、TrailName という名前の証跡のイベントセレクタを作成し、読み取り専用管理イベントと書き込み専用管理イベントを含めますが、AWS Key Management Service (AWS KMS) イベントを除外します。AWS KMS イベントは管理イベントとして扱われ、イベントは大量になる場合があるため、管理イベントをキャプチャする証跡が複数ある場合は、CloudTrail の請求に大きな影響を与える可能性があります。この例のユーザーは、1 つを除くすべての証跡から AWS KMS イベントを除外することを選択しました。イベントソースを除外するには、イベントセレクタに ExcludeManagementEventSources を追加し、文字列値でイベントソースを指定します。

管理イベントをログに記録しないように選択した場合は、AWS KMS イベントはログに記録されず、AWS KMS イベントログ設定は変更できません。

証跡への AWS KMS イベントの記録を再び開始するには、ExcludeManagementEventSources の値として空の配列を渡します。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["kms.amazonaws.com"],"IncludeManagementEvents": true]}]'

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

{ "EventSelectors": [ { "ExcludeManagementEventSources": [ "kms.amazonaws.com" ], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

証跡への AWS KMS イベントの記録を再び開始するには、次のコマンドに示すように ExcludeManagementEventSources の値として空の配列を渡します。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

関連する低容量 AWS Key Management Service イベントをログに記録する証跡例

次の例では、TrailName という名前の証跡のイベントセレクタを作成し、書き込み専用管理イベントと AWS KMS イベントを含めます。AWS KMS イベントは管理イベントとして扱われ、イベントは大量になる場合があるため、管理イベントをキャプチャする証跡が複数ある場合は、CloudTrail の請求に大きな影響を与える可能性があります。この例では、ユーザーが AWS KMS の [Write] (書き込み) イベントを含めることを選択しました。これには DisableDelete、および ScheduleKey が含まれますが、EncryptDecrypt、および GenerateDataKey などの大容量アクションは含まれなくなります (これらは [Read] (読み取り) イベントとして扱われます)。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "WriteOnly","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

この例では、証跡に対して設定されているイベントセレクタを返します。これにより、AWS KMS イベントを含む書き込み専用の管理イベントがログに記録されます。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "WriteOnly" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

Amazon RDS データ API イベントを記録しない証跡例

次の例では、TrailName という名前の証跡のイベントセレクタを作成し、読み取り専用管理イベントと書き込み専用管理イベントを含めますが、Amazon RDS Data API イベントを除外します。Amazon RDS Data API イベントは管理イベントとして扱われ、イベントは大量になる場合があるため、管理イベントをキャプチャする証跡が複数ある場合は、CloudTrail の請求に大きな影響を与える可能性があります。この例のユーザーは、1 つを除くすべての証跡から Amazon RDS Data API イベントを除外することを選択しました。イベントソースを除外するには、イベントセレクタに ExcludeManagementEventSources を追加し、Amazon RDS Data API 文字列値でイベントソースを指定します: rdsdata.amazonaws.com

管理イベントをログに記録しないように選択した場合は、Amazon RDS Data API イベントはログに記録されず、 イベントログ設定は変更できません。

証跡への Amazon RDS Data API 管理イベントのログ記録を再開するには、ExcludeManagementEventSources の値として空の配列を渡します。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["rdsdata.amazonaws.com"],"IncludeManagementEvents": true]}]'

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

{ "EventSelectors": [ { "ExcludeManagementEventSources": [ "rdsdata.amazonaws.com" ], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

証跡への Amazon RDS Data API 管理イベントのログ記録を再開するには、次のコマンドに示されているように ExcludeManagementEventSources の値として空の配列を渡します。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

証跡のログ記録の停止と開始

次のコマンドは、CloudTrail のログ記録を開始および停止します。

aws cloudtrail start-logging --name awscloudtrail-example
aws cloudtrail stop-logging --name awscloudtrail-example
注記

バケットを削除する前に、stop-logging コマンドを実行してバケットへのイベントの配信を停止します。ログ記録を停止しない場合、CloudTrail は限られた期間、同じ名前のバケットにログファイルを配信しようとします。

ログ記録を停止するか証跡を削除すると、その証跡で CloudTrail Insights が無効になります。

証跡の削除

Amazon Security Lake で CloudTrail 管理イベントを有効にしている場合は、read と write の両方の管理イベントのログ記録を行うマルチリージョンの組織証跡を、1 つ以上作成する必要があります。これが、ユーザーが使用する中で唯一この要件を満たしている証跡である場合、Security Lake で CloudTrail 管理イベントをオフにしない限り、この証跡を削除することはできません。

次のコマンドを使用して証跡を削除することができます。証跡は、それが作成されたリージョン (ホームリージョン) でのみ削除できます。

aws cloudtrail delete-trail --name awscloudtrail-example

証跡を削除しても、Amazon S3 バケットまたはそれに関連付けられている Amazon SNS トピックは削除されません。AWS Management Console、AWS CLI、またはサービス API を使用して、これらのリソースを個別に削除します。