从 public 移动应用程序收集数据

Collecting Data from public mobile application

我想从我创建的移动应用程序中收集信息。该应用程序允许用户无需身份验证即可使用它,而且我希望将数据收集到 AWS SQS 等高可用性服务中,这样我就不会遗漏任何数据。
该应用程序始终连接到互联网,因此无需离线收集数据。

困扰我的是如何以安全的方式发送数据,以便用户无法将虚假数据发送到我正在使用的同一端点。

Google分析不适合这里,因为我需要访问原始数据,而不仅仅是它的聚合。

您应该研究 STS 从您的应用程序获取临时访问凭据,而不是将 AWS 凭据硬编码到您的应用程序中。

您的应用程序不需要身份验证这一事实并不一定意味着您更有可能让恶意行为者向您的服务发送不良数据。如果您的应用程序具有身份验证,恶意行为者仍然有可能对请求进行逆向工程并使用经过身份验证的凭据发送错误数据。

虽然将数据直接发送到 SQS 是一个有效的选项,但如果您希望能够扇出到多个系统(例如多个 SQS 队列),您也可以将数据发送到 SNS。

您也可以考虑使用 API Gateway + Lambda 作为从您的应用程序调用的服务,即使 Lambda 函数仅将数据发送到 SQS,因为这会在未来提供额外的处理灵活性例如在将输入发送到 SQS 之前使用附加逻辑验证输入。但是,当消息从队列中拉出时,可以很容易地执行这种类型的逻辑。