Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何在不使用签名URL的情况下安全地提供S3文件?_Amazon S3_Amazon Cloudfront - Fatal编程技术网

Amazon s3 如何在不使用签名URL的情况下安全地提供S3文件?

Amazon s3 如何在不使用签名URL的情况下安全地提供S3文件?,amazon-s3,amazon-cloudfront,Amazon S3,Amazon Cloudfront,我不是AWS专家,所以我希望有人能给我指出正确的方向 我将文件(特别是图像)存储在S3存储桶中,我需要将这些图像显示在一个KML文件中,该文件将交付给客户机。图像URL将进入HTML标记中。(供参考,KML允许嵌入HTML代码作为其内容的一部分。)但是,这些图像不能公开访问(因为它是机密项目的一部分),只能使用特殊URL访问 我对Cloudfront选项进行了一些探讨,据我所知,使用Cloudfront签名的URL将不起作用,因为上面有一个过期日期,这对客户端不起作用,因为我听说最大过期日期是7

我不是AWS专家,所以我希望有人能给我指出正确的方向

我将文件(特别是图像)存储在S3存储桶中,我需要将这些图像显示在一个KML文件中,该文件将交付给客户机。图像URL将进入HTML标记中。(供参考,KML允许嵌入HTML代码作为其内容的一部分。)但是,这些图像不能公开访问(因为它是机密项目的一部分),只能使用特殊URL访问

我对Cloudfront选项进行了一些探讨,据我所知,使用Cloudfront签名的URL将不起作用,因为上面有一个过期日期,这对客户端不起作用,因为我听说最大过期日期是7天。此外,甚至可以使用签名URL作为一个URL的src吗

而且签名cookie也不起作用,因为Google Earth(打开KML文件)在呈现HTML代码时实际上不使用集成的web浏览器

我确实运行了一个Python脚本来生成这个KML文件,所以我可以创建签名URL,但不幸的是,我不认为签名URL会像我前面描述的那样帮助解决这个问题

关于如何解决这个问题,有什么想法或建议吗?S3或Cloudfront文件URL中是否有一个不会过期的密钥


谢谢

CloudFront可用于生成签名URL,允许您设置自己的过期日期,最长可延长至年

您还可以使用已签名的URL分发私有内容,该URL是 有效期更长,可能长达数年

根据AWS的说法,允许通过CloudFront访问S3中的资源,而不是直接公开S3URL是一种很好的做法。有关更多信息,请阅读本文档

最后是你问题的答案

甚至可以使用一个签名的URL作为


是的,毕竟它只是一个带有一些额外字符的url

您是否要求仅授权一个第三方客户端安全地访问这些图像,而无需URL的任何过期日期?新客户以单独的权限加入的可能性有多大(这可能吗)?