使用 CMK 的 SQS 加密
SQS Encryption using CMK
我正在尝试从加密的 SQS 中读取消息。对象落在 S3 存储桶上 -> 触发 S3 事件 -> 消息发送到 SQS -> SQS 触发 Lambda 进行处理。
我已经使用 AWS 管理的 CMK 完成了这项工作。但是,我无法使用 AWS 拥有的 CMK 使其正常工作,例如alias/aws/sqs
。
消息只是进入 messages in flight
并且不调用 Lambda 函数。
根据此处的 AWS 文档 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-encryption-what-does-sse-encrypt If you don't specify a custom CMK, Amazon SQS uses the AWS managed CMK for Amazon SQS
。但是我们不能附加任何针对 AWS 拥有的 CMK 的策略,例如
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Service": "<<service>>.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
}]
}
我的问题是:是否可以在 SQS 上使用 AWS 拥有的 CMK 并让 Lambda 函数能够从该队列中读取?
上面 URL 中有一段叫做 Enable Compatibility between AWS Services Such as Amazon CloudWatch Events, Amazon S3, and Amazon SNS and Encrypted Queues
。
它提到将策略附加到 CMK。但是,有一个选项可以使用 alias/aws/sqs
。我想知道我是否在这里遗漏了什么。
我与 AWS 交谈过,KMS AWS 托管密钥在这种情况下不起作用。我们无法更改 KMS AWS 托管密钥的密钥策略,因此对于以下场景是不可能的:S3 Bucket -> Trigger S3 Event -> Message sent to SQS -> SQS triggers Lambda to Process
我使用了 KMS AWS 客户托管密钥,它运行良好。
我正在尝试从加密的 SQS 中读取消息。对象落在 S3 存储桶上 -> 触发 S3 事件 -> 消息发送到 SQS -> SQS 触发 Lambda 进行处理。
我已经使用 AWS 管理的 CMK 完成了这项工作。但是,我无法使用 AWS 拥有的 CMK 使其正常工作,例如alias/aws/sqs
。
消息只是进入 messages in flight
并且不调用 Lambda 函数。
根据此处的 AWS 文档 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-encryption-what-does-sse-encrypt If you don't specify a custom CMK, Amazon SQS uses the AWS managed CMK for Amazon SQS
。但是我们不能附加任何针对 AWS 拥有的 CMK 的策略,例如
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Service": "<<service>>.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
}]
}
我的问题是:是否可以在 SQS 上使用 AWS 拥有的 CMK 并让 Lambda 函数能够从该队列中读取?
上面 URL 中有一段叫做 Enable Compatibility between AWS Services Such as Amazon CloudWatch Events, Amazon S3, and Amazon SNS and Encrypted Queues
。
它提到将策略附加到 CMK。但是,有一个选项可以使用 alias/aws/sqs
。我想知道我是否在这里遗漏了什么。
我与 AWS 交谈过,KMS AWS 托管密钥在这种情况下不起作用。我们无法更改 KMS AWS 托管密钥的密钥策略,因此对于以下场景是不可能的:S3 Bucket -> Trigger S3 Event -> Message sent to SQS -> SQS triggers Lambda to Process
我使用了 KMS AWS 客户托管密钥,它运行良好。