証跡の作成 - AWS CloudTrail

証跡の作成

手順に従って、すべてのリージョンに適用される証跡を作成します。すべてのリージョンに適用される証跡は、すべてのリージョンのログファイルを S3 バケットに配信します。証跡を作成すると、指定したイベントのログ記録が AWS CloudTrail によって自動的に開始されます。

注記

認証を作成したら、より詳細な分析と CloudTrail ログで収集されたデータに基づいた行動のためにその他の AWS サービスを設定できます。詳細については、「CloudTrail のサポートされているサービスと統合」を参照してください。

コンソールでは、有効にしたすべての AWS リージョンのイベントをログに記録する証跡を作成します。これは推奨されるベストプラクティスです。単一リージョンでイベントをログに記録するには (推奨されません)、AWS CLI を使用します

アドバンストイベントセレクタをまだ有効にしていない場合は、次の手順を使用します。アドバンストイベントセレクタを有効にしている場合は、コンソールでの証跡の作成 (アドバンストイベントセレクタ) を参照して証跡でデータイベントログを設定します。

AWS Management Console を使用して CloudTrail 証跡を作成するには

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

  2. CloudTrail サービスのホームページでは、[証跡] ページ、または [ダッシュボード] ページの [証跡] セクションで、[証跡の作成] を選択します。

  3. [Create Trail (証跡の作成)] ページの [Trail name (証跡名)] に証跡の名前を入力します。詳細については、「CloudTrail 証跡の命名要件」を参照してください。

  4. これが AWS Organizations 組織証跡で、組織内のすべてのアカウントに対して証跡を有効にするよう選択できます。管理アカウントの IAM ユーザーまたはロールでコンソールにサインインしている場合にのみ、このオプションが表示されます。組織の証跡を正しく作成するには、ユーザーまたはロールに十分なアクセス許可があることを確認してください。詳細については、「組織の証跡の作成」を参照してください。

  5. [ストレージの場所] で、[新しい S3 バケットを作成する] を選択すると、新しいバケットが作成されます。新しいバケットを作成すると、CloudTrail によって必要なバケットポリシーが作成され、適用されます。

    注記

    [Use existing S3 bucket] を選択した場合、[Trail log bucket name] のバケットを指定するか、[Browse] を選択してバケットを選択します。バケットポリシーでは、バケットへの書き込み権限を CloudTrail に付与する必要があります。バケットポリシーを手動で編集する方法については、CloudTrail の Amazon S3 バケットポリシー を参照してください。

    ログを見つけやすくするために、新しいフォルダ (プレフィックスとも呼ばれます) を既存のバケットに作成して CloudTrail ログを保存します。プレフィックスを [プレフィックス] に入力します。

  6. [Log file SSE-KMS encryption] で、SSE-S3 を使用する代わりに SSE-KMS を使用してログファイルを暗号化する場合は、[Enabled] を選択します。デフォルトは [Enabled] です。この暗号化タイプの詳細については、「Amazon S3 で管理された暗号化キーによるサーバー側の暗号化 (SSE-S3) を使用したデータの保護」を参照してください。

    SSE-KMS 暗号化を有効にする場合は、[New] または [ Existing] AWS KMS key を選択します。[AWS KMS Alias] で、alias/ MyAliasName フォーマットのエイリアスを指定します。詳細については、「KMS キーを使用するために証跡を更新する」を参照してください。CloudTrail は、AWS KMS マルチリージョンキーもサポートしています。マルチリージョンキーの詳細については、AWS Key Management Service デベロッパーガイドの「マルチリージョンキーを使用する」を参照してください。

    注記

    別のアカウントのキーの ARN を入力することもできます。このキーポリシーは、CloudTrail がキーを使用してログファイルを暗号化し、指定したユーザーが暗号化されていない形式でログファイルを読み取れるようにする必要があります。キーポリシーを手動で編集する方法については、CloudTrail の AWS KMS キーポリシーの設定 を参照してください。

  7. [Additional settings] で、次の操作を行います。

    1. [ログファイル検証を有効にする] で [Enabled] を選択して、S3 バケットにログダイジェストが配信されるようにします。ダイジェストファイルは、ログファイルが CloudTrail に配信された後に変更されていないことを確認するために使用できます。詳細については、「CloudTrail ログファイルの整合性の検証」を参照してください。

    2. バケットにログが配信されるたびに通知を受け取る場合は、[SNS notification delivery] で [Enabled] を選択します。CloudTrail は、1 つのログファイルに複数のイベントを保存します。SNS 通知は、ログファイルごとに送信されます (イベントごとではありません)。詳細については、「CloudTrail の Amazon SNS 通知の設定」を参照してください。

      SNS 通知を有効にすると、[Create a new SNS topic] で、[New] を選択してトピックを作成するか、[Existing] を選択して既存のトピックを使用します。すべてのリージョンに適用される証跡を作成した場合、すべてのリージョンからのログファイル配信を知らせる SNS 通知は、ユーザーが作成した単一の SNS トピックに送信されます。

      [New] を選択した場合、CloudTrail は新しいトピックの名前を指定します。または、自分で名前を入力できます。[Existing] を選択した場合、ドロップダウンリストから SNS トピックを選択します。別のリージョンにあるトピックの ARN を入力したり、適切なアクセス許可を持ったアカウントにあるトピックの ARN を入力することもできます。詳細については、「CloudTrail の Amazon SNS トピックポリシー」を参照してください。

      トピックを作成する場合は、ログファイル配信の通知を受けるトピックを受信登録する必要があります。受信登録は Amazon SNS コンソールから行うことができます。通知頻度の都合上、受信登録については、Amazon SQS キューを使用して通知をプログラムで処理するように設定することをお勧めします。詳細については、Amazon Simple Notification Service 入門ガイドを参照してください。

  8. オプションで、CloudTrail がログファイルを CloudWatch Logs に送信するように CloudTrail を設定するには、[CloudWatch Logs] の [Enabled] を選択します。詳細については、「CloudWatch Logs へのイベントの送信」を参照してください。

    1. CloudWatch Logs との統合を有効にする場合は、[New] を選択して新しいロググループを作成するか、[Existing] を選択して既存のものを使用します。[New] を選択した場合、CloudTrail は新しいロググループの名前を指定します。または、自分で名前を入力できます。

    2. [Existing] を選択した場合、ドロップダウンリストからロググループを選択します。

    3. [New] を選択して、CloudWatch Logs にログを送信するためのアクセス許可のための新しい IAM ロールを作成します。[Existing] を選択して、ドロップダウンリストから既存の IAM ロールを選択します。新しいロールまたは既存のロールのポリシーステートメントは、[ポリシードキュメント] を展開すると表示されます。このロールの詳細については、「CloudTrail がモニタリングに CloudWatch Logs を使用するためのロールポリシードキュメント」を参照してください。

      注記

      証跡を設定する際には、別のアカウントに属している S3 バケットや SNS トピックを選択することもできます。ただし、CloudTrail から CloudWatch Logs ロググループにイベントを配信する場合は、現在のアカウント内に存在するロググループを選択する必要があります。

  9. [タグ] で、1 つまたは複数のカスタムタグ (キーと値のペア) を証跡に追加します。CloudTrail 証跡と CloudTrail ログファイルを含む Amazon S3 バケットの両方を識別するのにタグが役立ちます。その後、CloudTrail リソースのリソースグループを使用できます。詳細については、「AWS Resource Groups」および「証跡タグを使用する理由とは」を参照してください。

  10. [Choose log events] ページで、ログに記録するイベントタイプを選択します。[管理イベント] で、次の操作を行います。

    1. [API activity] で、証跡で記録する対象を [読み取り] イベント、[書き込み] イベント、またはその両方を選択します。詳細については、「管理イベント」を参照してください。

    2. [Exclude AWS KMS events] を選択して AWS Key Management Service (AWS KMS) イベントを、証跡から除外します。デフォルト設定では、すべての AWS KMS イベントが含まれています。

      AWS KMS イベントをログまたは除外するオプションは、証跡の管理イベントをログに記録する場合にのみ使用できます。管理イベントをログに記録しないように選択した場合は、AWS KMS イベントはログに記録されず、AWS KMS イベントログ設定は変更できません。

      通常、AWS KMS、EncryptDecrypt などの GenerateDataKey アクションは、大容量イベント (99% 以上) を生成します。これらのアクションは、[読み取り] イベントとしてログに記録されるようになりました。DisableDeleteScheduleKey などの少量の関連する AWS KMS アクション (通常は AWS KMS イベントボリュームの 0.5% 未満) は、[書き込み]イベントとしてログに記録されます。

      EncryptDecryptGenerateDataKey のようなボリュームの大きなイベントを除外し、DisableDeleteScheduleKey などの関連イベントを記録する場合は、[書き込み] 管理イベントを記録することを選択し、[Exclude AWS KMS events] チェックボックスをオフにします。

    3. [Exclude Amazon RDS Data API events] を選択して、証跡から Amazon Relational Database Service データ API イベントを除外できます。デフォルト設定では、すべての Amazon RDS Data API イベントが含まれています。Amazon RDS Data API イベントの詳細については、Aurora の Amazon RDS Amazon RDS ユーザーガイドの「AWS CloudTrail による Data API コールのログ記録」を参照してください。

  11. [Data events] で、Amazon S3 バケットのログデータイベント、AWS Lambda 関数、Amazon DynamoDB テーブル、またはこれらのリソースタイプの組み合わせを指定できます。デフォルトでは、証跡はデータイベントを記録しません。データイベントのログ記録には追加料金が適用されます。詳細については、「データイベント」を参照してください。CloudTrail の料金については、「AWS CloudTrail 料金」を参照してください。アドバンストイベントセレクタを使用すると、より多くのデータイベントタイプを使用できます。詳細については、このトピックの「コンソールでの証跡の作成 (アドバンストイベントセレクタ)」を参照してください。

    Amazon S3 バケットの場合

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

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

      注記

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

      証跡が 1 つのリージョンのみで作成される場合 (AWS CLI を使用して作成)、[現在および将来のすべての S3 バケット] を選択すると、同じリージョン内のすべてのバケット、およびそのリージョンで後に作成するバケットに対して、データイベントのログ記録が有効になります。AWS アカウント内の他のリージョンの Amazon S3 バケットのデータイベントは記録されません。

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

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

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

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

  12. データイベントをログに記録する別のデータタイプを追加するには、[Add data event type] を選択します。

  13. Lambda 関数の場合

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

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

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

      注記

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

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

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

      注記

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

  14. DynamoDB テーブルの場合

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

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

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

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

  15. 証跡に CloudTrail Insights イベントをログに記録させたい場合は、[Insights イベント] を選択します。

    [Event type] で、[Insights events] を選択します。[Write] 管理イベントをログ記録して、Insights イベントをログに記録している必要があります。

    CloudTrail Insights が以上なアクティビティの管理 [書き込み] イベントを分析し、異常が検出された場合にイベントをログに記録します。デフォルトでは、証跡はインサイトイベントを記録しません。インサイトイベントの詳細については、「証跡の Insights イベントの記録」を参照してください。インサイトイベントの記録には追加料金が適用されます。CloudTrail の料金については、「AWS CloudTrail 料金」を参照してください。

    Insights イベントは、証跡詳細ページの [ストレージの場所] 領域で指定されている同じ S3 バケットの、/CloudTrail-Insight という名前の異なるフォルダへ配信されます。CloudTrail によって新しいプレフィックスが作成されます。たとえば、現在の送信先 S3 バケットの名前が S3bucketName/AWSLogs/CloudTrail/ の場合、新しいプレフィックスが付いた S3 バケットの名前は S3bucketName/AWSLogs/CloudTrail-Insight/ になります。

  16. ログに記録するイベントタイプの選択が終了したら、[Next] を選択します。

  17. [Review and create] ページで選択内容を確認します。[Edit] を選択して、そのセクションに表示される証跡設定を変更します。証跡を作成する準備ができたら、[Create trail] を選択します。

  18. 新しい証跡が [Trails (証跡)] ページに表示されます。[Trails (証跡)] ページでは、すべてのリージョンを対象に、アカウント内の証跡が表示されます。約 15 分で CloudTrail によってログファイルが発行され、アカウント内で実行された AWS API コールが表示されます。ユーザーは、指定した S3 バケット内のログファイルを確認することができます。インサイトイベントログを有効にしていて、異常なアクティビティが検出された場合、CloudTrail が最初のインサイトイベントを配信するまでに最大 36 時間かかることがあります。

注記

CloudTrail は、通常、API コールから平均 15 分以内にログを配信します。この時間は保証されません。詳細については、「AWS CloudTrail サービスレベルアグリーメント」をご覧ください。

コンソールでは、有効にしたすべての AWS リージョンのイベントをログに記録する証跡を作成します。これは推奨されるベストプラクティスです。単一リージョンでイベントをログに記録するには (推奨されません)、AWS CLI を使用します

アドバンストイベントセレクタを有効にしている場合は、次の手順を使用します。アドバンストイベントセレクタを有効にしている場合は、コンソールでの証跡の作成 (基本的なイベントセレクタ) を参照して証跡でデータイベントログを設定します。

AWS Management Console を使用して CloudTrail 証跡を作成するには

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

  2. CloudTrail サービスのホームページでは、[証跡] ページ、または [ダッシュボード] ページの [証跡] セクションで、[証跡の作成] を選択します。

  3. [Create Trail (証跡の作成)] ページの [Trail name (証跡名)] に証跡の名前を入力します。詳細については、「CloudTrail 証跡の命名要件」を参照してください。

  4. これが AWS Organizations 組織証跡で、組織内のすべてのアカウントに対して証跡を有効にするよう選択できます。管理アカウントの IAM ユーザーまたはロールでコンソールにサインインしている場合にのみ、このオプションが表示されます。組織の証跡を正しく作成するには、ユーザーまたはロールに十分なアクセス許可があることを確認してください。詳細については、「組織の証跡の作成」を参照してください。

  5. [ストレージの場所] で、[新しい S3 バケットを作成する] を選択すると、新しいバケットが作成されます。新しいバケットを作成すると、CloudTrail によって必要なバケットポリシーが作成され、適用されます。

    注記

    [Use existing S3 bucket] を選択した場合、[Trail log bucket name] のバケットを指定するか、[Browse] を選択してバケットを選択します。バケットポリシーでは、バケットへの書き込み権限を CloudTrail に付与する必要があります。バケットポリシーを手動で編集する方法については、CloudTrail の Amazon S3 バケットポリシー を参照してください。

    ログを見つけやすくするために、新しいフォルダ (プレフィックスとも呼ばれます) を既存のバケットに作成して CloudTrail ログを保存します。プレフィックスを [プレフィックス] に入力します。

  6. [Log file SSE-KMS encryption] で、SSE-S3 を使用する代わりに SSE-KMS を使用してログファイルを暗号化する場合は、[Enabled] を選択します。デフォルトは [Enabled] です。この暗号化タイプの詳細については、「Amazon S3 で管理された暗号化キーによるサーバー側の暗号化 (SSE-S3) を使用したデータの保護」を参照してください。

    SSE-KMS 暗号化を有効にする場合は、[New] または [ Existing] AWS KMS key を選択します。[AWS KMS Alias] で、alias/ MyAliasName フォーマットのエイリアスを指定します。詳細については、「KMS キーを使用するために証跡を更新する」を参照してください。CloudTrail は、AWS KMS マルチリージョンキーもサポートしています。マルチリージョンキーの詳細については、AWS Key Management Service デベロッパーガイドの「マルチリージョンキーを使用する」を参照してください。

    注記

    別のアカウントのキーの ARN を入力することもできます。詳細については、「KMS キーを使用するために証跡を更新する」を参照してください。このキーポリシーは、CloudTrail がキーを使用してログファイルを暗号化し、指定したユーザーが暗号化されていない形式でログファイルを読み取れるようにする必要があります。キーポリシーを手動で編集する方法については、CloudTrail の AWS KMS キーポリシーの設定 を参照してください。

  7. [Additional settings] で、次の操作を行います。

    1. [ログファイル検証を有効にする] で [Enabled] を選択して、S3 バケットにログダイジェストが配信されるようにします。ダイジェストファイルは、ログファイルが CloudTrail に配信された後に変更されていないことを確認するために使用できます。詳細については、「CloudTrail ログファイルの整合性の検証」を参照してください。

    2. バケットにログが配信されるたびに通知を受け取る場合は、[SNS notification delivery] で [Enabled] を選択します。CloudTrail は、1 つのログファイルに複数のイベントを保存します。SNS 通知は、ログファイルごとに送信されます (イベントごとではありません)。詳細については、「CloudTrail の Amazon SNS 通知の設定」を参照してください。

      SNS 通知を有効にすると、[Create a new SNS topic] で、[New] を選択してトピックを作成するか、[Existing] を選択して既存のトピックを使用します。すべてのリージョンに適用される証跡を作成した場合、すべてのリージョンからのログファイル配信を知らせる SNS 通知は、ユーザーが作成した単一の SNS トピックに送信されます。

      [New] を選択した場合、CloudTrail は新しいトピックの名前を指定します。または、自分で名前を入力できます。[Existing] を選択した場合、ドロップダウンリストから SNS トピックを選択します。別のリージョンにあるトピックの ARN を入力したり、適切なアクセス許可を持ったアカウントにあるトピックの ARN を入力することもできます。詳細については、「CloudTrail の Amazon SNS トピックポリシー」を参照してください。

      トピックを作成する場合は、ログファイル配信の通知を受けるトピックを受信登録する必要があります。受信登録は Amazon SNS コンソールから行うことができます。通知頻度の都合上、受信登録については、Amazon SQS キューを使用して通知をプログラムで処理するように設定することをお勧めします。詳細については、Amazon Simple Notification Service 入門ガイドを参照してください。

  8. オプションで、CloudTrail がログファイルを CloudWatch Logs に送信するように CloudTrail を設定するには、[CloudWatch Logs] の [Enabled] を選択します。詳細については、「CloudWatch Logs へのイベントの送信」を参照してください。

    1. CloudWatch Logs との統合を有効にする場合は、[New] を選択して新しいロググループを作成するか、[Existing] を選択して既存のものを使用します。[New] を選択した場合、CloudTrail は新しいロググループの名前を指定します。または、自分で名前を入力できます。

    2. [Existing] を選択した場合、ドロップダウンリストからロググループを選択します。

    3. [New] を選択して、CloudWatch Logs にログを送信するためのアクセス許可のための新しい IAM ロールを作成します。[Existing] を選択して、ドロップダウンリストから既存の IAM ロールを選択します。新しいロールまたは既存のロールのポリシーステートメントは、[ポリシードキュメント] を展開すると表示されます。このロールの詳細については、「CloudTrail がモニタリングに CloudWatch Logs を使用するためのロールポリシードキュメント」を参照してください。

      注記

      証跡を設定する際には、別のアカウントに属している S3 バケットや SNS トピックを選択することもできます。ただし、CloudTrail から CloudWatch Logs ロググループにイベントを配信する場合は、現在のアカウント内に存在するロググループを選択する必要があります。

  9. [タグ] で、1 つまたは複数のカスタムタグ (キーと値のペア) を証跡に追加します。CloudTrail 証跡と CloudTrail ログファイルを含む Amazon S3 バケットの両方を識別するのにタグが役立ちます。その後、CloudTrail リソースのリソースグループを使用できます。詳細については、「AWS Resource Groups」および「証跡タグを使用する理由とは」を参照してください。

  10. [Choose log events] ページで、ログに記録するイベントタイプを選択します。[管理イベント] で、次の操作を行います。

    1. [API activity] で、証跡で記録する対象を [読み取り] イベント、[書き込み] イベント、またはその両方を選択します。詳細については、「管理イベント」を参照してください。

    2. [Exclude AWS KMS events] を選択して AWS Key Management Service (AWS KMS) イベントを、証跡から除外します。デフォルト設定では、すべての AWS KMS イベントが含まれています。

      AWS KMS イベントをログまたは除外するオプションは、証跡の管理イベントをログに記録する場合にのみ使用できます。管理イベントをログに記録しないように選択した場合は、AWS KMS イベントはログに記録されず、AWS KMS イベントログ設定は変更できません。

      通常、AWS KMS、EncryptDecrypt などの GenerateDataKey アクションは、大容量イベント (99% 以上) を生成します。これらのアクションは、[読み取り] イベントとしてログに記録されるようになりました。DisableDeleteScheduleKey などの少量の関連する AWS KMS アクション (通常は AWS KMS イベントボリュームの 0.5% 未満) は、[書き込み]イベントとしてログに記録されます。

      EncryptDecryptGenerateDataKey のようなボリュームの大きなイベントを除外し、DisableDeleteScheduleKey などの関連イベントを記録する場合は、[書き込み] 管理イベントを記録することを選択し、[Exclude AWS KMS events] チェックボックスをオフにします。

    3. [Exclude Amazon RDS Data API events] を選択して、証跡から Amazon Relational Database Service データ API イベントを除外できます。デフォルト設定では、すべての Amazon RDS Data API イベントが含まれています。Amazon RDS Data API イベントの詳細については、Aurora の Amazon RDS Amazon RDS ユーザーガイドの「AWS CloudTrail による Data API コールのログ記録」を参照してください。

  11. データイベントをログに記録するには、[データイベント] を選択します。

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

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

    注記

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

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

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

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

  14. 事前定義済みのログセレクターテンプレートを適用し、別のデータイベントリソースタイプを追加しない場合は、ステップ 18 へ進みます。カスタムログセレクタテンプレートを適用するには、次のステップに進みます。

  15. カスタムログセレクタテンプレートを作成するには、[ログセレクタテンプレート] ドロップダウンリストで、 [Custom] を選択します。

  16. オプションで、カスタムログセレクタテンプレートの名前を入力します。

  17. [Advanced event selectors] で、データイベントをログに記録する特定のリソースの式を作成します。

    1. 次のフィールドから選択します。配列 (複数の値) を受け入れるフィールドの場合、CloudTrail は値の間に OR を追加します。

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

      • eventName - eventName は任意の演算子を使用できます。これを使用して、CloudTrail に記録されるデータイベント (PutBucketPutItem、または GetSnapshotBlock) を含めるまたは除外します。このフィールドには、カンマ区切りで複数の値を設定できます。

      • resources.type - AWS Management Console では、このフィールドは発生しません。これは、[Data event type] ドロップダウンリストでデータイベントタイプの選択によりすでに入力されているためです。AWS CLI および SDK で、resources.type等号演算子のみを使用でき、値は以下のいずれかになります。

        • AWS::S3::Object

        • AWS::Lambda::Function

        • AWS::DynamoDB::Table

        • AWS::S3Outposts::Object

        • AWS::ManagedBlockchain::Node

        • AWS::S3ObjectLambda::AccessPoint

        • AWS::EC2::Snapshot

        • AWS::S3::AccessPoint

        • AWS::DynamoDB::Stream

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

        例えば、resources.typeAWS::S3::Object に等しい場合、ARN は次のいずれかの形式である必要があります。特定の S3 バケット内のすべてのオブジェクトのすべてのデータイベントをログ記録するには、StartsWith 演算子を使用し、一致する値としてバケット ARN のみを含めます。末尾のスラッシュは意図的です。除外しないでください。

        arn:partition:s3:::bucket_name/ arn:partition:s3:::bucket_name/object_or_file_name/

        resources.typeAWS::Lambda::Function と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。

        arn:partition:lambda:region:account_ID:function:function_name

        resources.typeAWS::DynamoDB::Table と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。

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

        resources.typeAWS::S3Outposts::Object と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。

        arn:partition:s3-outposts:region:account_ID:object_path

        resources.typeAWS::ManagedBlockchain::Node と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。

        arn:partition:managedblockchain:region:account_ID:nodes/node_ID

        resources.typeAWS::S3ObjectLambda::AccessPoint と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。

        arn:partition:s3-object-lambda:region:account_ID:accesspoint/access_point_name

        resources.typeAWS::EC2::Snapshot と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。

        arn:partition:ec2:region::snapshot/snapshot_ID

        resources.typeAWS::S3::AccessPoint と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。S3 アクセスポイントのすべてのオブジェクトでイベントをログ記録するには、アクセスポイント ARN のみを使用し、オブジェクトパスを含めず、StartsWith または NotStartsWith 演算子を使用します

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

        resources.typeAWS::DynamoDB::Stream と等しく、演算子が等号または不等号に設定されている場合、ARN は次の形式である必要があります。

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

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

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

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

      注記

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

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

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

    4. カスタムセレクタテンプレートへの変更を保存するには、[Next] をクリックします。別のログセレクタテンプレートを選択しないでください。また、このページを離れると、カスタムセレクタが失われます。

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

  18. 証跡に CloudTrail Insights イベントをログに記録させたい場合は、[Insights イベント] を選択します。

    [Event type] で、[Insights events] を選択します。[Write] 管理イベントをログ記録して、Insights イベントをログに記録している必要があります。

    CloudTrail Insights が以上なアクティビティの管理 [書き込み] イベントを分析し、異常が検出された場合にイベントをログに記録します。デフォルトでは、証跡はインサイトイベントを記録しません。インサイトイベントの詳細については、「証跡の Insights イベントの記録」を参照してください。インサイトイベントの記録には追加料金が適用されます。CloudTrail の料金については、「AWS CloudTrail 料金」を参照してください。

    Insights イベントは、証跡詳細ページの [ストレージの場所] 領域で指定されている同じ S3 バケットの、/CloudTrail-Insight という名前の異なるフォルダへ配信されます。CloudTrail によって新しいプレフィックスが作成されます。たとえば、現在の送信先 S3 バケットの名前が S3bucketName/AWSLogs/CloudTrail/ の場合、新しいプレフィックスが付いた S3 バケットの名前は S3bucketName/AWSLogs/CloudTrail-Insight/ になります。

  19. ログに記録するイベントタイプの選択が終了したら、[Next] を選択します。

  20. [Review and create] ページで選択内容を確認します。[Edit] を選択して、そのセクションに表示される証跡設定を変更します。証跡を作成する準備ができたら、[Create trail] を選択します。

  21. 新しい証跡が [Trails (証跡)] ページに表示されます。[Trails (証跡)] ページでは、すべてのリージョンを対象に、アカウント内の証跡が表示されます。約 15 分で CloudTrail によってログファイルが発行され、アカウント内で実行された AWS API コールが表示されます。ユーザーは、指定した S3 バケット内のログファイルを確認することができます。インサイトイベントログを有効にしていて、異常なアクティビティが検出された場合、CloudTrail が最初のインサイトイベントを配信するまでに最大 36 時間かかることがあります。

    注記

    CloudTrail は、通常、API コールから平均 15 分以内にログを配信します。この時間は保証されません。詳細については、「AWS CloudTrail サービスレベルアグリーメント」をご覧ください。

次のステップ

証跡を作成したら、証跡に戻って次の変更を加えることができます。