コンソールで組織の証跡を作成する
CloudTrail コンソールから組織の証跡を作成するには、十分な権限を持つ管理者または委任された管理者アカウントのユーザーまたはロールとしてコンソールにサインインする必要があります。管理アカウントまたは委任された管理者アカウントでサインインしていない場合、CloudTrail コンソールで証跡を作成または編集するときに、組織に証跡を適用するオプションは表示されません。
AWS マネジメントコンソール で組織の証跡を作成するには
AWS マネジメントコンソール にサインインし、CloudTrail コンソールを開きます (https://console.aws.amazon.com/cloudtrail/
)。 組織の証跡を作成するには、十分な権限 を持つ管理アカウントまたは委任された管理者アカウントの IAM ID を使用してサインインする必要があります。
-
[Trails] (証跡) を選択し、[Create trail] (証跡の作成) を選択します。
-
[Create Trail] (証跡の作成) ページの [Trail name] (証跡名) に証跡の名前を入力します。詳細については、「CloudTrail リソース、Amazon S3 バケット、KMS キーの命名要件」を参照してください。
-
[組織内のすべてのアカウントに対して有効にする] を選択します。管理アカウントまたは委任された管理者アカウントのユーザーまたはロールでコンソールにサインインした場合にのみ、このオプションが表示されます。組織の証跡を正しく作成するには、ユーザーまたはロールに十分なアクセス許可があることを確認してください。
-
[ストレージの場所] の [S3 バケットを作成する] を選択すると、新しいバケットが作成されます。新しいバケットを作成すると、CloudTrail によって必要なバケットポリシーが作成され、適用されます。
注記
[Use existing S3 bucket] を選択した場合、[Trail log bucket name] のバケットを指定するか、[Browse] を選択してバケットを選択します。任意のアカウントに属するバケットを選択できますが、バケットポリシーは書き込むための許可を CloudTrail に付与する必要があります。バケットポリシーを手動で編集する方法については、CloudTrail の Amazon S3 バケットポリシー を参照してください。
ログを見つけやすくするために、新しいフォルダ (プレフィックスとも呼ばれます) を既存のバケットに作成して CloudTrail ログを保存します。プレフィックスを [プレフィックス] に入力します。
-
[Log file SSE-KMS encryption] (ログファイルの SSE-KMS 暗号化) で、SSE-S3 暗号化を使用する代わりに SSE-KMS 暗号化を使用してログファイルとダイジェストファイルを暗号化する場合は、[Enabled] (有効) を選択します。デフォルトは [Enabled] です。SSE-KMS 暗号化を有効にしない場合、ログファイルとダイジェストファイルは SSE-S3 暗号化を使用して暗号化されます。SSE-KMS 暗号化の詳細については、「AWS Key Management Service (SSE-KMS) によるサーバー側の暗号化の使用」を参照してください。SSE-S3 暗号化の詳細については、「Amazon S3 が管理する暗号化キーによるサーバー側の暗号化 (SSE−S3) の使用」を参照してください。
SSE-KMS 暗号化を有効にする場合は、[New] または [Existing] AWS KMS key を選択します。[AWS KMS Alias] で、
alias/MyAliasNameフォーマットのエイリアスを指定します。詳細については、「コンソールで KMS キーを使用するようにリソースを更新する」を参照してください。注記
別のアカウントのキーの ARN を入力することもできます。詳細については、「コンソールで KMS キーを使用するようにリソースを更新する」を参照してください。このキーポリシーは、CloudTrail がキーを使用してログファイルとダイジェストファイルを暗号化できるようにし、指定したユーザーが暗号化されていない形式でログファイルまたはダイジェストファイルを読み取れるようにする必要があります。キーポリシーを手動で編集する方法については、CloudTrail の AWS KMS キーポリシーの設定 を参照してください。
-
[Additional settings] で、次の操作を行います。
-
[ログファイル検証を有効にする] で [Enabled] を選択して、S3 バケットにログダイジェストが配信されるようにします。ダイジェストファイルは、ログファイルが CloudTrail に配信された後に変更されていないことを確認するために使用できます。詳細については、「CloudTrail ログファイルの整合性の検証」を参照してください。
-
バケットにログが配信されるたびに通知を受け取る場合は、[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 デベロッパーガイド」の「Amazon SNS の使用開始」を参照してください。
-
-
オプションで、CloudTrail がログファイルを CloudWatch Logs に送信するように CloudTrail を設定するには、[CloudWatch Logs] の [Enabled] を選択します。詳細については、「CloudWatch Logs へのイベントの送信」を参照してください。
注記
管理アカウントのみが、コンソールを使用して、組織の証跡用に CloudWatch Logs のロググループを設定できます。委任された管理者は、AWS CLI や CloudTrail の
CreateTrailまたはUpdateTrailAPI オペレーションを使用して CloudWatch Logs のロググループを設定できます。-
CloudWatch Logs との統合を有効にする場合は、[New] を選択して新しいロググループを作成するか、[Existing] を選択して既存のものを使用します。[New] を選択した場合、CloudTrail は新しいロググループの名前を指定します。または、自分で名前を入力できます。
-
[Existing] を選択した場合、ドロップダウンリストからロググループを選択します。
-
[New] を選択して、CloudWatch Logs にログを送信するためのアクセス許可のための新しい IAM ロールを作成します。[Existing] を選択して、ドロップダウンリストから既存の IAM ロールを選択します。新しいロールまたは既存のロールのポリシーステートメントは、[ポリシードキュメント] を展開すると表示されます。このロールの詳細については、「CloudTrail がモニタリングに CloudWatch Logs を使用するためのロールポリシードキュメント」を参照してください。
注記
証跡を設定する際には、別のアカウントに属している S3 バケットや Amazon SNS トピックを選択することもできます。ただし、CloudTrail から CloudWatch Logs ロググループにイベントを配信する場合は、現在のアカウント内に存在するロググループを選択する必要があります。
-
-
[タグ] セクションでは、証跡を特定、ソート、および制御できるようにするタグキーのペアを最大 50 個追加することができます。CloudTrail 証跡と CloudTrail ログファイルを含む Amazon S3 バケットの両方を識別するのにタグが役立ちます。その後、CloudTrail リソースのリソースグループを使用できます。詳細については、「AWS Resource Groups」および「タグ」を参照してください。
-
[Choose log events] ページで、ログに記録するイベントタイプを選択します。[管理イベント] で、次の操作を行います。
-
[API activity] で、証跡で記録する対象を [読み取り] イベント、[書き込み] イベント、またはその両方を選択します。詳細については、「管理イベント」を参照してください。
-
[Exclude AWS KMS events] を選択して AWS Key Management Service (AWS KMS) イベントを、証跡から除外します。デフォルト設定では、すべての AWS KMS イベントが含まれています。
AWS KMS イベントをログまたは除外するオプションは、証跡の管理イベントをログに記録する場合にのみ使用できます。管理イベントをログに記録しないように選択した場合は、AWS KMS イベントはログに記録されず、AWS KMS イベントログ設定は変更できません。
通常、AWS KMS、
Encrypt、DecryptなどのGenerateDataKeyアクションは、大容量イベント (99% 以上) を生成します。これらのアクションは、[読み取り] イベントとしてログに記録されるようになりました。Disable、Delete、およびScheduleKeyなどの小容量の関連する AWS KMS アクション (通常、AWS KMS イベントボリュームの 0.5% 未満を占める) は、[Write] (書き込み) イベントとしてログに記録されます。Encrypt、Decrypt、GenerateDataKeyのようなボリュームの大きなイベントを除外し、Disable、Delete、ScheduleKeyなどの関連イベントを記録する場合は、[書き込み] 管理イベントを記録することを選択し、[Exclude AWS KMS events] チェックボックスをオフにします。 -
[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 コールのログ記録」を参照してください。
-
-
データイベントをログに記録するには、[データイベント] を選択します。データイベントのログ記録には追加料金が適用されます。詳細については、AWS CloudTrail の料金
を参照してください。 -
重要
ステップ 12 ~ 16 は、デフォルトである高度なイベントセレクターを使用してデータイベントを設定するためのものです。高度なイベントセレクターでは、より多くのリソースタイプを設定し、証跡でキャプチャするデータイベントをきめ細かく制御できます。ネットワークアクティビティイベントをログに記録する予定がある場合は、高度なイベントセレクタを使用する必要があります。ベーシックなイベントセレクターを使用する場合は、基本的なイベントセレクターを使用してデータイベント設定を構成する のステップを完了してから、この手順のステップ 17 に戻ってください。
[リソースタイプ] で、データイベントをログ記録するリソースのタイプを選択します。使用可能なリソースタイプの詳細については、「データイベント」を参照してください。
-
ログセレクタテンプレートを選択します。定義済みテンプレートを選択するか、[カスタム] を選択して独自のイベントコレクション条件を定義できます。
次の定義済みテンプレートから選択できます。
-
[すべてのイベントをログに記録する] – このテンプレートを選択すると、すべてのイベントを記録します。
-
[読み取りイベントのみをログに記録する] – このテンプレートを選択すると、読み取りイベントのみを記録します。読み取り専用イベントは、
Get*またはDescribe*イベントなど、リソースの状態を変更しないイベントです。 -
[書き込みイベントのみをログに記録する] – このテンプレートを選択すると、書き込みイベントのみを記録します。書き込みイベントは、
Put*、Delete*、またはWrite*イベントなどのリソース、属性、またはアーティファクトを追加、変更、または削除します。 -
[AWS マネジメントコンソール イベントのみをログに記録する] – このテンプレートを選択すると、AWS マネジメントコンソール から発生したイベントのみを記録します。
-
[AWS のサービス によって開始されたイベントを除外する] – このテンプレートを選択すると、
eventTypeがAwsServiceEventの AWS のサービス イベントと、AWS のサービス にリンクされたロール (SLR) で開始されたイベントを除外できます。
注記
S3 バケットの事前定義済みテンプレートを選択すると、現在の AWS アカウント内のすべてのバケットや、証跡作成後に作成する任意のバケットで、データイベントログ記録を行うことができるようになります。これにより、アクティビティが別の AWS アカウントに属するバケットで実行されている場合も含め、AWS アカウント内のすべての IAM アイデンティティによって実行されるデータイベントのアクティビティのログ記録も行うことができます。
証跡が 1 つのリージョンのみに適用される場合、すべての S3 バケットをログ記録する事前定義済みテンプレートを選択すると、同じリージョン内のすべてのバケット、およびそのリージョンで後に作成するバケットに対して、データイベントのログ記録が可能になります。AWS アカウント内の他のリージョンの Amazon S3 バケットのデータイベントは記録されません。
マルチリージョン証跡を作成している場合は、Lambda 関数の事前定義済みテンプレートを選択すると、AWS アカウントの現時点のすべての関数や、証跡作成後に任意のリージョンに作成する可能性のある Lambda 関数のデータイベントのログ記録が有効になります。単一リージョンで証跡を作成している場合は (AWS CLI を使用して作成)、この選択によって、AWS アカウントの対象リージョンの現時点のすべての関数や、証跡作成後に対象リージョンに作成する可能性のある Lambda 関数のデータイベントのログ記録が有効になります。他のリージョンで作成された Lambda 関数のデータイベントのログ記録は有効になりません。
すべての関数のデータイベントのログ記録を行うと、アクティビティが他の AWS アカウントに属する関数で実行されている場合も含め、AWS アカウント内のすべての IAM アイデンティティが実行するデータイベントのアクティビティのログ記録も有効になります。
-
-
(オプション) [セレクタ名] に、セレクタを識別する名前を入力します。セレクタ名は、「2 つの S3 バケットだけのデータイベントを記録する」など、高度なイベントセレクタに関する説明的な名前です。セレクタ名は、拡張イベントセレクタに「
Name」と表示され、[JSON ビュー] を展開すると表示されます。 -
[カスタム] を選択した場合、[高度なイベントセレクタ] で高度なイベントセレクタフィールドの値に基づいて式を構築します。
注記
セレクタは、
*のようなワイルドカードの使用をサポートしていません。複数の値を 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 のサービス のイベント を除外できます。イベントタイプのリストについては、管理、データ、ネットワークアクティビティイベントの CloudTrail レコードコンテンツ の「eventType」を参照してください。 -
[sessionCredentialFromConsole] – AWS マネジメントコンソールセッションから発生したイベントを含めるか、除外します。このフィールドは、
trueの値で [次と等しい] または [次と等しくない] に設定できます。 -
[userIdentity.arn] – 特定の IAM アイデンティティによって実行されたアクションのイベントを含めるか、除外します。詳細については、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 を指定します。
-
-
データイベントをログに記録するリソースタイプを追加するには、[データイベントタイプの追加] を選択します。ステップ 12 からこのステップまでを繰り返し、リソースタイプの高度なイベントセレクタを設定します。
-
ネットワークアクティビティイベントをログに記録するには、[ネットワークアクティビティイベント] を選択します。ネットワークアクティビティイベントにより、VPC エンドポイント所有者は、プライベート VPC から AWS のサービスへの VPC エンドポイントを使用して行われた AWS API コールを記録することができます。データイベントのログ記録には追加料金が適用されます。詳細については、AWS CloudTrail の料金
を参照してください。 ネットワークアクティビティイベントをログに記録するには、以下を実行します。
-
[ネットワークアクティビティイベントソース] から、ネットワークアクティビティイベントのソースを選択します。
-
[Log selector template] (ログセレクタテンプレート) でテンプレートを選択します。すべてのネットワークアクティビティイベントをログに記録したり、すべてのネットワークアクティビティアクセス拒否イベントをログに記録したり、[カスタム] を選択してカスタムログセレクタを構築し、
eventNameやvpcEndpointIdなどの複数のフィールドでフィルタリングすることができます。 -
(オプション) セレクターを識別する名前を入力します。セレクタ名は、高度なイベントセレクタに[名前] として表示され、[JSON ビュー] を展開すると表示されます。
-
[高度なイベントセレクタ] で、[フィールド]、[演算子]、[値] の値を選択して式を作成します。事前定義済みのログテンプレートを使用している場合は、このステップをスキップできます。
-
ネットワークアクティビティイベントを除外するか含める場合は、コンソールの次のフィールドから選択できます。
-
eventName–では任意の演算子を使用できます。。eventNameこれを使用して、CreateKeyなどの任意のイベントを含めるか除外することができます。 -
errorCode– エラーコードをフィルタリングするために使用できます。現在サポートされているerrorCodeは、VpceAccessDeniedのみです。 -
vpcEndpointId– オペレーションが通過した VPC エンドポイントを識別します。vpcEndpointIdでは任意の演算子を使用できます。
-
-
各フィールドについて、[条件の追加] を選択して、必要な条件をすべて追加します。すべての条件に対して最大 500 個の指定値を設定できます。
-
[フィールドの追加] を選択し、必要に応じてフィールドを追加します。エラーを回避するには、フィールドに競合する値や重複する値を設定しないでください。
-
-
ネットワークアクティビティイベントのログを記録する別のイベントソースを追加するには、[ネットワークアクティビティイベントセレクタの追加] を選択します。
-
オプションで、[JSON view] (JSON ビュー) を展開して、高度なイベントセレクタを JSON ブロックとして表示します。
-
-
証跡に CloudTrail Insights イベントをログに記録させたい場合は、[Insights イベント] を選択します。
[Event type] で、[Insights events] を選択します。Insights イベントで、API コールレート、API エラーレート、または両方を選択します。[API コール率] の Insights イベントをログに記録するには、[Write] 管理イベントをログ記録している必要があります。[API エラー率] の Insights イベントをログに記録するには、[Read] または [Write] 管理イベントをログ記録している必要があります。
CloudTrail Insights が異常なアクティビティの管理イベントを分析し、異常が検出されたときにイベントをログに記録します。デフォルトでは、証跡は Insights イベントを記録しません。Insights トイベントの詳細については、「CloudTrail Insights の使用」を参照してください。Insights イベントの記録には追加料金が適用されます。CloudTrail の料金については、「AWS CloudTrail 料金
」を参照してください。 Insights イベントは、証跡詳細ページの [ストレージの場所] 領域で指定されている同じ S3 バケットの、
/CloudTrail-Insightという名前の異なるフォルダへ配信されます。CloudTrail によって新しいプレフィックスが作成されます。たとえば、現在の送信先 S3 バケットの名前がamzn-s3-demo-destination-bucket/AWSLogs/CloudTrail/の場合、新しいプレフィックスが付いた S3 バケットの名前はamzn-s3-demo-destination-bucket/AWSLogs/CloudTrail-Insight/になります。 -
ログに記録するイベントタイプの選択が終了したら、[Next] を選択します。
-
[Review and create] ページで選択内容を確認します。[Edit] を選択して、そのセクションに表示される証跡設定を変更します。証跡を作成する準備ができたら、[Create trail] を選択します。
-
新しい証跡が [Trails] (証跡) ページに表示されます。組織の証跡がすべてのメンバーアカウントのすべての有効になっているリージョンで作成されるまでに、最大で 24 時間かかることがあります。[Trails (証跡)] ページでは、すべてのリージョンを対象に、アカウント内の証跡が表示されます。約 5 分で、CloudTrail がログファイルを発行し、組織内で実行された AWS API コールが表示されます。ユーザーは、指定した Amazon S3 バケット内のログファイルを確認することができます。
注記
証跡の作成後に証跡名を変更することはできません。ただし、証跡を削除して新しい証跡を作成することは可能です。
次のステップ
証跡を作成したら、証跡に戻って次の変更を加えることができます。
-
証跡の設定を編集することによって変更します。詳細については、「CloudTrail コンソールで証跡を更新する」を参照してください。
-
必要に応じて、メンバーアカウント内の特定のユーザーが組織のログファイルを読み取れるように Amazon S3 バケットを設定します。詳細については、「AWS アカウント間での CloudTrail ログファイルを共有する」を参照してください。
-
ログファイルを CloudWatch Logs に配信するように CloudTrail を設定します。詳細については、組織の証跡の作成を準備する の「CloudWatch Logs へのイベントの送信」および「CloudWatch Logs 項目」を参照してください。
注記
管理アカウントのみが、組織の証跡用の CloudWatch Logs ロググループを設定できます。
-
テーブルを作成し、Amazon Athena でのクエリの実行に使用して、AWS サービスアクティビティを分析します。詳細については、Amazon Athena User Guide (Amazon Athena ユーザーガイド)の「Creating a Table for CloudTrail Logs in the CloudTrail Console (CloudTrail コンソールで CloudTrail ログのテーブルの作成)」を参照してください。
-
証跡にカスタムタグ (キーと値のペア) を追加する。
-
別の組織の証跡を作成するには、[Trails] (証跡) ページに戻り、[Add new trail] (新しい証跡の追加) を選択します。
注記
証跡を設定する際には、別のアカウントに属している Amazon S3 バケットや SNS トピックを選択することもできます。ただし、CloudTrail から CloudWatch Logs ロググループにイベントを配信する場合は、現在のアカウント内に存在するロググループを選択する必要があります。