A municipal batch job encrypts multi-gigabyte evidence files with KMS. Why should it use data keys (envelope encryption) instead of sending entire payloads to the KMS Encrypt API?
Select an answer to reveal the explanation.
Short Explanation
KMS is a key vault, not a dump truck for multi-gigabyte blobs. Generate a data key, encrypt the big file yourself, and wrap that data key with the CMK—classic envelope encryption. Shipping the whole evidence file through Encrypt is the wrong tool.
Full Explanation
Envelope encryption uses KMS GenerateDataKey (or similar) so the application encrypts large payloads with a data key locally while KMS only wraps/unwraps the small data key under the CMK. Direct KMS Encrypt is sized for small plaintext, not bulk files. CloudWatch and Parameter Store are not substitutes for encrypting large evidence objects.