访问由另一个帐户上传的文件时出现Cloudfront 403错误
我有一个Cloudfront发行版,它将我的s3存储桶中的一个作为其原始服务器。 这些文件由第三方附件上传者上传到s3。
当我尝试通过cloudfront访问s3中的文件时,出现访问被拒绝XML的403 Forbidden错误(如下所示)。 但是当我手动将文件上传到s3存储桶时,我可以通过cloudfront访问该文件。
两个文件的权限都是相同的,除了文件的所有者。 对于我手动上传的文件的所有者,文件的文件是我的帐户和上传者上传的文件,它是上传者。 第三方附件上传者将对象完全访问给存储桶所有者。 另外,我限制了存储区访问权限,但不允许查看者访问
导致这个错误的原因是什么? 我如何去调试呢?
当第二个AWS账户将内容上传到通过带OAI的CloudFront提供内容的S3存储桶时,上传的文件需要在文件上传时使用--grant read = id =“OAI-canonical-ID”添加OAI规范ID ; 还将S3存储桶所有者添加为授予full = id =“BucketOwnerID”。 aws cli被用来执行上传。 根据使用的方法进行调整。 在S3存储桶中查看该文件时,权限会将CloudFront列为受让人。 该文件应该可以通过CloudFront读取。
您正在接收的“拒绝访问”响应可能是来自S3的响应,该响应由CloudFront在对象在S3中可用之前缓存。
例如,如果您尝试使用CloudFront URL并且该文件在S3中不存在,那么您将得到“拒绝访问”响应。 即使在上传文件之后,CloudFront也将缓存“访问被拒绝”响应,直到TTL结束。 在此期间,您将继续收到“拒绝访问”响应。
尝试使分配无效。 之后,请求文件,看看你是否得到正确的回应。
如果这解决了问题,那么您需要弄清楚如何避免在S3中存在对象之前从CloudFront请求该对象。
链接地址: http://www.djcxy.com/p/93543.html上一篇: Cloudfront 403 error while accessing files uploaded by another account
下一篇: Trying to load Redshift samples, Access Denied when COPYing from S3