gpt4 book ai didi

amazon-web-services - Cloudfront 分配如何使用 AWS KMS key 来获取静态加密的 S3 镜像?

转载 作者:行者123 更新时间:2023-12-03 16:24:50 25 4
gpt4 key购买 nike

我想用 AWS 的服务器端加密 (SSE) AWS key 管理服务 (KMS) 加密 S3 中的静态数据。 (请参阅此 AWS blog post 详细说明 SSE-KMS。)

但是,我还要求使用 Cloudfront Presigned URL。

如何设置 Cloudfront 分配以使用 AWS KMS 中的 key 来解密和使用静态加密的 S3 对象?

( This Boto3 issue 似乎来自寻找与我相同答案的人,但没有结果)。

最佳答案

这在以前是不可能的,因为 CloudFront 不支持它,并且因为(正如我在对约翰的回答的评论中提到的那样 - 这是在正确的轨道上)无法使用 Lambda@Edge 推出您自己的解决方案,因为 X-Amz-Cf-Id请求 header ——在 CloudFront 的背面生成,仅对 S3 可见,对触发器调用不可见——将使您尝试添加到 Lambda@Edge 触发器内的请求的任何签名无效,因为所有 X-Amz-* header 的签名都是强制性的.

但是 X-Amz-Cf-Id header 值现在暴露给事件结构中的 Lambda@Edge 触发器函数——不是与其他请求 header ,而是作为一个简单的字符串属性——在 event.Records[0].cf.config.requestId 处。

有了这个值,您就可以使用 Lambda@Edge 环境中的执行角色凭证和内置 SDK 来生成签名并添加必要的 header (包括带有派生凭证标识符和新生成的签名的 Authorization header ) ) 的请求。

此设置不使用源访问标识符 (OAI),因为使用 Lambda@Edge 触发器的 IAM 执行角色而不是 OAI 来说服 S3 请求已获得授权。

Achraf Souk 发布了一篇官方 AWS 博客文章,从头到尾解释了该解决方案。

https://aws.amazon.com/blogs/networking-and-content-delivery/serving-sse-kms-encrypted-content-from-s3-using-cloudfront/

关于amazon-web-services - Cloudfront 分配如何使用 AWS KMS key 来获取静态加密的 S3 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50166557/

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