用 S3 管理團隊成員個人檔案儲存空間

Veck
3 min readOct 3, 2017

需求架構

你是一間公司的 IT Manager,你被要求提供每個新來的員工一個雲端空間,你最後選擇了 Amazon S3 作為員工的雲端儲存空間,因為有以下幾個優點:

  1. 公司有一組 Amazon Web Service 的帳號 vcompany,可以在此帳號下針對每個員工建立各自的 IAM account,如此可以統一管理員工的存取
  2. 可以整合內部系統(如果也是採用 AWS 服務則整合會更好)
  3. Pay as you use.

你不希望員工自己建立一個私人的 AWS 帳號來存取公司資料,且限制每個員工只能存取自己的資料夾或是指定的公共資料夾

依照需求,你會在 vcompany 的帳號下:

  1. 先建立一個 bucket 叫做 employee
  2. 進入 employee,建立多個資料夾

因為你是希望限制資料夾層級的存取權限(folder-level permission),所以需要透過設定 Policy 來達到目的,假設你要針對新員工 David 指定他只能存取 employee bucket 下自己的資料夾,你需要以 vcompany 的帳號進入 IAM console,建立一個 Policy 如下:

假設命名此 Policy 為 s3_for_David

接著繼續以 vcompany 進入 IAM console,建立一個 user 叫做 David,並將剛剛建立的 s3_for_David 這個 policy attach 到這個 user

如此一來,登入 David 以後,雖然還是可以看到其他資料夾

但 David 就無法進入其他 user 的資料夾了

只能進入自己的資料夾

--

--