CloudWatch Logs へのイベントの送信 - AWS CloudTrail

CloudWatch Logs へのイベントの送信

イベントを CloudWatch Logs に送信するように証跡を設定すると、CloudTrail は証跡設定に一致するイベントのみを送信します。たとえば、データイベントのみを送信するように設定した場合、証跡はデータイベントのみを CloudWatch Logs ロググループに送信します。CloudTrail は、CloudWatch Logs へのデータ、インサイト、および管理イベントの送信をサポートします。詳細については、「CloudTrail ログファイルの使用」を参照してください。

CloudWatch Logs のロググループにイベントを送信するには

コンソールを使用して CloudWatch Logs のモニタリングを設定する

AWS Management Console を使用して、証跡から CloudWatch Logs にモニタリング用のイベントを送信するよう設定できます。

ロググループを作成するか、既存のロググループを指定する

CloudTrail では、ログイベントの配信エンドポイントとして、CloudWatch Logs ロググループが使用されます。ユーザーは、ロググループを作成するか、既存のロググループを指定することができます。

ロググループを作成または指定するには

  1. CloudWatch Logs 統合を設定するのに十分なアクセス許可を持つ管理 IAM ユーザーまたはロールを使用してログインしていることを確認してください。詳細については、「CloudTrail コンソールで Amazon CloudWatch Logs 情報を表示および設定するアクセス許可を付与する」を参照してください。

  2. https://console.aws.amazon.com/cloudtrail/ で CloudTrail コンソールを開きます。

  3. 証跡名を選択します。すべてのリージョンに適用される証跡を選択した場合は、その証跡の作成元のリージョンにリダイレクトされます。ロググループを作成することもできますし、証跡と同じリージョン内の既存のロググループを選択することもできます。

    注記

    すべてのリージョンに適用される証跡では、すべてのリージョンのログファイルが、指定された CloudWatch Logs ロググループに送信されます。

  4. [CloudWatch Logs] で、[設定]を選択します。

  5. [New or existing log group] にロググループ名を入力し、[Continue] を選択します。詳細については、「CloudTrail の CloudWatch ロググループとログストリームの名前付け」を参照してください。

  6. IAM ロールについては、既存のロールを選択するか、新しいロールを作成します。IAM ロールを作成する場合は、ロール名を入力します。

  7. [Allow] を選択して、CloudWatch Logs ログストリームを作成するアクセス許可とイベントを配信する権限を CloudTrail に付与します。

IAM ロールを指定する

ログストリームへのイベント配信のために CloudTrail に割り当てるロールを指定できます。

ロールを指定するには

  1. デフォルトでは、CloudTrail_CloudWatchLogs_Role が指定されます。デフォルトのロールポリシーには、指定したロググループ内に CloudWatch Logs ログストリームを作成し、そのログストリームに CloudTrail イベントを配信するための必要なアクセス許可がアタッチされています。

    注記

    組織の証跡のロググループにこのロールを使用する場合は、ロールを作成した後に手動でポリシーを変更する必要があります。詳細については、このポリシー例と「組織の証跡の作成」を参照してください。

    1. ロールを検証するには、AWS Identity and Access Management コンソールへ移動します (https://console.aws.amazon.com/iam/)。

    2. [Roles]、[CloudTrail_CloudWatchLogs_Role] の順に選択します。

    3. ロールポリシーの内容を確認するには、[View Policy Document] を選択します。

  2. 別のロールを指定することもできますが、そのロールを使用して CloudWatch Logs にイベントを送信する場合は、必要なロールポリシーを既存のロールにアタッチする必要があります。詳細については、「CloudTrail がモニタリングに CloudWatch Logs を使用するためのロールポリシードキュメント」を参照してください。

CloudWatch コンソールでのイベントの表示

CloudWatch Logs ロググループにイベントを送信するように証跡を設定したら、CloudWatch コンソールでイベントを表示することができます。CloudTrail は、通常、イベントを API コールからロググループへ平均 15 分以内に配信します。この時間は保証されません。詳細については、「AWS CloudTrail サービスレベルアグリーメント」をご覧ください。

CloudWatch コンソールでのイベントを表示するには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. [ログ] を選択します。

  3. 証跡用に指定したロググループを選択します。

  4. ログストリーム名を選択します。

  5. 証跡によって記録されたイベントの詳細を表示するには、イベントを選択します。

注記

CloudWatch コンソールの [時刻 (UTC)] 列には、イベントがロググループに配信された時刻が表示されます。イベントが CloudTrail によってログに記録された実際の時刻を確認するには、eventTime フィールドを参照してください。

AWS CLI を使用して CloudWatch Logs のモニタリングを設定する

AWS CLI を使用して、CloudTrail から CloudWatch Logs にモニタリング用のイベントを送信するよう設定できます。

ロググループを作成する

  1. 既存のロググループがない場合は、CloudWatch Logs create-log-group コマンドを使用して、ログイベントの配信エンドポイントとしての CloudWatch Logs ロググループを作成します。

    aws logs create-log-group --log-group-name name

    次の例では、CloudTrail/logs という名前のロググループが作成されます。

    aws logs create-log-group --log-group-name CloudTrail/logs
  2. ロググループの Amazon リソースネーム (ARN) を取得します。

    aws logs describe-log-groups

ロールの作成

CloudWatch Logs ロググループにイベントを送信できるようにするための、CloudTrail 用のロールを作成します。IAM の create-role コマンドには、2 つのパラメータがあります。1 つはロール名で、もう 1 つは、JSON 形式のロールポリシー割り当てドキュメントへのファイルパスです。使用するポリシードキュメントによって、CloudTrail に AssumeRole アクセス許可が付与されます。create-role コマンドを実行すると、必要なアクセス許可を持ったロールが作成されます。

ポリシードキュメントを含んだ JSON ファイルを作成するには、テキストエディターを開き、assume_role_policy_document.json という名前のファイルに次のポリシーコンテンツを保存します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

次のコマンドを実行して、AssumeRole アクセス許可を使用した CloudTrail 用のロールを作成します。

aws iam create-role --role-name role_name --assume-role-policy-document file://<path to assume_role_policy_document>.json

コマンドが完了したら、出力内のロール ARN を書き留めておきます。

ポリシードキュメントを作成する

CloudTrail 用に、次のロールポリシードキュメントを作成します。指定したロググループ内に CloudWatch Logs ログストリームを作成し、そのログストリームに CloudTrail イベントを配信するための必要なアクセス許可は、このドキュメントによって CloudTrail に付与されます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] } ] }

role-policy-document.json という名前のファイルにポリシードキュメントを保存します。

組織の証跡にも使用される可能性があるポリシーを作成している場合は、少し異なる方法で構成する必要があります。例えば、以下のポリシーは、指定したロググループで CloudWatch Logs ログストリームを作成し、 AWS アカウント 111111111111、およびo-exampleorgid の ID を持つ AWS Organizations 組織に適用される、アカウント 111111111111 で作成された組織証跡の両方の CloudTrail イベントを配信するアクセス許可を CloudTrail に付与します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] } ] }

組織の証跡の詳細については、「組織の証跡の作成」を参照してください。

次のマンドを実行して、ロールにポリシーを適用します。

aws iam put-role-policy --role-name role_name --policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>.json

証跡を更新する

CloudTrail の update-trail コマンドを使用して、証跡のロググループとロール情報を更新します。

aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn log_group_arn --cloud-watch-logs-role-arn role_arn

AWS CLI コマンドの詳細については、「AWS CloudTrail Command Line Reference」を参照してください。

Limitation

CloudWatch Logs と CloudWatch Events ごとに最大 256 KB のイベントサイズを許可する。ほとんどのサービスイベントの最大サイズは 256 KB ですが、一部のサービスにはまだこれより大きなイベントがあります。CloudTrail は、これらのイベントを CloudWatch Logs や CloudWatch Events に送信しません。

CloudTrail イベントバージョン 1.05 で開始し、イベントの最大サイズは 256 KB です。これは、悪意のある物による悪用を防止し、イベントを他の AWS サービス (CloudWatch Logs や CloudWatch Events など) が消費することを許可します。