這些題目為學習目的而獨立製作,並非 AWS 官方考題、實際考題、外流題或考題庫。
SAA-002
Lambda 函式需要將查詢資料寫入 DynamoDB 資料表。最符合最小權限原則的 IAM 政策為何?
選項
解析與正確答案
閱讀解析與正確答案(劇透:建議先自行作答)
正確答案:D. 僅允許對目標資料表執行 dynamodb:PutItem
解析
若 Lambda 僅執行查詢儲存的作業,僅允許對目標 DynamoDB 資料表執行 PutItem 才符合最小權限。
各選項解析
A. 對 Lambda 執行角色授予 AdministratorAccess
錯誤。AdministratorAccess 權限過於廣泛。
B. 將 DynamoDB 的存取金鑰儲存於 Lambda 環境變數
錯誤。將 AWS 認證資訊儲存於環境變數的設計應予避免。應使用 Lambda 執行角色。
C. 對所有 DynamoDB 資料表允許 dynamodb:*
錯誤。dynamodb:* 屬於權限過大。
D. 僅允許對目標資料表執行 dynamodb:PutItem
正確。已將對象資料表與必要的操作範圍限定。
實際使用情境
對 Lambda 執行角色授予的 IAM 政策,最小權限原則為僅限定於函式實際所需的操作與目標資源。若函式僅負責將查詢寫入 DynamoDB 的特定資料表,適合採用 Action 僅為 `dynamodb:PutItem`、Resource 僅為對象資料表 ARN 的政策。若授予 `dynamodb:*` 或 AdministratorAccess,當函式遭入侵時影響範圍將大幅擴大,應予避免。 實務上常見的反模式為,將 AWS 的存取金鑰(IAM 使用者的長期認證資訊)儲存於 Lambda 的環境變數的設計。Lambda 可透過執行角色自動取得暫時性的認證資訊,因此無需將長期金鑰帶入程式碼或環境變數。長期金鑰在外洩時需要進行輪替的運作,並使 IAM Access Analyzer 與 CloudTrail 的追蹤變得困難。即使要與 Secrets Manager 或 Systems Manager Parameter Store 搭配使用,儲存對象也應僅限於外部系統(DB 的 DSN、外部 API 金鑰等),對 AWS 的認證則應交由角色處理。 SAA-C03 中,「最小權限」「IAM 角色 vs 存取金鑰」「將 Resource 限縮至 ARN 等級」等觀點經常出題。誤答模式為萬用字元 Action、AdministratorAccess、將存取金鑰儲存於 Lambda 環境變數等,皆違反最小權限與最佳實務,可據此排除。較高階的出題還會進一步考問,使用 Condition 限制來源 VPC 端點或 MFA、以 IAM Access Analyzer 監控實際使用權限等發展性題目。