1

我正在尝试利用 S3 让我的客户下载我的软件包。我的设想是创建一个具有授权的简单 Web 应用程序,例如 ( download.mysoftware.com) 一旦用户通过身份验证,他们将看到一个用于下载软件的 S3 url。我将根据我的客户创建用户帐户。

我担心的是,如果用户复制 S3 URL 链接然后将其提供给未经身份验证的人下载软件会怎样?

是否可以创建一个 S3 策略来防止这种情况并适用于我的用例?我考虑只允许特定的 IP,但是,我无法找到客户的 IP,也不想先询问他们,然后每次都将其添加到策略中。

允许特定 IP 的一种方法是,如果我只允许从链接到 ( download.mysoftware.com) 的 IP 下载,那么下载将真正从我的 Web 应用程序而不是 S3 进行。这似乎是双重努力。

4

1 回答 1

2

当用户请求下载您的应用程序时,为他们生成一个预签名的 URL,其有效期很短。只要他们开始下载您的文件,它只需要有效,因此即使是几分钟的有效期也可能足够。

虽然用户在技术上可以共享这些 URL 之一,但他们必须将 URL 传达给其他人并让他们非常快速地下载它,这可能足以阻止他们尝试共享 URL。(完美的防御更加困难,而且可能无论如何都没有必要;没有办法阻止用户亲自将他们下载的文件传输给其他人。)

于 2016-10-03T23:35:51.397 回答