AWS S3 对象加密 + public 可访问?

AWS S3 Object encryption + public accessible?

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

现在我又更新了加密模式为AES-256,当我再次访问link时,我仍然可以看到该对象。那么这种加密到底在做什么呢?它是否仅意味着以静态数据为目标,因此如果其他人拥有 link 并通过浏览器检索它,它认为没问题吗?

过程中的哪些步骤才是真正解密对象?

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

这意味着 Amazon S3 管理 encryption/decryption。当文件写入磁盘时,会为该文件生成一个随机加密密钥。该文件被加密并写入磁盘。然后使用 S3 管理的另一个加密密钥对加密密钥进行加密。

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

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

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

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