我有一个使用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
中找到任何内容我的语法出错了什么?
答案 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"}}'