Ensure that Timestream database is encrypted with KMS CMK
ID |
timestream_db_encrypted_cmk |
Severity |
high |
Vendor |
AWS |
Resource |
Timestream |
Tags |
reachable |
Description
Amazon Timestream is a fast, scalable, and serverless time series database service for IoT and operational applications that makes it easy to store and analyze trillions of events per day up to 1,000 times faster and at as little as 1/10th the cost of relational databases.
Timestream encryption at rest provides enhanced security by encrypting all your data at rest using encryption keys stored in AWS Key Management Service (AWS KMS).
It’s recommended to encrypt using CMK keys. Using your own KMS key gives you more flexibility, including the ability to create, rotate, and disable KMS keys.
Examples
CloudFormation
{
"Resources": {
"MyTimestreamDatabase": { (1)
"Type": "AWS::Timestream::Database",
"Properties": {
"DatabaseName": "timestream"
}
}
}
}
1 | Missing KmsKeyId property means that encryption is performed using Amazon managed encryption keys. |
Resources:
TimestreamDatabaseEnabled: (1)
Type: AWS::Timestream::Database
Properties:
DatabaseName: timestream
1 | Missing KmsKeyId property means that encryption is performed using Amazon managed encryption keys. |
Mitigation / Fix
Buildtime
CloudFormation
{
"Resources": {
"MyTimestreamDatabase": {
"Type": "AWS::Timestream::Database",
"Properties": {
"DatabaseName": "timestream",
"KmsKeyId": "kms-key-id" (1)
}
}
}
}
1 | KmsKeyId set means CMK are used for the encryption. |
Resources:
TimestreamDatabaseEnabled:
Type: AWS::Timestream::Database
Properties:
DatabaseName: timestream
KmsKeyId: kms-key-id (1)
1 | KmsKeyId set means CMK are used for the encryption. |