AWS S3 签名 URL 作为超链接的安全性
AWS S3 The security of a signed URL as a hyperlink
这里安全吗?使用带有 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>
换句话说 - 第 1 部分...
假设我将一堆单独的个人文件存储在一个存储桶中。我想为用户的文件提供 link。显然,每个文件都是唯一但连续命名的,我不希望人们能够将 link 从 40.pdf 更改为 30.pdf 并获得不同的文件。 URL 似乎可以做到这一点。
第 2 部分,更重要的是......
就我的存储桶的安全性而言,这种显示 URL 的方法安全还是危险?显然,我将在这里放弃我的 "access key",当然,不是我的 "secret"。
已经在 3 年前回答过...抱歉。
How secure are Amazon AWS Access keys?
AWS 安全凭证在对 AWS 进行 API 调用时使用。它们由两个部分组成:
- Access Key(例如
AKIAISEMTXNOG4ABPC6Q
):这类似于用户名。人家看到就好了
- 密钥:这是一长串随机字符,是您与 AWS 之间的共享密钥。在进行 API 调用时,SDK 使用共享密钥来 'sign' 您的 API 调用。这是一种单向散列,因此人们无法对您的密钥进行逆向工程。密钥应保密。
A Signed URL 是一种授予对 S3 对象的限时访问权限的方法。 URL 包含访问密钥和签名,签名是根据对象、到期时间和密钥计算的单向散列。
签名 URL 是安全的,因为:
- 仅在您指定的有限时间段内有效
- 仅对您指定的 Amazon S3 对象有效
- 它不能用于检索不同的对象,也不能修改时间段(因为它会使签名无效)
但是,任何人都可以在有效期内使用URL。因此,如果有人发布推文 URL,许多人可能会在到期时间之前访问该对象。这种潜在的安全威胁应该与直接从 Amazon S3 提供流量而不是 运行 您自己的 Web 服务器的好处进行权衡。
这里安全吗?使用带有 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>
换句话说 - 第 1 部分...
假设我将一堆单独的个人文件存储在一个存储桶中。我想为用户的文件提供 link。显然,每个文件都是唯一但连续命名的,我不希望人们能够将 link 从 40.pdf 更改为 30.pdf 并获得不同的文件。 URL 似乎可以做到这一点。
第 2 部分,更重要的是......
就我的存储桶的安全性而言,这种显示 URL 的方法安全还是危险?显然,我将在这里放弃我的 "access key",当然,不是我的 "secret"。
已经在 3 年前回答过...抱歉。 How secure are Amazon AWS Access keys?
AWS 安全凭证在对 AWS 进行 API 调用时使用。它们由两个部分组成:
- Access Key(例如
AKIAISEMTXNOG4ABPC6Q
):这类似于用户名。人家看到就好了 - 密钥:这是一长串随机字符,是您与 AWS 之间的共享密钥。在进行 API 调用时,SDK 使用共享密钥来 'sign' 您的 API 调用。这是一种单向散列,因此人们无法对您的密钥进行逆向工程。密钥应保密。
A Signed URL 是一种授予对 S3 对象的限时访问权限的方法。 URL 包含访问密钥和签名,签名是根据对象、到期时间和密钥计算的单向散列。
签名 URL 是安全的,因为:
- 仅在您指定的有限时间段内有效
- 仅对您指定的 Amazon S3 对象有效
- 它不能用于检索不同的对象,也不能修改时间段(因为它会使签名无效)
但是,任何人都可以在有效期内使用URL。因此,如果有人发布推文 URL,许多人可能会在到期时间之前访问该对象。这种潜在的安全威胁应该与直接从 Amazon S3 提供流量而不是 运行 您自己的 Web 服务器的好处进行权衡。