コンソールで設定項目用にイベントデータストアを作成する - AWS CloudTrail

コンソールで設定項目用にイベントデータストアを作成する

AWS Config設定項目を含めるイベントデータストアを作成し、そのイベントデータストアを使用して、本番環境に対する非準拠の変更を調査できます。イベントデータストアを使用すると、準拠していないルールが、その変更に関連付けられているユーザーおよびリソースと関連するようにできます。設定項目は、アカウントに存在するサポート対象の AWS リソースの属性の特定時点のビューを表します。AWS Config は、記録しているリソースタイプの変更を検出するたびに、設定項目を作成します。また、AWS Config は、設定スナップショットがキャプチャされるときにも設定項目を作成します。

AWS Config と CloudTrail Lake の両方を使用して、設定項目に対してクエリを実行できます。AWS Config を使用して、1 つの AWS アカウント と AWS リージョン の設定プロパティ、または複数のアカウントとリージョンにまたがる設定プロパティに基づいて、AWS のリソースの現在の設定状態をクエリすることができます。対照的に、CloudTrail Lake を使用すると、CloudTrail イベント、設定項目、ルール評価など、さまざまなデータソースでクエリを実行できます。CloudTrail Lake クエリは、リソース設定やコンプライアンス履歴など、すべての AWS Config 設定項目を対象とします。

設定項目のイベントデータストアを作成しても、既存の AWS Config の高度なクエリや設定済みの AWS Config アグリゲーターに影響はありません。AWS Config を使用して高度なクエリを引き続き実行でき、AWS Config は履歴ファイルを S3 バケットに配信し続けます。

CloudTrail Lake のイベントデータストアには料金が発生します。イベントデータストアを作成する際に、イベントデータストアに使用する料金オプションを選択します。料金オプションによって、イベントの取り込みと保存にかかる料金、および、そのイベントデータストアのデフォルトと最長の保持期間が決まります。CloudTrail 料金の詳細については、 ユーザーガイドの「AWS CloudTrail の料金」および「CloudTrail Lake のコスト管理」を参照してください。

制限

設定項目のイベントデータストアには、次の制限が適用されます。

  • カスタム設定項目のためのサポートはありません

  • 高度なイベントセレクタを使用したイベントフィルタリングのためのサポートはありません

前提条件

イベントデータストアを作成する前に、すべてのアカウントとリージョンの AWS Config 記録を設定します。AWS Systems Manager の一機能である Quick Setup を使用すると、AWS Config による設定レコーダーを迅速に作成できます。

注記

AWS Config で設定の記録が開始されると、サービスの利用料金が発生します。料金の詳細については、「AWS Config 料金表」を参照してください。設定レコーダーの管理については、「AWS Config デベロッパーガイド]の「設定レコーダーの管理」を参照してください。

また、次のアクションも推奨されますが、イベントデータストアの作成には必須ではありません。

  • 設定スナップショット (リクエストした場合) と設定履歴を受け取るように Amazon S3 バケットを設定する。スナップショットの詳細については、「AWS Config デベロッパーガイド」の「配信チャネルの管理」と「Amazon S3 バケットへの設定スナップショットの配信」を参照してください。

  • 記録済みのリソースタイプのコンプライアンス情報を評価するために AWS Config で使用するルールを指定する。AWS Config の CloudTrail Lake のいくつかのサンプルクエリでは、AWS Config ルール は AWS リソースのコンプライアンス状態を評価する必要があります。AWS Config ルール の詳細については、「AWS Config デベロッパーガイド」の「AWS Config ルール でのリソースの評価」を参照してください。

設定項目用に一意のイベントデータストアを作成するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/cloudtrail/で CloudTrail コンソールを開きます。

  2. ナビゲーションペインの [Lake] で、[イベントデータストア] を選択します。

  3. [Create event data store] (イベントデータストアの作成) をクリックします。

  4. [Configure event data store] (イベントデータストアの設定) ページの [General details] (全般的な詳細) で、イベントデータストアの名前を入力します。名前は必須です。

  5. イベントデータストアで使用したい [料金オプション] を選択します。料金オプションによって、イベントの取り込みと保存にかかる料金、および、ご使用のイベントデータストアでのデフォルトと最長の保持期間が決まります。詳細については、「AWS CloudTrail 料金表」と「CloudTrail Lake のコスト管理」を参照してください。

    以下のオプションが利用できます。

    • [1 年間の延長可能な保持料金] – 1 か月あたり取り込むイベントデータが 25 TB 未満で、最大 10 年間の柔軟な保存期間を希望する場合、一般的に推奨されます。最初の 366 日間 (デフォルトの保持期間) のストレージは、取り込み料金に含まれており追加料金はありません。366 日経過後は、保存期間を従量制料金で延長してご利用いただけます。これがデフォルトのオプションです。

      • デフォルトの保持期間: 366 日間

      • 最長保持期間: 3,653 日間

    • [7 年間の保持料金] – 1 か月あたり 25 TB を超えるイベントデータを取り込む予定で、最長 7 年間の保存期間が必要な場合に推奨されます。データの保持は取り込み料金に含まれており、追加料金は発生しません。

      • デフォルトの保持期間: 2,557 日間

      • 最長保持期間: 2,557 日間

  6. イベントデータストアの保存期間を日数単位で指定します。保持期間は、1 年間の延長可能な保持料金オプションの場合で 7 日から 3,653 日 (約 10 年)、7 年間の保持料金オプションでは 7 日から 2,557 日 (約 7 年) に設定できます。

    CloudTrail Lake は、イベントの eventTime が指定した保持期間内にあるかどうかを確認し、イベントを保持するかどうかを決定します。たとえば、90 日間の保持期間を指定した場合、eventTime が 90 日前よりも古くなると、 CloudTrail はイベントを削除します。

  7. (オプション) AWS Key Management Service を使用した暗号化を有効にするには、[Use my own AWS KMS key] を選択します。[New] (新規) を選択して AWS KMS key を作成するか、[Existing] (既存) を選択して既存の KMS キーを使用します。[Enter KMS alias] (KMS エイリアスを入力) で、alias/MyAliasName のフォーマットのエイリアスを指定します。独自の KMS キーを使用するには、KMS キーポリシーを編集して、イベントデータストアの暗号化と復号を許可する必要があります。詳細については、「CloudTrail の AWS KMS キーポリシーの設定」を参照してください。CloudTrail は、AWS KMS マルチリージョンキーもサポートしています。マルチリージョンキーの詳細については、AWS Key Management Service デベロッパーガイドの「マルチリージョンキーを使用する」を参照してください。

    独自の KMS キーを使用すると、暗号化と復号に AWS KMS のコストがかかります。イベントデータストアを KMS キーに関連付けた後に、その KMS キーを削除または変更することはできません。

    注記

    組織のイベントデータストアの AWS Key Management Service 暗号化を有効にするには、管理アカウントに既存の KMS キーを使用する必要があります。

  8. (オプション) Amazon Athena を使用してイベントデータに対しクエリを実行する場合は、[Lake クエリフェデレーション][有効] を選択します。フェデレーションを使用すると、AWS Glue データカタログ内のイベントデータストアに関連するメタデータを表示したり、Athena のイベントデータに対して SQL クエリを実行したりできます。AWS Glue データカタログにあるテーブルメタデータにより、Athena クエリエンジンは、クエリするデータを検索、読み込み、および処理する方法を把握できるようになります。詳細については、「イベントデータストアのフェデレーション」を参照してください。

    Lake クエリフェデレーションを有効にするするには、[有効] を選択した後に、以下の操作を実行します。

    1. 新しいロールを作成するか、既存の IAM ロールを使用するかを選択します。 AWS Lake Formation は、このロールを使用してフェデレーションイベントデータストアのアクセス許可を管理します。CloudTrail コンソールを使用して新しいロールを作成すると、必要なアクセス許可を付与したロールが CloudTrail により自動的に作成されます。既存のロールを選択する場合は、そのロールのポリシーが必要最小限のアクセス許可を提供していることを確認してください。

    2. 新しいロールを作成する場合は、そのロールを識別する名前を指定します。

    3. 既存のロールを使用している場合は、使用したいロールを選択します。ロールは、ご自身のアカウント内に存在する必要があります。

  9. (オプション) イベントデータストアにリソースベースのポリシーを追加するには、[リソースポリシーを有効化] を選択します。リソースベースのポリシーにより、どのプリンシパルがイベントデータストアでアクションを実行できるかを制御できます。例えば、他のアカウントのルートユーザーにこのイベントデータストアへのクエリの実行やクエリ結果の表示を許可する、リソースベースのポリシーを追加できます。エンドポイントポリシーの例については、「イベントデータストアのリソースベースのポリシーの例」を参照してください。

    リソースベースのポリシーには 1 つ以上のステートメントが含まれます。ポリシー内の各ステートメントは、イベントデータストアへのアクセスを許可または拒否されるプリンシパルと、プリンシパルがイベントデータストアリソースに対して実行できるアクションを定義します。

    イベントデータストアのリソースベースのポリシーでは、次のアクションがサポートされています。

    • cloudtrail:StartQuery

    • cloudtrail:CancelQuery

    • cloudtrail:ListQueries

    • cloudtrail:DescribeQuery

    • cloudtrail:GetQueryResults

    • cloudtrail:GenerateQuery

    • cloudtrail:GenerateQueryResultsSummary

    • cloudtrail:GetEventDataStore

    組織イベントデータストアの場合、CloudTrail は、委任管理者アカウントが組織イベントデータストアで実行できるアクションを一覧表示するデフォルトのリソースベースのポリシーを作成します。このポリシーのアクセス許可は、AWS Organizations の委任管理者アクセス許可から取得されます。このポリシーは、組織イベントデータストアまたは組織が変更されると自動的にアップデートされます (例えば、CloudTrail の委任管理者アカウントが登録または削除された場合)。

  10. (オプション) [Tag] (タグ) セクションでは、イベントデータストアへのアクセスを特定、ソート、および制御できるようにするタグキーのペアを最大 50 個追加することができます。タグに基づいてイベントデータストアへのアクセスを認可するために IAM ポリシーを使用する方法の詳細については、「例: タグに基づいたイベントデータストアを作成または削除するためのアクセスの拒否」を参照してください。AWS でタグを使用する方法の詳細については、「Tagging AWS Resources User Guide」にある「Tagging AWS resources」を参照してください。

  11. [次へ] を選択します。

  12. [イベントの選択] ページで、[AWS イベント] を選択し、次に [設定項目] を選択します。

  13. CloudTrail は、イベントデータストアリソースをそれが作成されたリージョンに保存しますが、デフォルトでは、データストアで収集される設定項目は、記録が有効になっているアカウント内のすべてのリージョンからのものです。必要に応じて、[Include only the current region in my event data store] (現在のリージョンのみをイベントデータストアに含める) を選択して、現在のリージョンでキャプチャされた設定項目のみを含めることができます。このオプションを選択しない場合、イベントデータストアには、記録が有効になっているすべてのリージョンからの設定項目が含まれます。

  14. イベントデータストアが AWS Organizations 内のすべてのアカウントからの設定項目を収集するようにするには、[Enable for all accounts in my organization] (組織内のすべてのアカウントについて有効化) を選択します。組織の設定項目を収集するイベントデータストアを作成するには、組織の管理アカウントまたは委任された管理者アカウントにサインインする必要があります。

  15. [Next] (次へ) を選択して、選択内容を確認します。

  16. [Review and create] (確認と作成) ページで、選択内容を確認します。セクションを変更するには、[Edit] (編集) をクリックします。イベントデータストアを作成する準備が整ったら、[Create event data store] (イベントデータストアの作成) をクリックします。

  17. 新しいイベントデータストアが、[イベントデータストア] ページの [イベントデータストア] テーブルに表示されます。

    この時点以降、イベントデータストアは設定項目を取得します。イベントデータストアを作成する前に発生した設定項目は、イベントデータストア内にありません。

設定項目のスキーマ

次の表は、設定項目レコードのスキーマ要素と一致する必須およびオプションのスキーマ要素を示しています。eventData の内容は設定項目によって提供されます。他のフィールドは、取り込み後に CloudTrail によって提供されます。

CloudTrail イベントレコードの内容については、「管理、データ、ネットワークアクティビティイベントの CloudTrail レコードコンテンツ」で詳しく説明します。

取り込み後に CloudTrail によって提供されるフィールド
フィールド名 入力タイプ 要件 説明
eventVersion 文字列 必須

AWS イベント形式のバージョン。

eventCategory 文字列 必須

イベントカテゴリ。設定項目では、有効な値は ConfigurationItem です。

eventType 文字列 必須

イベントタイプです。設定項目では、有効な値は AwsConfigurationItem です。

eventID 文字列 必須

イベントの一意の ID。

eventTime

文字列

必須

イベントタイムスタンプ (yyyy-MM-DDTHH:mm:ss 形式、協定世界時 (UTC))。

awsRegion 文字列 必須

イベントの割り当て先の AWS リージョン。

recipientAccountId 文字列 必須

このイベントを受信した AWS アカウント ID を表します。

addendum

補遺

オプションです。

イベントが遅延した理由に関する情報が表示されます。既存のイベントから情報が欠落している場合、補遺ブロックには、不足している情報と、不足している理由が表示されます。

eventData のフィールドは、設定項目によって提供されます
フィールド名 入力タイプ 要件 説明
eventData

-

必須 eventData のフィールドは、設定項目によって提供されます。
  • configurationItemVersion

文字列 オプションです。

ソースからの設定項目のバージョン。

  • configurationItemCaptureTime

文字列 オプションです。

設定の記録が開始された時刻。

  • configurationItemStatus

文字列 オプションです。

設定項目のステータス。有効な値は、OKResourceDiscoveredResourceNotRecorded ResourceDeletedResourceDeletedNotRecorded です。

  • accountId

文字列 オプションです。

リソースに関連付けられている 12 桁の AWS アカウント ID。

  • resourceType

文字列 オプションです。

AWS リソースのタイプ。有効なリソースタイプの詳細については、「AWS Config API リファレンス」の「ConfigurationItem」を参照してください。

  • resourceId

文字列 オプションです。

リソースの ID (例: sg-xxxxxx)。

  • resourceName

文字列 オプションです。

リソースのカスタム名 (使用可能な場合)。

  • arn

文字列 オプションです。

リソースに関連付けられた Amazon リソースネーム (ARN)。

  • awsRegion

文字列

オプションです。

リソースが存在する AWS リージョン。

  • availabilityZone

文字列

オプションです。

リソースに関連付けられたアベイラビリティーゾーン。

  • resourceCreationTime

文字列

オプションです。

リソースが作成されたときのタイムスタンプ。

  • 設定

JSON

オプションです。

リソースの設定の説明。

  • supplementaryConfiguration

JSON

オプションです。

設定パラメータについて返される情報を補足するために、AWS Config が特定のリソースタイプについて返す設定属性。

  • relatedEvents

文字列

オプションです。

CloudTrail イベント ID のリスト。

  • 関係

- オプションです。

関連する AWS リソースのリスト。

    • 名前

文字列

オプションです。

関連リソースとの関係のタイプ。

    • resourceType

文字列

オプションです。

関連リソースのリソースタイプ。

    • resourceId

文字列

オプションです。

関連するリソースの ID (例: sg-xxxxxx)。

    • resourceName

文字列

オプションです。

関連リソースのカスタム名 (使用可能な場合)。

  • tags

JSON

オプションです。

リソースに関連付けられているキーバリュータグのマッピング。

次の例は、設定項目レコードのスキーマ要素の階層に一致する、スキーマ要素の階層を示しています。

{ "eventVersion": String, "eventCategory: String, "eventType": String, "eventID": String, "eventTime": String, "awsRegion": String, "recipientAccountId": String, "addendum": Addendum, "eventData": { "configurationItemVersion": String, "configurationItemCaptureTime": String, "configurationItemStatus": String, "configurationStateId": String, "accountId": String, "resourceType": String, "resourceId": String, "resourceName": String, "arn": String, "awsRegion": String, "availabilityZone": String, "resourceCreationTime": String, "configuration": { JSON, }, "supplementaryConfiguration": { JSON, }, "relatedEvents": [ String ], "relationships": [ struct{ "name" : String, "resourceType": String, "resourceId": String, "resourceName": String } ], "tags": { JSON } } } }