如何讓完美的讓USER只能存取一個 S3 bucket - 使用AWS Organizations
前陣子遇到一個這樣的需求, 外部的USER想用傳輸軟體上傳一些圖檔到 S3 ,做為靜態網站使用。直覺上這不是什麼難事, IAM 權限設定一下即可。
但是實際研究了一下, 無論IAM Policy如何設計, 對於S3 第一層的Bucket 列表, 只有兩種選擇, 全部列表出來或是全部隱藏. 並不能列出某一個特定Bucket 給USER看, 這造成兩個問題:
- 我不想讓USER(可能是外部USER甚至包商等等), 從S3 Bucket列表名稱裡,猜到公司的一些資訊.
- 有些第三方的S3上下傳軟體,依賴著這個List功能, 如果你隱藏了S3 Bucket List, 軟體會判定登入有問題而拒絕進一步操作.
AWS 官方Forum也證明了這個限制(2017/03)
使用 AWS Organizations
AWS Organizations是在2016年底 re:Invent 推出的新功能, 簡單來說, 就是管理AWS多帳號的功能。這邊指的多帳號,並不是IAM帳號,而是AWS Root Account. 當公司組織很大, 可以使用這功能開幾個帳號給下面單位使用 …
more ...