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