2017-08-25 2 views
0

Ich habe meine Datei in Amazon S3 Eimer geladen. beim Klicken auf die hochgeladene Datei in s3 gibt es mir die Eigenschaften der hochgeladenen Datei und der Link für die hochgeladene Datei.Wenn ich kopiere den Link in einem Browser einfügen wird die Datei heruntergeladen.Cloudfront Sicherung von Dateien in Amazon S3?

meine Bucket-Richtlinie ist wie folgt.

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

Aber ich donot meine Audio-/Video-/Bilddateien heruntergeladen werden will, wenn wir den Link in einem browzer..Instead kopieren fügen Sie die Audio-/Video-/Bilddatei nur durch meine Website angezeigt werden. Um dies zu erreichen habe ich verwendet,

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

ich habe eine signierte URL unter Verwendung der oben npm Modul erstellt:

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

was soll ich in privaten Schlüssel String geben ???? Was sollte meine Bucket-Richtlinie sein? Was soll ich mit CName tun? kann jemand das in Kürze erzählen?

Antwort

1

Sie können Ihre CloudFront-Schlüsselpaar-ID und den privaten Schlüssel über die Security Credentials Section (Anmeldung mit Root-Konto) in der AWS-Webkonsole erhalten.

In Ihrer S3-Bucket-Richtlinie können Sie den öffentlichen Zugriff verweigern und in AWS CloudFront nur Origin Access Identity zulassen, um auf S3 zuzugreifen.

Wenn Sie Ihren Domain-Namen (URL) anpassen möchten, auf dem Sie die Dateien serversieren, können Sie hierfür das CName-Mapping verwenden, indem Sie AWS Route53 verwenden oder einen anderen DNS-Provider verwenden.

+0

Dann Bucket-Politik? – Jagadeesh

+0

Sie können den Prozess mithilfe von CloudFront automatisieren. Beim Erstellen des CloudFront-Verteilungsassistenten können Sie die Richtlinien automatisch hinzufügen, wenn Sie den Bucket als privat festlegen. – Ashan

+0

ok Ist dies der einzige Prozess oder eine andere Möglichkeit, um sichere Weblinks zu erreichen? – Jagadeesh

Verwandte Themen