EC2 上的應用程式先前使用儲存在環境變數中的 IAM 使用者存取金鑰,透過 boto 呼叫 DynamoDB。開發人員附加了具有相同權限的執行個體角色,然後刪除了 IAM 使用者。重新啟動後,應用程式日誌顯示 AccessDeniedException,但開發人員可以使用其個人帳戶在伺服器上執行 DynamoDB CLI 命令。造成此例外狀況的「最」可能原因為何?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 應用程式仍在使用已停用的環境變數憑證。.
為什麼這是答案
應用程式在重新啟動後出現 AccessDeniedException,最可能的原因是它仍然嘗試使用舊的、已儲存在環境變數中的 IAM 使用者存取金鑰。即使執行個體角色已附加並具有正確權限,許多應用程式在啟動時會優先載入環境變數中的憑證。由於原始 IAM 使用者已被刪除,這些憑證已失效,導致存取被拒。開發人員個人帳戶能夠執行 CLI 命令,是因為他們使用了自己的有效憑證,而非應用程式所使用的憑證。IAM 政策傳播通常很快,且 SDK 確實支援執行個體角色憑證。安全群組不允許存取 169.254.169.254 會阻止取得中繼資料服務憑證,但通常會導致不同的錯誤或根本無法啟動。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡