AWS KMS で管理されたキー (SSE-KMS) による CloudTrail ログファイルの暗号化 - AWS CloudTrail

AWS KMS で管理されたキー (SSE-KMS) による CloudTrail ログファイルの暗号化

デフォルトでは、CloudTrail によってバケットに配信されるログファイルは、Amazon の Amazon S3 で管理された暗号化キーによるサーバー側の暗号化 (SSE-S3) によって暗号化されます。直接管理可能なセキュリティレイヤーを提供するには、代わりに CloudTrail ログファイルの AWS KMS によって管理されたキー (SSE-KMS) を使用したサーバー側の暗号化 を使用できます。

注記

サーバー側の暗号化を有効にすると、ログファイルが暗号化されますが、SSE-KMS を使用したダイジェストファイルは暗号化されません。ダイジェストファイルは、Amazon S3 で管理された暗号化キー (SSE-S3) を使用して暗号化されます。

S3 バケットキーで既存の S3 バケットを使用している場合は、CloudTrail は AWS KMS アクション GenerateDataKey および DescribeKey を使用する、キーポリシーの許可を付与されていなければなりません。もし cloudtrail.amazonaws.com にキーポリシーの許可が与えられていない場合、証跡の作成や更新は行なえません。

CloudTrail で SSE-KMS を使用するには、AWS KMS key とも呼ばれる KMS キーを作成して管理します。CloudTrail ログファイルの暗号化と復号に、どのユーザーがキーを使用できるかを決定するポリシーをキーにアタッチします。復号は、S3 を通じてシームレスです。キーの承認されたユーザーが CloudTrail ログファイルを読み取ると、S3 は復号を管理し、許可されたユーザーは暗号化されていない形式でログファイルを読み取ることができます。

このアプローチには以下の利点があります。

  • KMS キー暗号化キーを自分で作成して管理することができます。

  • 単一の KMS キーを使用して、すべてのリージョンの複数のアカウントのログファイルを暗号化および復号できます。

  • CloudTrail ログファイルを暗号化および復号するためにキーを使用できるユーザーを制御できます。要件に応じて、組織のユーザーにキーのアクセス権限を割り当てることができます。

  • セキュリティが強化されました。この機能では、ログファイルを読み取るために、次のアクセス許可が必要です。

    • ユーザーには、ログファイルを含むバケットに対する S3 の読み取り権限が必要です。

    • ユーザーには、KMS キーポリシーによるアクセス許可の復号化を許可するポリシーまたは役割も適用する必要があります。

  • S3 では、KMS キーの使用を許可されたユーザーからの要求に対してログファイルが自動的に復号されるため、CloudTrail ログファイルの SSE-KMS 暗号化は、 CloudTrail ログデータを読み取るアプリケーションとの下位互換性があります。

注記

作成する KMS キーは、ログファイルを受け取る Amazon S3 バケットと同じ AWS リージョンに作成する必要があります。例えば、ログファイルが 米国東部 (オハイオ) リージョンのバケットに保存される場合は、そのリージョンで作成された KMS キーを作成または選択する必要があります。Amazon S3 バケットのリージョンを確認するには、Amazon S3 コンソールでそのプロパティを調べます。

ログファイルの暗号化を有効にする

注記

CloudTrail コンソールで KMS キーを作成すると、CloudTrail により必要な KMS キーポリシーセクションが追加されます。IAM コンソールまたは AWS CLI でキーを作成、または必要なポリシーセクションを手動で追加する必要がある場合は、次の手順に従ってください。

CloudTrail ログファイルに対して SSE-KMS 暗号化を有効にするには、次の必要な手順を実行します。

  1. KMS キーを作成します。

    • AWS Management Console を使用した KMS キーの作成の詳細については、AWS Key Management Service デベロッパーガイドの「キーの作成」を参照してください。

    • AWS CLI を使用した KMS キーの作成の詳細については、「create-key」を参照してください。

    注記

    選択する KMS キーは、ログファイルを受け取る S3 バケットと同じリージョンにある必要があります。S3 バケットのリージョンを確認するには、S3 コンソールでバケットのプロパティを調べます。

  2. CloudTrail で暗号化を有効にし、ユーザーがログファイルを復号できるようにするポリシーセクションをキーに追加します。

    • ポリシーに含める内容の詳細については、「CloudTrail の AWS KMS キーポリシーの設定」を参照してください。

      警告

      ログファイルを読み取る必要があるすべてのユーザーに対して、ポリシーに復号のアクセス権限を含めるようにしてください。証跡の設定にキーを追加する前にこの手順を実行しない場合、復号のアクセス権限のないユーザーは、それらにアクセス権限を付与するまで暗号化されたファイルを読み取ることができません。

    • IAM コンソールを使用したポリシーの編集の詳細については、AWS Key Management Service デベロッパーガイドの「キーポリシーの編集」を参照してください。

    • AWS CLI を使用してポリシーを KMS キーにアタッチする方法については、「put-key-policy」を参照してください。

  3. CloudTrail のポリシーを変更した KMS キーを使用するために証跡を更新します。

CloudTrail は、AWS KMS マルチリージョンキーもサポートしています。マルチリージョンキーの詳細については、AWS Key Management Service デベロッパーガイドの「マルチリージョンキーを使用する」を参照してください。

次のセクションでは、CloudTrail で使用するために KMS キーポリシーが必要とするポリシーセクションについて説明します。