cloudformation-coverage-roadmap icon indicating copy to clipboard operation
cloudformation-coverage-roadmap copied to clipboard

AWS::SQS::Queue - Support Amazon SQS-managed encryption keys (SSE-SQS)

Open xeres opened this issue 3 years ago • 16 comments

Name of the resource

AWS::SQS::Queue

Resource name

No response

Description

Currently, AWS::SQS::Queue only supports AWS-managed customer master key (CMK) for Amazon SQS or custom CMK by attribute KmsMasterKeyId.

Amazon SQS has announced a new Server-Side Encryption method, Amazon SQS-managed encryption keys (SSE-SQS). AWS::SQS::Queue needs to be able to specify SSE-SQS with KmsMasterKeyId attribute or a new attribute to support this method.

Other Details

AWS::SQS::Queue - AWS Cloudformation https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsmasterkeyid

Amazon SQS Announces Server-Side Encryption with Amazon SQS-managed encryption keys (SSE-SQS) https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-sqs-server-side-encryption-keys-sse/

xeres avatar Nov 26 '21 08:11 xeres

Is there any WA?

parraletz avatar Jan 11 '22 23:01 parraletz

WA:

Create a CustomResource

Example using aws cdk and lambda.

https://github.com/parraletz/sse-sqs-wa

parraletz avatar Feb 04 '22 04:02 parraletz

Any ETA to add support for this feature? This is a very important feature which will save a lot of time for systems using SQS.

KANNANKDP avatar Mar 22 '22 06:03 KANNANKDP

Asking again, any updates on when this might get added? Its seriously causing a headache at the company I work at

VanessaHenderson avatar Apr 26 '22 23:04 VanessaHenderson

We tested Configuring server-side encryption (SSE) for a queue using SQS-owned encryption keys using serverless property SqsManagedSseEnabled: true and it worked fine.

"serverless": "^3.12.0"

Sorry for any confusion created.

asura-asp avatar May 11 '22 19:05 asura-asp

What works fine @asura-asp?

This issue is about the AWS::SQS::Queue CloudFormation resource (documented at https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html) not supporting an attribute to set SSE-SQS mode.

Reading through the docs, I think the expected mechanism to enable SSE-SQS via CloudFormation is actually to set the KmsMasterKeyId via to alias/aws/sqs.

a-h avatar May 12 '22 10:05 a-h

Reading through the docs, I think the expected mechanism to enable SSE-SQS via CloudFormation is actually to set the KmsMasterKeyId via to alias/aws/sqs.

That uses the AWS Managed KMS key for SQS. If you look at the Documentation for the SQS API, you can see there's another field to use SSE-SQS.

JakeHendy avatar May 12 '22 11:05 JakeHendy

Correct, SSE-SQS is not same as KMS

aws_enc_options kms

asura-asp avatar May 12 '22 14:05 asura-asp

Any update? It's supported in Terraform but not in Cloudformation... I thought that AWS was committed to support CF first...

davesdere avatar May 17 '22 18:05 davesdere

ETA please?

jtaub avatar Jun 22 '22 16:06 jtaub

It seems AWS fix this issue, I tested today setting attribute SqsManagedSseEnabled to true, as @asura-asp mentioned, and that’s really works.

jean-passos avatar Jul 07 '22 23:07 jean-passos

@jean-passos - I think you're right. I ran a test today by creating an example CloudFormation template:

AWSTemplateFormatVersion: "2010-09-09"
Resources: 
  QueueEncryptionTest: 
    Type: AWS::SQS::Queue
    Properties: 
      SqsManagedSseEnabled: true
aws cloudformation deploy --template-file=queue.yaml --stack-name=queue

And it created the queue with SQS encryption set:

image

However, the docs still say that it's unsupported, which doesn't inspire confidence. 🤷🏻

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html#cfn-sqs-queue-sqsmanagedsseenabled

image

a-h avatar Jul 08 '22 14:07 a-h

yes, confirmed it is working but the documentation is outdated, please update it!

afterhill avatar Jul 19 '22 17:07 afterhill

There is a "Provide feedback" link at the bottom of each documentation page. I have reported the outdated documentation. I hope this triggers the AWS team to update the documentation.

jumic avatar Jul 20 '22 18:07 jumic

thank you @jumic

davesdere avatar Jul 22 '22 01:07 davesdere

The documentation was updated at some point. It's correct now:

image

a-h avatar Aug 19 '22 16:08 a-h