Encryption 回形针

Encryption 回形针,encryption,amazon-s3,ruby-on-rails-3.2,paperclip,Encryption,Amazon S3,Ruby On Rails 3.2,Paperclip,我的问题更多的是一个问题,而不是一个代码问题,我已经尝试阅读了一段时间,但我没有找到答案。我的问题是,AmazonS3是否会在上传数据时自动加密数据,还是我们必须在加载到S3之前加密数据。如果我们必须在上传数据之前对数据进行加密,任何人都可以建议使用什么gem以及如何使用。默认情况下,所有S3内容都是加密的。作为额外的安全措施,您可以自己对其进行加密。例如,您可以使用:进行客户端加密 以下是AmazonS3文档,其中提到了客户端加密:根据我的经验,所有上传到S3的文件都默认加密 当然,回形针3.

我的问题更多的是一个问题,而不是一个代码问题,我已经尝试阅读了一段时间,但我没有找到答案。我的问题是,AmazonS3是否会在上传数据时自动加密数据,还是我们必须在加载到S3之前加密数据。如果我们必须在上传数据之前对数据进行加密,任何人都可以建议使用什么gem以及如何使用。默认情况下,所有S3内容都是加密的。作为额外的安全措施,您可以自己对其进行加密。例如,您可以使用:进行客户端加密


以下是AmazonS3文档,其中提到了客户端加密:

根据我的经验,所有上传到S3的文件都默认加密

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

但是,曲别针确实支持通过
s3\u服务器端加密
选项将
x-amz-server-side-encryption
头添加到上传请求中

has_attached_file :file, s3_permissions: :private,
                         s3_server_side_encryption: :aes256
应该会产生所需的行为,但事实并非如此。通过手动设置此标题,以下工作将一直持续到合并,从而使上述工作按预期进行

has_attached_file :file, s3_permissions: :private,
                         s3_headers: { "x-amz-server-side-encryption" => "AES256" }
我确认这第二个配置会在web控制台中显示“服务器端加密:AES-256”。还确认使用pull请求中引用的fork和第一个代码段

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


谢谢您的意见。只是为了澄清AmazonS3的服务器端加密是在文件上传后立即完成的。我只是重复这个问题,因为这是我在Rails和S3中构建的第一个项目。我也在看这个:。似乎是说我必须指定服务器端加密,或者我读错了。默认情况下,所有S3内容都没有加密。不确定这是否曾经是真的,但使用曲别针上载到S3的对象(具有默认选项)肯定不会使用加密存储,这就是问题所在。S3文件默认不加密。但是,通过添加x-amz-server-side-encryption头请求加密文件来启用加密非常简单。