SQS queue must be encrypted with a KMS key
High
AWS
General
aws-sqs-queue-encryption
Applies to
AWS::SQS::Queue
What CGPulse checks
A resource passes this rule when kmsMasterKeyId must be set true. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Enable encryption at rest to protect queued messages from storage compromise. In AWS Console: SQS > Queues > select queue > Edit > enable Encryption. See: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
CLI
aws sqs set-queue-attributes --queue-url "{id}" --attributes KmsMasterKeyId=alias/aws/sqsTerraform
resource "aws_sqs_queue" "{name}" {
kms_master_key_id = aws_kms_key.{name}.id
}
Compliance frameworks
Is your environment compliant with this rule?
CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.
Related AWS rules
- ACM certificate must be eligible for renewal
- ACM certificate must be in issued status
- Amplify app should have basic auth disabled for production
- API Gateway REST API must have an endpoint configuration
- API Gateway V2 API must be properly configured
- App Runner service must have encryption enabled
- AppSync API must have logging configured
- AppSync API must have X-Ray tracing enabled