0

我的问题更像是一个问题而不是代码问题,我已经尝试阅读了一段时间,但我还没有找到答案。我的问题是,亚马逊 S3 是否在数据上传到它时自动加密数据,或者我们是否必须在加载到 S3 之前加密数据。如果我们必须在上传之前加密数据,任何人都可以推荐使用什么 gem 以及如何使用。

4

2 回答 2

1

我的经验并不是所有上传到 S3 的文件都默认加密。

当然,Paperclip 3.3.1 并非如此,因为 S3 Web 控制台显示此版本上传的具有默认附件选项的文档的“服务器端加密:无”。

但是,Paperclip 确实支持x-amz-server-side-encryption通过选项将标头添加到上传请求s3_server_side_encryption

has_attached_file :file, s3_permissions: :private,
                         s3_server_side_encryption: :aes256

应该导致所需的行为,但事实并非如此。以下工作,通过手动设置此标头,直到合并拉取请求 1398,使上述工作按预期工作。

has_attached_file :file, s3_permissions: :private,
                         s3_headers: { "x-amz-server-side-encryption" => "AES256" }

我确认此第二个配置导致在 Web 控制台中指示“服务器端加密:AES-256”。还使用拉取请求中引用的分叉和第一个代码片段进行了确认。

我为此添加了一个 wiki 页面,因为缺少文档。

Paperclip Wiki 文档关于加密 AWS SSE Doc Originating Paperclip 问题

于 2013-12-11T17:33:10.253 回答
-3

默认情况下,所有 S3 内容都是加密的。作为额外的安全措施,您可以自行对其进行加密。例如,您可以使用:https ://github.com/tcnijmeijer/aws-s3-cse进行客户端加密。

这是提到客户端加密的 Amazon S3 文档:http: //docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html

于 2013-06-04T21:46:50.003 回答