我可以从S3 Bucket运行我的静态网站,并添加密码保护吗?

Jam*_*ord 26 amazon-s3 password-protection

我正在完全使用Amazon S3存储桶运行静态网站,但我想用密码保护我的内容.这可能吗?身份验证的类型不会打扰我,它只需要在那里,以便人们不能只是"发现"我的网站.

目前,我没有设置域名,我认为这可以排除http://www.s3auth.com/作为可能的解决方案.还有其他人吗?

MeS*_*See 14

AWS现在没有提供直接执行此操作的方法.您提到的S3auth解决方案很不错,因为您的存储桶/对象保持私有状态,因此直接访问存储桶不允许在没有您的私有凭据的情况下读取对象.s3auth方法的缺点在于它依赖于您使用您的私有凭据信任s3auth.如果您的凭据在任何阶段受到损害,则可能会很昂贵,具体取决于某人滥用您的访问权限的方式.

如果您使对象公开可读(就像您在创建网站时那样),任何学习/猜测/知道您的对象名称等的人都可以访问它们.或者,如果存储桶是可读的,那么他们所需要的只是存储桶名称.除了收紧S3访问权限之外,没有真正的解决方法.

如果您只从某些IP地址访问您的网站,也许查看存储桶策略可能会有所帮助.向下滚动到限制访问特定IP地址.这不是密码,但它确实允许您限制访问的来源至少.

另一种提供对象临时访问的常用技术是查询字符串请求认证.但是,这与您保护S3存储桶网站的密码的原始要求不符.


Leo*_*rov 6

使用CloudFront和Lambda @ Edge可以实现这一点.请参阅此处的答案:https://stackoverflow.com/a/45971193/4550880