AWS S3签名URL作为超链接的安全性

Ski*_*ner 7 security download hyperlink amazon-s3

这样安全吗?使用带有AWS S3 Bucket对象的预签名URL维护安全性?

<a href="https://mywebsite.s3.amazonaws.com/40.pdf?AWSAccessKeyId=[my access key]&Expires=1433297453&Signature=[this random set of numbers]">my link</a>
Run Code Online (Sandbox Code Playgroud)

另一个词 - 第1部分......

说我在存储桶中存储了一堆独立的个人文件.我想为用户提供文件的链接.显然,每个文件都是唯一但连续命名的,我不希望人们能够将链接从40.pdf更改为30.pdf并获取不同的文件.这个URL似乎是这样做的.

第2部分,更重要的是....

这是安全的还是在我的存储桶的安全性方面显示URL的危险方法?很明显,我会在这里放弃我的"访问密钥",当然,不是我的"秘密".

3年前已经回答了...抱歉. Amazon AWS Access密钥的安全性如何?

Joh*_*ein 17

在对AWS进行API调用时使用AWS Security Credentials.它们由两部分组成:

  • 访问密钥(例如AKIAISEMTXNOG4ABPC6Q):这类似于用户名.人们可以看到它.
  • 密钥:这是一长串随机字符,是您和AWS之间的共享密钥.在进行API调用时,SDK会使用共享密钥"签署"您的API调用.这是单向哈希,因此人们无法对您的密钥进行反向工程.密钥应该保密.

签名URL是给予到S3对象时间限制的访问的方法.URL包含访问密钥和签名,签名是从对象,到期时间和密钥计算的单向哈希.

签名URL是安全的,因为:

  • 它仅在您指定的有限时间段内有效
  • 它仅对您指定的Amazon S3对象有效
  • 它不能用于检索不同的对象,也不能修改时间段(因为它会使签名无效)

但是,任何人都可以在有效时间段内使用该URL.因此,如果某人发布了URL,许多人可能会在到期时间之前访问该对象.应该权衡这种潜在的安全威胁,直接从Amazon S3提供流量,而不必运行自己的Web服务器.

  • 定制策略还可以限制为某个IP,从而减少了潜在的安全威胁,因为现在只有内部人士说组织可以使用它。 (2认同)