所以这可能是一个愚蠢的问题,但如果 Amazon SQS 需要私钥和公钥,那么使用它有什么意义呢?如果客户端拥有私钥和公钥,他们可能会通过反编译或其他方式发现密钥......
我能想到的唯一安全方法是使用具有私钥和公钥的代理(如 php)。但是,首先使用 SQS 有什么意义呢?SQS(我可以看到)的主要好处是它可以向上扩展,您不必担心收到多少消息。但是,如果您要使用代理,那么您也必须对其进行扩展......我希望我的担忧是有道理的?
谢谢
所以这可能是一个愚蠢的问题,但如果 Amazon SQS 需要私钥和公钥,那么使用它有什么意义呢?如果客户端拥有私钥和公钥,他们可能会通过反编译或其他方式发现密钥......
我能想到的唯一安全方法是使用具有私钥和公钥的代理(如 php)。但是,首先使用 SQS 有什么意义呢?SQS(我可以看到)的主要好处是它可以向上扩展,您不必担心收到多少消息。但是,如果您要使用代理,那么您也必须对其进行扩展......我希望我的担忧是有道理的?
谢谢
如果您必须为客户提供您的密钥以从队列中提取数据,您的担忧将是有效的。然而,典型的工作流程涉及使用您的 AWS 账户 ID 来创建和修改队列,并可能将数据推送到队列中。然后,您可以使用 SQS addPermission 操作设置权限或设置更精细控制的访问策略。这意味着您将只授予对特定 AWS 账户或匿名使用的读取权限,但不允许进行其他修改。
所以基本上你有几个选择。您可以编译您预先设置的 AWS 公钥和私钥,这些密钥对您的客户端应用程序具有受限的权限。我认为更好的方法是使公钥和私钥文件成为您客户端上的可配置选项,并告诉客户端用户他们负责获取自己的 AWS 账户和密钥,他们可以告诉您他们的 AWS 密钥是什么,并且您可以根据每个客户的需要对它们进行细粒度控制。
这些资源很适合您查看: