AWS S3对象加密+公共可访问?

时间:2019-12-28 03:52:15

标签: amazon-web-services amazon-s3 aes

我已将对象上传到S3,并使其可以公开访问。因此,拥有指向该对象链接的任何人都可以查看该对象。

现在,我将加密模式更新为AES-256,当我再次访问该链接时,仍然可以看到该对象。那么这种加密到底在做什么呢?

仅是将静态数据作为目标,因此,如果其他人拥有链接并通过浏览器检索到该链接,那会很好吗?

该过程的哪些步骤实际上是解密对象的?

1 个答案:

答案 0 :(得分:3)

您已选择Protecting Data Using Server-Side Encryption with Amazon S3-Managed Encryption Keys (SSE-S3)

这意味着Amazon S3管理加密/解密。将文件写入磁盘后,将为该文件生成一个随机加密密钥。该文件已加密并写入磁盘。然后,使用由S3管理的另一个加密密钥对加密密钥进行加密。

稍后您请求文件时,S3解密加密密钥,使用它来解密文件,然后提供解密的文件。

以上是静态加密。这意味着数据在写入磁盘之前已经加密。如果有人要从物理上获取存储数据的磁盘,他们将无权访问未加密的数据。

但是,当您从Amazon S3请求对象时,它验证了您被允许访问该对象(该对象是可公开访问的,因此您被允许)。然后,它解密了该对象并提供了未加密的文件(但是通常会通过HTTPS完成此操作,因此它在AWS和您的浏览器之间进行了加密)。

如果您想自己管理加密过程,请查看Protecting Data Using Server-Side Encryption with Customer-Provided Encryption Keys (SSE-C)。这要求您在检索对象时提供加密密钥。