一位開發人員透過網際網路面向的 Application Load Balancer (ALB) 使用 HTTPS 監聽器公開 Web API,並已設定 Amazon Cognito 使用者集區。開發人員希望確保對 API 的每個請求都透過 Cognito 進行身份驗證。應該怎麼做?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 在 ALB 監聽器規則中新增 authenticate-cognito 動作,並將 OnUnauthenticatedRequest 設定為「deny」。.
為什麼這是答案
在 ALB 監聽器規則中新增 authenticate-cognito 動作,並將 OnUnauthenticatedRequest 設定為「deny」,是確保所有 API 請求都透過 Cognito 進行驗證的最直接且推薦的方法。此設定會將未經驗證的使用者重新導向至 Cognito 登入頁面,成功登入後再導回原始請求。若使用者未經驗證,請求將被拒絕。 其他選項: 新增一個監聽器規則,如果 Authorization 標頭遺失,則傳回固定的 401 Unauthorized 回應,這無法主動觸發 Cognito 驗證流程,只是被動拒絕請求。 在 ALB 前方部署 Amazon API Gateway 並建立 COGNITOUSERPOOLS 授權方,雖然可行,但增加了額外的服務層,複雜性較高,且 ALB 本身已提供此功能。 新增一個目標群組,其中包含一個 Lambda 函數用於驗證,這會將驗證邏輯推給後端應用程式處理,增加了開發和維護的負擔,且效率不如 ALB 原生整合。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡