S3和加密的SQS集成问题



我为S3 bucket设置了一个SQS事件。在S3中上载名为xyz.txt的文件时,会调用SQS事件,然后此SQS调用lambda。

此工作流程运行良好。

现在我想为此加密我的SQS队列,我正在使用现有的CMK";服务cmk";。在队列被加密之后,S3不能调用SQS。当我把消息直接放在加密的SQS中时,它的工作和lambda也被触发了。

我检查了服务cmk的策略,它允许S3。我无法找出我在这里缺少了什么?

您必须在KMS密钥策略中明确指定S3(仅使用root作为Principal是不够的(,如下所述:

{
"Version": "2012-10-17",
"Id": "example-ID",
"Statement": [
{
"Sid": "example-statement-ID",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*"
}
]
}

最新更新