Check ID: sqs_queues_server_side_encryption_enabled
Provider: AWS
Service: sqs
Severity: MEDIUM
Categories: encryption
Resource type: AwsSqsQueue

What this check verifies

Amazon SQS queues are evaluated for server-side encryption configured with a KMS key (SSE-KMS) protecting message bodies at rest. Queues without an associated KMS key are identified.

Risk

Without KMS-backed SSE, message bodies lack tenant-controlled keys and detailed audit. Secrets, tokens, or PII in messages become easier to access through privilege misuse, misconfiguration, or unintended integrations, reducing confidentiality and limiting containment since you cannot revoke access via key disable/rotation.

Recommendation

Enable SSE-KMS on all queues using a customer-managed KMS key.
  • Apply least privilege to key and queue policies; restrict Encrypt/Decrypt
  • Enforce key rotation and separation of duties
  • Tune data key reuse for security vs. cost
  • Monitor key and queue access to support defense in depth

Remediation

aws sqs set-queue-attributes --queue-url <QUEUE_URL> --attributes KmsMasterKeyId=<KMS_KEY_ID_OR_ALIAS>

References

Where this check fires

This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable by Check ID = sqs_queues_server_side_encryption_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks