S3 和加密 SQS 集成问题
S3 and encrypted SQS integration issue
我为 S3 设置了一个 SQS 事件 bucket.When 在 S3 中上传了一个名为 xyz.txt 的文件,调用了 SQS 事件,然后这个 SQS 调用了一个 lambda。
此工作流程运行良好。
现在我想为此加密我的 SQS 队列,我正在使用现有的 CMK“services-cmk”之一。队列加密后,S3 无法调用 SQS。当我将消息直接放入加密的 SQS 时,它的工作和 lambda 也被触发。
我检查了 services-cmk 的政策,它允许 S3.I 我无法找出我在这里遗漏了什么?
您必须在您的 KMS 密钥策略中明确指定 S3(使用 root
因为 Principal
是不够的)here :
{
"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": "*"
}
]
}
我为 S3 设置了一个 SQS 事件 bucket.When 在 S3 中上传了一个名为 xyz.txt 的文件,调用了 SQS 事件,然后这个 SQS 调用了一个 lambda。
此工作流程运行良好。
现在我想为此加密我的 SQS 队列,我正在使用现有的 CMK“services-cmk”之一。队列加密后,S3 无法调用 SQS。当我将消息直接放入加密的 SQS 时,它的工作和 lambda 也被触发。
我检查了 services-cmk 的政策,它允许 S3.I 我无法找出我在这里遗漏了什么?
您必须在您的 KMS 密钥策略中明确指定 S3(使用 root
因为 Principal
是不够的)here :
{
"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": "*"
}
]
}