如何从用户“隐藏”AWS中的数据?

时间:2015-10-15 14:38:38

标签: amazon-web-services encryption amazon-s3 amazon-ec2

我想使用Amazon Web Services(AWS)构建应用程序。 应用程序的工作方式是这样的; 我创建了一个程序,允许用户以外部格式导入大文件,并以我自己的格式将其发送到AWS(S3?)。 接下来,许多用户可以从Web和桌面应用程序访问数据。 我想按访问数据的每个用户收取费用。 问题是AWS上的数据必须采用难以理解的格式,或者用户可能会将数据复制到另一个我无法收费的AWS账户。换句话说,用户需要在可以使用之前对数据进行一些“解密”。在网络上,这必须用明文的JavaScript完成,并允许用户找出我难以理解的格式。 如何解决此问题? 例如是否有内置的加密/解密机制? 或者,在AWS中有一些简单的方法可以使用我上传到AWS的预编译代码来创建一个解密数据的服务器吗?

1 个答案:

答案 0 :(得分:1)

通常,当您不希望用户访问您的应用程序的原始数据时,您只是不公开这些数据。您应该构建某种服务器端进程来读取原始数据并提供用户请求的内容。您可以将数据存储在数据库中或S3中的文件中或任何您想要的位置,而不是将其公开访问。然后,您可以要求用户登录您的应用程序以访问数据。

您可以使用EC2或Elastic Beanstalk或可能是Lambda在AWS上托管此类服务。您还可以使用API​​网关来管理对您构建的服务的访问。

关于您在AWS上的某项服务的具体问题,该服务将加密您的公共数据,然后即时解密,但没有任何开箱即用的功能。你必须建立这样的服务并在亚马逊上托管它,但我不认为这是解决这个问题的正确方法。只是首先不要公开访问您的数据,并使所有数据请求都通过某些服务来验证用户是否应该能够访问数据。在您的情况下,这意味着要验证用户是否已付款以访问他们请求的数据。