如何通过请求凭据来限制对 Amazon S3 上我的静态网站的访问

How do I Restrict Access to My Static Website on Amazon S3 by asking for Credentials

我在 AmazonS3 (http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) 上托管静态网站。

但是,我希望仅通过授权并随后对用户进行身份验证来授予对我的页面的访问权限。

有哪些可用的服务(Heroku 等)可以让我这样做?我想要使​​用他们的社交网络 ID(facebook、twitter 等)登录的选项。

感谢您对此的指导。

您描述的场景不能完全通过 Amazon S3 实现。

虽然 Amazon S3 中有可用的安全性,但它使用:

  • AWS 凭据(不应颁发给您的应用程序用户),或
  • Pre-Signed URLs 授予用户临时访问 Amazon S3 中对象的权限(但它们需要由应用程序生成)

您将需要一个 应用程序 接受他们的登录并验证他们被允许的访问级别。然后应用程序可以生成 pre-signed URL 以授予对 Amazon S3 中特定对象的访问权限。提供此类应用程序的传统方式是在 Amazon EC2 上的 Web 服务器 运行 上。 (另一种方法是使用 Serverless code. Here is an example

作为上述过程的一部分,您可以使用 Web Identity Federation 通过 Facebook、Google 和亚马逊对用户进行身份验证。