0

我创建了一个启用了 Amazon S3 SSE-S3 的 EMR 集群。

我也配置了

fs.s3.enableServerSideEncryption = true
fs.s3.serverSideEncryption.kms.keyId = key-id

emrfs-site.xml

我正在将我的数据如下写入 s3

aws s3 cp /home/hadoop/test.csv s3://my-bucket/enc/ --sse aws:kms /key-id-     here-/

这将保存我使用 kms 加密的数据,但我不想发送任何加密参数,并且从当前 EMR 集群发送的任何数据都应该加密。只需通过

aws s3 cp /home/hadoop/test.csv s3://my-bucket/enc/

无论如何我该怎么做?

4

2 回答 2

1

不,它不是那样工作的。

如果您希望对目标对象进行加密,则需要提供适当的与加密相关的请求标头

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html

S3 解密复制的对象以进行复制,然后在目的地重新加密它们,即使密钥相同,这似乎也是如此。

于 2017-01-20T23:21:36.527 回答
0

尝试启用默认存储桶加密并指定要用于加密存储桶中所有对象的密钥。发布所有写入的数据都应默认使用您的密钥加密。我测试了在加密存储桶中使用 boto 编写文件,并且该对象确实使用存储桶密钥加密。我不确定 EMR 有什么不同

https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-bucket-encryption.html

于 2021-10-01T09:26:25.477 回答