2017-08-25 13 views
0

ファイルをamazon s3 bucketにアップロードしました。 アップロードされたファイルをs3でクリックすると、アップロードされたファイルのプロパティとアップロードされたファイルのリンクが表示されます。リンクを貼り付けると、ファイルがダウンロードされます。amazon s3のクラウドフロント保護ファイル?

マイバケットポリシーは次のとおりです。

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

しかし、私は、我々は唯一の私のウェブサイトを介して表示されるように、オーディオ/ビデオ/画像ファイルbrowzer..Instead内のリンクをコピー&ペーストするとき、私のオーディオ/ビデオ/画像ファイルをダウンロード取得したいscroll down toパソコンへ転送。 は、これを実現するために、私は、

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

を使用していた私は、上記のNPMモジュールを使用して署名したURLを作成しました:

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: ??? 
}); 

iは、秘密鍵の文字列に何を与えるべき???? 私のバケツポリシーは何ですか? CNameとどうすればいいですか? 誰かがこれを簡単に伝えることができますか?

答えて

1

AWS WebコンソールでSecurity Credentials Section(ルートアカウントを使用したログイン)を使用して、CloudFrontの鍵ペアIDと秘密鍵を取得できます。

S3バケットポリシーでは、公開アクセスを拒否し、AWS CloudFrontのOrigin Access IdentityのみがS3にアクセスできるようにすることができます。

ファイルをサーバーするドメイン名(URL)をカスタマイズする場合は、AWS Route53または他のDNSプロバイダを使用してCNameマッピングを使用できます。

+0

バケツポリシー? – Jagadeesh

+0

CloudFrontを使用してプロセスを自動化できます。 CloudFront配布ウィザードを作成する際に、バケットを非公開にすると自動的にポリシーを追加できます。 – Ashan

+0

これはセキュアなWebリンクを実現するために利用できる唯一のプロセスか他のオプションですか? – Jagadeesh

関連する問題