A financial services company processes transactions using an application hosted on AWS. The company needs to store transaction records in an Amazon S3 bucket. Compliance regulations mandate that the records must be encrypted at rest using a customer managed key (CMK) in AWS Key Management Service (AWS KMS). Additionally, the key material must be rotated annually, and the company must ensure that rotating the key does not require re-encrypting existing transaction data, while maintaining access to historical records. Which solution meets these requirements with the least operational effort?
- Enable automatic key rotation for the customer managed key in AWS KMS.Answer
- BManually create a new customer managed key each year, update the S3 bucket configuration, and run an S3 Batch Operations job to re-encrypt all existing objects under the new key.
- CStore the encryption key in AWS Systems Manager Parameter Store as a standard parameter of type String, and write a custom AWS Lambda function to update the parameter value annually.
- DUse the AWS root account to create a new AWS managed key (aws/s3) each year and manually update the key policy to rotate the backing key material.
Answer
Enable automatic key rotation for the customer managed key in AWS KMS.
Enabling automatic key rotation for a customer managed key in AWS KMS automatically generates new key material annually. AWS KMS saves older key material to decrypt objects that were encrypted with those versions, avoiding the need to re-encrypt existing objects and minimizing operational effort.
Step-by-Step Solution
Key Concept
AWS KMS Automatic Key Rotation Mechanics