小编Ric*_*son的帖子

使用c#对Cloudfront签名的URL

我已经尝试了很多东西而且我承认失败(我在这里已经阅读了很多回复但到目前为止没有人帮助过我).我正在尝试为Cloudfont上保存的文件设置签名URL.我能够为S3创建签名的URL,但我无法为Cloudfront工作.对于cloudfront,我使用AWS SDK中的以下内容:

var url = AmazonCloudFrontUrlSigner.GetCannedSignedURL(    AmazonCloudFrontUrlSigner.Protocol.http, "cdn.coffeebreakgrooves.com", privateKey, 
file, cloudFrontKeyPairID, DateTime.Now.AddDays(2));
Run Code Online (Sandbox Code Playgroud)

我收到了一个签名的URL,但是在关注链接时我被拒绝访问,当我读到它时,我建议设置Origin Access Identity.然后我转到我的分发设置并设置Origin Access Identity并选择:

  • 限制存储桶访问:是
  • 源访问标识:使用现有标识
  • 授予读取权限:是,更新存储桶策略

然后所有文件都在Cloudfront上公开可用,无论我在S3中对ACL有什么设置(所以即使file.txt对S3中的任何人没有权限,也可以通过Cloudfront访问),我无法判断签名是否已签名URL是否起作用,因为下载可以使用或不使用查询字符串,并且文件已公开.从本质上讲,我如何将我的文件设为私有但可以使用签名URL下载(并且我的签名方法是否正确?).如果删除生成的存储桶策略,则会再次限制访问.我想我需要知道如何设置存储桶策略,以便原始访问标识只能访问带有签名URL的存储桶...也许.

非常感谢您的帮助!

c# url signed amazon-cloudfront

5
推荐指数
1
解决办法
2938
查看次数

标签 统计

amazon-cloudfront ×1

c# ×1

signed ×1

url ×1