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

需求架構

你是一間公司的 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,建立多個資料夾

https://gist.github.com/fbukevin/d63711f197869bb5e5eddafec9ac135b.js

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

https://gist.github.com/fbukevin/3a45c231a3e959fb3971ac7cfa2f7c4a.js

假設命名此 Policy 為 s3_for_David


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


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


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


只能進入自己的資料夾


發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s