Google cloud storage產生signed url的應用
Signed url的目的跟說明 這個功能主要是讓系統認可的使用者可以透過取的一個暫時的網址去存取雲端空間的權限
目前市面上有很多雲端提供者(cloud provider),例如Google(GCP), Amazon, Azure…,他們都提供網路空間上開發者進行系統整合。
但是這些的空間通常因爲安全性(Security)的考量,都會將空間設定是私人,為的是防止有心人隨意上傳檔案。 但是會衍生出系統使用者(user)並沒有辦法上傳檔案,為了解決這個問題上 signed URL這個機制。
使用者必須先透過系統驗證機制(帳號/密碼, oauth…)讓系統知道使用者是誰之後,系統認可後為使用者製造出一段暫時性的網址,讓使用者去上傳或者是瀏覽檔案系統
在此篇文章中我們針對Google service的進行說明
如何做到Signed url的機制 使用者必須透過驗證機制讓伺服器知道他是合法的使用者,如此一來伺服器可以為使用者製造出一個暫時有權限的網址,並透過API回傳給使用者,使用者取的後就可以使用這個網址直接上傳到目標的空間。當有心人士想上傳不合法的檔案,會因為無取得系統的認可而不能上傳檔案(因為folder預設會是privated)。
Debug過程 Send PUT http request to upload the file to a GCS bucket. And then the error message pop up on the chrome dev console. :::danger Access to XMLHttpRequest at ‘https://storage.googleapis.com/xxxxxx' from origin ‘http://127.0.0.1:5000’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. ::: You have to update the bucket CORS policy by running following command.
read more