AmazonAmazon SysOps Administrator Associate SOA-C02 Certification·TW·更新於 2 Aug 2026
帳戶 A 在 EC2 執行個體上執行正式環境應用程式,該應用程式必須查詢帳戶 B 中的 DynamoDB 資料表。授予帳戶 A 中的 EC2 執行個體存取帳戶 B 中資料表的最安全方法是什麼?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 在帳戶 B 中,建立一個具有查詢 DynamoDB 資料表權限的 IAM 角色。將帳戶 A 中 EC2 執行個體的 IAM 角色新增到新角色的信任策略。然後允許帳戶 A 中的 EC2 執行個體角色呼叫帳戶 B 中該角色的 sts:AssumeRole。.
為什麼這是答案
最安全的方法是使用跨帳戶 IAM 角色。在帳戶 B 中建立一個 IAM 角色,授予其查詢 DynamoDB 資料表的權限。此角色的信任策略應允許帳戶 A 中 EC2 執行個體的 IAM 角色執行 sts:AssumeRole 操作。然後,帳戶 A 中的 EC2 執行個體角色被授予呼叫帳戶 B 中該角色的 sts:AssumeRole 權限。這樣,EC2 執行個體就不會直接擁有對帳戶 B 資源的權限,而是透過擔任角色來獲得臨時憑證,從而實現最小權限原則。
其他選項的缺點:
直接授予帳戶 A 中的 EC2 執行個體角色對帳戶 B 中資料表的權限,並使用 PassRole 不適用於跨帳戶直接存取。PassRole 是為了將權限傳遞給服務,而不是直接存取資源。
更新帳戶 A 中的 EC2 執行個體角色並修改 DynamoDB 資源策略可能可行,但跨帳戶 IAM 角色是更標準和推薦的模式,提供更好的權限管理和隔離。
使用靜態 IAM 存取金鑰是極不安全的做法,因為金鑰可能會洩露,且難以輪換和管理。