當前我登錄到IAM並手動編輯我的S3存儲桶策略。當我在編輯器中改變某些內容時,除非通過取消並退回並查看它退出編輯器,否則我不知道策略是什麼。所以我無法確切知道我改變了什麼。所以編輯是一種痛苦,尤其是考慮到我有時會發現自己正在改變某些東西,然後再測試這些改變,並且沒有簡單的方法回滾到我開始的地方。版本控制策略
由於缺乏版本控制而導致的另一個問題是沒有記錄爲什麼或何時修改了特定權限。例如,我真的很想知道我們在我們的存儲桶上需要ListBucket權限的原因,因爲它需要文件上傳才能正常工作。你知道,你可能會把它放在一個git commit消息中。
既然您已經理解並深切關注我的動機,我想知道如何最好地將我的政策變爲git。在可能的範圍內,我希望通過我寫的代碼來改變權限的唯一方法,假定只要您進行更改,就會提交到存儲庫。這當然不是完美的安全性,但它確實提供了什麼時候發生變化的計算,並給了我們一個單獨的地方來進行修改。
這裏是我的建議:
- 創建IAM用戶調用policy_editor
- 所有用戶吊銷策編輯權限
- 給policy_editor策略編輯權限
- 不要給policy_editor密碼(因此有使用API憑據來更改策略)
我的問題是:
- 這可能嗎? (理想情況下,即使root用戶也沒有權限編輯策略,所以不會偶然發生)
- 這是個好主意嗎?
- 有沒有更好的解決方案?
- 有沒有工具可以做到這一點?
謝謝!
感謝您的詳細回覆。我將研究CloudTrail,如果這提供了我正在尋找的歷史記錄,我可能會跳過自動化。完全同意其他觀點。順便說一句,有一件事讓我想起編寫代碼來做到這一點,理想情況下,我想輸入用戶名/密碼以便代碼正常工作,但是您只能使用令牌/祕密組合來充當IAM用戶編程。沒什麼大不了的,只是有點煩人,不得不找出最好的辦法。 – Brad 2014-10-21 17:48:55