2017-10-12 117 views
0

我建立了一個電子學習網站,並使用Amazon S3存儲文件。亞馬遜S3桶策略阻止下載?

我想:

•網站訪問者可以觀看視頻•他們不能下載 視頻**

我要補充哪些政策桶政策,先生?

我使用了下面的政策,但這個保持私密的視頻,所以他們都無法觀看和下載。

{ 
"Version": "2012-10-17", 
"Id": "Policy1459891655092", 
"Statement": [ 
    { 
     "Sid": "Stmt1459891443631", 
     "Effect": "Allow", 
     "Principal": "*", 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::mybucketname/public/*" 
    } 
] 

}

+0

必須先下載視頻才能觀看視頻。 S3不是視頻流服務。 – helloV

+0

歡呼,helloV。如何使用.ht訪問來防止右鍵單擊,先生? – Christopher

+0

你的用戶如何「觀看視頻」?您使用什麼技術向他們提供視頻?它是將視頻嵌入到HTML頁面中,還是以某種方式提供服務?你想*任何人*被允許*觀看*,或只選擇用戶?隨意編輯您的問題以提供更多詳細信息。 –

回答

2

S3可以提供受保護內容的流式傳輸。這是一個非常普遍的要求。

首先使用Amazon Elastic Transcoder將視頻轉碼爲HLS(HTTP實時流式傳輸)。用戶然後使用支持連接到您的Web服務器的HLS的視頻播放器或瀏覽器。存儲在S3上的內容被加密。 HLS將視頻分成許多小分段的多個分辨率。視頻在播放過程中會根據許多因素動態變化,例如互聯網速度的變化,設備分辨率等。CloudFront不需要提供HLS視頻。

看看亞馬遜的Elastic Transcoder和Apple的HLS查看器,讓你開始。即使Microsoft Edge支持HLS。

+0

謝謝,約翰漢利:) – Christopher

0

不能使用S3策略,以防止下載,因爲用戶必須下載來查看它。 S3也不支持流媒體。但你可以結合AWS Cloudfront來串流你的S3視頻。您只需設置允許AWS Cloudfront獲取您的S3視頻的權限,Cloudfront會將其緩存在邊緣。用戶可以通過Cloudfront網址流式傳輸視頻。

Read this for more detail

第一個選項是非常容易實現,並通過剛剛 大約每移動設備和桌面支持。您只需將 內容放入S3存儲桶並創建 指向存儲桶的CloudFront分配。您的用戶的視頻播放器將使用CloudFront URL(可作爲發行版的一部分訪問)來請求視頻 文件。該請求將根據用戶位置 指向最佳邊緣位置。 CloudFront將從其緩存中提供視頻, 將其從S3存儲桶中提取,如果尚未緩存的話。這 選項有幾個缺點。它會使您的觀衆帶寬使用效率低下。如果用戶不費心去觀看整個 視頻,則永遠不會看到內容仍然被下載。跳過 或快進也需要下載內容,可能 永遠不會被看到。

+0

謝謝,BTuan。 :) – Christopher