将文件访问身份验证从S3委派给我们的身份验证服务的正确方式是什么?
例如:网站的用户(他在标题中有我们的会话id )向S3发送请求,以通过url获取文件。S3向我们身份验证服务发送请求,询问具有这些头文件的用户是否可以访问该文件,如果我们的身份验证服务允许获取该文件,则将下载该文件。
有很多关于预签名请求的信息,但绝对没有关于s3查询“隐藏”身份验证的信息。
发布于 2014-07-15 01:00:51
如果一个文件已经在S3上公开,那么任何人都可以使用文件的直接链接来下载它。
如果文件不是公共的,则需要某种类型的身份验证。如果文件不是公开的,那么只有两种方法可以从S3获取文件,一种是通过预先签名的url,另一种是以亚马逊用户的身份访问S3。显然,当您自己想要访问S3上的对象时,它就是这样工作的,您必须在GET请求的头部提供访问密钥和签名。您可以通过Amazon IAM授予其他用户访问S3的权限,这更像是您提到的“隐藏”身份验证。通过IAM路由,有不同的方式提供访问,包括联合用户。请访问此链接了解更多信息:
http://docs.aws.amazon.com/AmazonS3/latest/dev/MakingAuthenticatedRequests.html
如果你只是想让一个经过身份验证的用户访问一个文件,那么最好也是最简单的方法就是创建一个带有过期时间的预签名的url。过期时间可以很短,比如10分钟甚至1分钟,以防止用户将链接传递给其他人。
https://stackoverflow.com/questions/24739118
复制相似问题