2017-08-25 40 views
0

我已经将我的文件上传到amazon s3存储桶。 上单击S3上传文件时,它给我的上传文件的属性和链接上传file.When我复制粘贴到browzer的文件被下载的链接。在amazon s3中的云端安全文件?

我斗政策如下。

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
     { 
      "Sid": "1", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::my-bucket-name/*" 
     } 
    ] 
} 

但我想DONOT当我们复制粘贴到browzer..Instead链接的音频/视频/图像文件只能通过我的网站会显示我的音频/视频/图像文件即可下载。 要做到这一点我都用过,

npm aws-cloudfront-sign 
cfUtil = require(aws-cloudfront-sign) 

我创建使用上述NPM模块签署网址:

var cfKeypairId = 'AJDS2LD3KSD5SJSDKJSA(sample key pair)'; 
var cfURL = 'http://my_domain_name'+file_path; 
//my domain name is something that starts with smb...cloudfront.net 
var signedUrl = cfUtil.getSignedUrl(cfURL, { 
    keypairId: cfKeypairId, 
    expireTime: Date.now() + 60000, 
    privateKeyString: ??? 
}); 

应该我给什么私有密钥字符串???? 我应该制定什么策略? 我应该如何处理CName的? 有人可以简单介绍一下吗?

回答

1

您可以获取您的CloudFront的密钥对ID和使用AWS Web控制台Security Credentials Section(登录使用Root帐户)私钥。

在您的S3存储策略,您可以拒绝公众访问,只允许在Origin Access Identity AWS CloudFront的访问S3。

如果您计划定制您的域名(网址),您服务器上的文件,您可以使用AWS Route53或使用任何其他的DNS提供商可以使用CNAME映射它。

+0

然后斗政策? – Jagadeesh

+0

您可以使用CloudFront自动执行此过程。创建CloudFront分发向导时,如果将存储区设为专用,则可以自动添加策略。 – Ashan

+0

好的,这是唯一的过程或任何其他选项可用于实现安全的网络链接? – Jagadeesh