Symmetric keys (necessary for envelope encryption)
Must call KMS API to encrypt data
Two types:
AWS Owned CMK (free)
Default KMS key for each supported service
Fully managed by AWS (cannot view, rotate or delete them)
Customer Owned CMK (1$/month)
AWS Managed CMK
Generated in KMS
Option to enable automatic yearly rotation
Customer Managed CMK
Generated and imported from outside
Must be 256-bit symmetric key
Not recommended
Deletion has a waiting period (pending deletion state) between 7 - 30 days (default 30 days). The key can be recovered during the pending deletion state.
New key has the same CMK ID (only the backing key is changed)
Diagram
Manual
New Key has a different CMK ID
Keep the previous key active to decrypt old data
Use aliases as CMK id changes after rotation (to hide the key change for the application). After rotation, use UpdateAlias API to point the alias to the new key.
Good for asymmetric keys (automatic rotation not supported)