AWS Key Management Service (AWS KMS) を使用して Amazon CloudWatch Logs のログデータを暗号化したいと考えています。
簡単な説明
デフォルトでは、CloudWatch Logs はサーバー側の暗号化 (SSE) キーを使用してロググループデータを暗号化します。ログデータの暗号化を制御したり、セキュリティポリシーに準拠させたりするために、AWS KMS でカスタマーマネージドキーを使用することもできます。
注: AWS KMS 暗号化を使用すると、コストが増加する場合があります。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
既存のカスタマーマネージドキーを使用してロググループのログデータを暗号化できます。カスタマーマネージドキーがない場合は、始める前にキーを作成してください。
重要: CloudWatch Logs では対称 AWS KMS キーのみを使用できます。非対称キーは使用しないでください。
AWS KMS キーにアクセスするために必要なアクセス許可を CloudWatch Logs に付与する
CloudWatch Logs に AWS KMS キーにアクセスするためのアクセス許可を付与するには、キーポリシーを変更します。CloudWatch Logs のサービスプリンシパルと呼び出し元ロールに、キーを使用するために必要なアクセス許可があることを確認してください。
AWS KMS キーをロググループに関連付ける
AWS KMS キーは、作成中または作成後に関連付けることができます。暗号化時に、キーが関連付けられるまでには最大 5 分かかります。
キー作成時に AWS KMS キーを関連付ける
次の手順を実行します。
- CloudWatch コンソールを開きます。
- ナビゲーションペインで、[ロググループ] を選択します。
- [ロググループを作成] を選択します。
- ロググループの名前と AWS KMS キーの ARN を入力します。
- [作成] を選択します。
または、次の AWS CLI コマンド create-log-group を実行します。
aws logs create-log-group --log-group-name example-log-group --kms-key-id example-key-arn
注: 実際のものでそれぞれ、example-log-group をロググループ名に、example-key-arn を AWS KMS キー ID に置き換えます。
キー作成後に AWS KMS キーを関連付ける
注: CloudWatch コンソールを使用して AWS KMS キーを既存のロググループに関連付けることはできません。
作成後に AWS KMS キーを関連付けるには、次の associate-kms-key コマンドを実行します。
aws logs associate-kms-key --log-group-name example-log-group --kms-key-id example-key-arn
注: 実際のものでそれぞれ、example-log-group をロググループ名に、example-key-arn を AWS KMS キー ID に置き換えます。
ロググループから、AWS KMS キーの関連付けを解除することもできます。AWS KMS キーの関連付けを解除するかキーを変更した後は、CloudWatch Logs はログデータを復号化して返すことができます。ただし、AWS KMS キーを無効にすると、CloudWatch Logs はキーで暗号化されたログを読み取ることができなくなります。
関連情報
AWS Key Management Service を使用して CloudWatch ログのログデータを暗号化する
Amazon CloudWatch Logs におけるデータ保護