有位同事在出貨前傳來一段 IAM 政策敘述請你審閱。若要用 AWS 的思維來閱讀它,你得先知道敘述中每個部分各自的作用。
這段敘述被拆成 6 個片段。每個片段都在 AWS 即將做出的決策中負責一項特定的工作。
本練習屬於課程
將理論付諸實踐,立即體驗我們的互動練習
在本章中,你會建立保護真實 AWS 工作負載的思維模型:把發動呼叫的行為者,與 AWS 實際評估的 principal 分開看待。接著,你會用 AWS 的方式閱讀 IAM policy,判斷一次呼叫是被允許、被拒絕,或是因為沒有明確規則而靜默通過。最後,你會以角色假設、臨時憑證與 pre-signed URLs 取代長期存取金鑰,徹底把金鑰從版本庫移除。
當前練習
在本章中,你會清楚區分用於登入的 Cognito user pool,與用於取得 AWS 憑證的 identity pool,並在信任 token 內容之前先驗證其簽章。接著,你會釐清實際的權限來源,包含 identity policy、resource policy,以及限制其上限的 boundary,並用這張地圖在 API Gateway 端點之間選擇 IAM、Cognito,或 Lambda authorizer。最後,你會把機密從程式碼與日誌中移除,妥善選擇儲存位置、遮罩方式與輪替習慣,讓這些做法禁得起事件檢討。
在本章中,你會把加密模式對應到需求:S3 物件的 4 種加密方式,以及唯一一條能強制傳輸加密的 policy。接著,你會判斷當 key policy 與 IAM policy 同時作用時,究竟是誰在控制 KMS 金鑰,並細讀 CloudTrail,分辨它的沉默是因為沒有記錄,還是真的沒有事件發生。最後,你會把整門課的檢查清單套用到即將上線的一項服務,並看見同樣的身分、機密與加密決策如何延伸到 pipeline 與代你呼叫 AWS 的 AI 代理。