AWS SQS在cli上发送带有KMS ID的消息

时间:2017-11-02 19:13:23

标签: amazon-web-services amazon-sqs aws-cli

我有一个使用KMS客户主密钥(CMK)加密的SQS队列

使用--message-attributes cli命令时,我无法使用send-message语法来添加KMS密钥ID

aws sqs send-message --queue-url "queue/url" --message-body "testing" --message-attributes '{"keyId": {"DataType":"String", "StringValue":"mKeyId"}}'

我得到的错误是

An error occurred (KMS.NotFoundException) when calling the SendMessage operation: Invalid keyId (Service: AWSKMS; Status Code: 400; Error Code: NotFoundException; Request ID: 02cae15e-bf78-11e7-c001-f9dff348cb7e)

密钥是正确的密钥,我也尝试使用密钥别名。

无法在SQS docs

中找到任何内容

我的语法出错了什么?

1 个答案:

答案 0 :(得分:2)

原来我通过cloudformation创建了一个糟糕的队列

在阅读SQS的Cloudformation文档时,KmsMasterKeyId我已经包含了我的CMK别名,当您在使用AWS管理的sse(/alias/aws/sqs)时应该只使用别名。

当更新到我的实际密钥ID时,我使用的cli命令工作得很好

aws sqs send-message --queue-url "queue/url" --message-body "testing" --message-attributes '{"keyId": {"DataType":"String", "StringValue":"mKeyId"}}'