gpt4 book ai didi

encryption - 强制 S3 存储桶的服务器端加密

转载 作者:行者123 更新时间:2023-12-03 20:23:17 36 4
gpt4 key购买 nike

我想设置一个 S3 存储桶策略,以便所有上传到该存储桶的请求都将使用服务器端加密,即使它未在请求 header 中指定。

我看过这篇文章( Amazon S3 Server Side Encryption Bucket Policy problems ),其中有人设法设置了一个存储桶策略,拒绝所有未指定服务器端加密的放置请求,但我不想拒绝,我希望放置成功但使用服务器端加密。

我的问题是将 EMR 的输出流式传输到我的 S3 存储桶,我无法控制发出请求的代码,而且在我看来,必须在每个请求的基础上指定服务器端加密。

最佳答案

恕我直言,没有办法自动告诉 Amazon S3 为每个 PUT 请求打开 SSE。
所以,我要调查的是以下内容:

  • 编写一个脚本来列出您的存储桶
  • 对于每个对象,获取元数据
  • 如果未启用 SSE,请使用 PUT COPY API ( http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html ) 添加 SSE
    "(...) 复制对象时,您可以保留大部分元数据(默认)或指定新元数据 (...)"
  • 如果PUT操作成功,使用DELETE对象API删除原对象

  • 然后每小时或每天运行该脚本,具体取决于您的业务需求。
    您可以在 Python ( http://boto.readthedocs.org/en/latest/ref/s3.html ) 中使用 S3 API 来更轻松地编写脚本。

    如果这种“写后更改”解决方案对您的业务而言无效,您可以在不同级别工作(与上述 Julio 的回答一致)
  • 在您的 API 客户端和 S3 API 之间使用代理(如您站点上的反向代理),并将其配置为为每个 PUT/POST 请求添加 SSE HTTP header 。
    开发人员必须通过代理且无权针对 S3 API 端点发出请求
  • 编写一个包装库来自动添加 SSE 元数据,并强制开发人员在 SDK 之上使用您的库。

  • 今天晚些时候是组织中的纪律问题,因为在技术层面实现它们并不容易。

    塞伯

    关于encryption - 强制 S3 存储桶的服务器端加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069331/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com