A company has a centralized logging account and multiple application accounts. Each application account sends CloudWatch Logs to a cross-account log group in the logging account. The security team wants to ensure that logs are encrypted at rest using a KMS key that only the logging account can manage. Which configuration is required?
This enables cross-account log delivery with customer-managed KMS encryption.
Why this answer
It uses a cross-account destination in the logging account with subscription filters in the source accounts, which is the standard pattern for streaming CloudWatch Logs across accounts. The KMS key policy must grant the CloudWatch Logs service in the source accounts permission to use the key (via kms:Encrypt and kms:Decrypt) so that logs can be encrypted at rest in the logging account while only the logging account manages the key.
Exam trap
The trap here is that candidates confuse cross-account destinations (which require the destination to be in the logging account) with cross-account resource policies (which are placed in the source account), leading them to choose Option C.
How to eliminate wrong answers
Option A is wrong because S3 replication with SSE-KMS copies logs from S3, not directly from CloudWatch Logs, and introduces an unnecessary intermediate service; the requirement is for CloudWatch Logs encryption at rest, not S3 replication. Option C is wrong because a cross-account destination must be created in the logging account (the destination account), not in each source account, and the resource policy should allow the source accounts to write to the destination, not the other way around. Option D is wrong because using the default AWS-managed KMS key means the key is managed by AWS and not by the logging account, violating the requirement that only the logging account can manage the key.