当前位置: 首页 > 知识库问答 >
问题:

如何确保S3预先指定的GetObject URL只能从授权设备访问?

寇和璧
2023-03-14

我想为经过身份验证的用户提供一个预签名的 s3 url 以下载文件。我的后端有一个基于 JWT 的身份验证,并且可以基于令牌在我的后端生成 URL。因此,如果用户在设备上进行身份验证,他们可以单击一个按钮,它会打开一个指向预签名URL的新选项卡。我的问题是,如何防止用户将URL复制到未经身份验证的设备并从那里访问文件?我指的是使用预签名 URL 进行 AWS S3 身份验证的用户访问?这,但它不能解决我的问题。

共有1个答案

乔俊才
2023-03-14

通常不会,这是不可能的,预签名的URL在任何浏览器和任何设备上都是有效的。您不能阻止用户复制和共享链接。

您唯一能做的就是减少预签名URL有效的持续时间,如果您在新选项卡中打开链接并将预签名URL的持续时间设置为仅5秒,则可以大大降低用户能够及时共享链接的机会或效果。

 类似资料:
  • 问题内容: 我正在使用Java8和aws-java-sdk1.10.43来获取S3文件的预签名URL。我确实获得了一个链接,但是浏览到该链接会导致此错误: 您提供的授权机制不受支持。请使用AWS4-HMAC-SHA256 要强调的是,我希望生成一个可以通过电子邮件发送并在浏览器中打开的URL,而不是使用Java代码从该URL中读取。 我正在使用下面的代码,并且我相信发现我需要以某种方式将setSS

  • 我想在一个私人的AWS S3桶托管文件,只能由我的web应用程序认证的用户访问。这些文件下载的链接必须是静态的。 简单代理方法: 我知道这可以使用代理服务来完成。在这种情况下,静态链接将指向服务,服务将处理请求用户会话的验证,如果它是有效的,服务将使用来自S3的文件内容进行响应。 预签名URL代理方法: 然而,与其实现一个代理来控制对文件的访问,我想知道是否可以使用预先设计的URL来代替? htt

  • 我希望使用预先设计的URL功能,允许我的无服务器应用程序的用户上传图像。看完之后,这听起来是一个完美的解决方案,但是我有一个关于安全性的问题。 通过使用预先设计的URL方法,上传发生在客户端而不是服务器端,对此我唯一的担忧是,尽管我的应用程序要求在上传发生前进行身份验证,但这并不能防止用户上传恶意文件,因为他们可以绕过客户端检查来确定文件是否是图像。 有人对这件事有任何澄清吗? 谢谢

  • 问题内容: 我正在使用Checkmarx安全工具来扫描我的代码,这就是说,当我对数据库执行executeUpdate()命令时,即为“不正确的资源访问授权”。 各种谷歌搜索没有成功。 问题答案: 添加一些执行访问控制检查的代码,这些代码使用诸如“ admin ”,“ authoriz ”或“ allowed ”之类的词

  • 首先,我没有任何使用SAML(版本2)的经验。 我被要求研究如何使现有站点(具有带有用户名和密码页面的正常登录页面)为SAML的SSO做好准备。我们可以使用一些工具来执行此操作。因此,我认为实现SSO部分并不困难。 但是,我不清楚如何管理授权。系统(网站)正在使用授权权限来确定用户是否能够访问某些部分,如果他能够访问,则确定他拥有的正确类型(查看,创建或编辑)。这些权限由系统本身的管理员分配给每个

  • 编辑 我刚把我的android手机连接到我的Mac上。运行时,会看到以下结果 但是当我运行时,我得到了与上面相同的错误。所以也许我的react-native设置有问题? > 由于某种原因,当我在终端中键入时,得到的结果是。但是如果我将行添加到我的文件中,它不会回显任何内容。当我运行命令时,编译器会抱怨未定义ANDROID_HOME。所以我必须再次键入,然后运行命令并将其部署到我的手机。 然而,我的