コンソールで組織の証跡を作成する - AWS CloudTrail

コンソールで組織の証跡を作成する

CloudTrail コンソールで組織証跡を作成するには、管理アカウントの IAM ユーザーまたはロールを使用して、十分なアクセス許可がある状態でサインインする必要があります。管理アカウントでサインインしていない場合、CloudTrail コンソールで証跡を作成または編集するときに、証跡を組織に適用するオプションは表示されません。

組織の証跡をさまざまな方法で設定することができます。例えば、以下のことが可能です。

  • デフォルトでは、コンソールで証跡を作成するときに、証跡がすべてのリージョンをログに記録します。アカウント内のすべてのリージョンをログに記録することをお勧めします。単一リージョンの証跡を作成するには、 AWS CLI を使用します。詳細については、「CloudTrail の仕組み」を参照してください。

  • 証跡を組織に適用するかどうかを指定します。デフォルトでは適用されません。組織の証跡を作成するには、このオプションを選択する必要があります。

  • 組織の証跡用のログファイルを受信するために使用する Amazon S3 バケットを指定します。管理アカウントの既存の Amazon S3 バケットを選択するか、組織の証跡用に特別に作成することができます。

  • 管理イベントとデータイベントについて、ログ記録の対象を [読み取り] イベントにするか、[書き込み] イベントにするか、それともすべてのイベントにするかを指定する。CloudTrail Insights イベントは、管理イベントでのみ記録されます。書き込み管理イベントをログに記録する必要があります。管理アカウントのリソースのログデータイベントを指定するには、コンソールのリストからそれらを選択します。データイベント記録を有効にする各リソースの ARM を指定した場合は、メンバーアカウントで指定できます。詳細については、「データイベント」を参照してください。

AWS Management Console で組織の証跡を作成するには

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

    組織の証跡を作成するには、十分なアクセス許可を使用して、管理アカウントのユーザー、ロール、またはルートアカウントとしてサインインする必要があります。

  2. [Trails] (証跡) を選択し、[Create trail] (証跡の作成) を選択します。

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

  4. [組織内のすべてのアカウントに対して有効にする] を選択します。管理アカウントの 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 キーを使用するために証跡を更新する」を参照してください。

    注記

    別のアカウントのキーの 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 イベントログ設定は変更できません。

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

      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 つのリージョンのみに適用される場合、[アカウントのすべての 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. ログに記録するイベントタイプの選択が終了したら、[Next] を選択します。

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

  17. 新しい証跡が [Trails] (証跡) ページに表示されます。組織の証跡がすべてのメンバーアカウントのすべてのリージョンで作成されるまでに、最大 24 時間かかることがあります。[Trails] (証跡) ページでは、すべてのリージョンを対象に、アカウント内の証跡が表示されます。約 15 分で CloudTrail によってログファイルが発行され、組織内で実行された AWS API コールが表示されます。ユーザーは、指定した Amazon S3 バケット内のログファイルを確認することができます。

注記

証跡の作成後に証跡名を変更することはできません。ただし、証跡を削除して新しい証跡を作成することは可能です。

次のステップ

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

注記

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