设置 AWS 基础设施以允许客户放置文件

设置 AWS 基础设施以允许客户放置文件

// 也许这个问题太宽泛了,但我以前从未做过任何 AWS,而且有点不清楚 - 如果社区认为不好,我会删除问题。

使用 AWS,我想设置一个端点,客户可以通过 POST 或 PUT 使用令牌上传文件以进行授权。或者,他们也可以使用带有令牌或用户 ID/密码的 SFTP(只写)。

所以我需要:

  1. 客户可以通过某种方式获取安全授权令牌。AWS 中是否有 Vault 类型的产品,其中只有某些 IP 可以请求短期令牌,然后在尝试上传文件时将其用作 authN/Z。

  2. 我假设上传的文件可以存储在 S3 中,并且具有不同权限的进程可以访问上传的文件并对其进行我需要的操作。将数据解析到数据库中(我可能也可以使用 S3 来解决这个问题)

  3. 或者,托管的网页,一旦像 #1 中一样进行 authN/Z,就会有一个简单的放置区,他们可以使用网络进行上传。(本质上,网站的逻辑会在 #1 中为他们创建请求)

我感兴趣的是知道的人会如何设计这个。

答案1

一些想法:

  • AWS 转移为 S3 提供托管的 sFtp 前端、用户管理这里。请注意,启用该服务每月大约需要 216 美元,每 GB 0.04 美元,另外我认为您还必须支付 AWS Directory Service 费用。在 Lightsail 上运行标准 sFtp 服务器会更便宜。
  • 具有 S3 权限的 IAM 用户是一种选择,可能需要做更多工作,但便宜得多。IAM 用户无需付费,您可以设置 S3 存储桶,以便每个用户都有自己的文件夹。不过,这对用户来说需要做更多工作。
  • 编写一个 Web 应用程序
  • 使用 Dropbox

相关内容