跳至內容

如何啟用 API Gateway REST API 的 IAM 身分驗證?

2 分的閱讀內容
0

我想啟用 AWS Identity and Access Management (IAM) 身分驗證以存取 Amazon API Gateway (API Gateway) REST API。

簡短描述

在 API Gateway 主控台中開啟 API 方法的 IAM 身分驗證。然後,使用 IAM 政策和資源政策為 API 使用者指定許可。

如需有關 API Gateway 可用的不同安全功能的詳細資訊,請參閱在 API Gateway 中控制和管理 REST API 的存取權

解決方法

開啟 REST API 的 IAM 身分驗證

  1. 在 API Gateway console (API Gateway 主控台) 中,請選擇您的 API 名稱。
  2. Resources (資源) 窗格中,請選擇要為其啟用 IAM 身分驗證的方法 (例如 GETPOST)。
  3. Method Execution (方法執行) 窗格中,請選擇 Method Request (方法請求)。
  4. Settings (設定) 下,對於 Authorization (授權),選擇鉛筆圖示 (Edit (編輯))。然後,從下拉式清單選擇 AWS_IAM,然後選擇核取記號圖示 (Update (更新))。
  5. (選用) 針對您要為其啟用 IAM 身分驗證的每個 API 方法重複步驟 2-4。
  6. 部署您的 API 以使變更生效。
  7. Stage Editor (階段編輯器) 窗格中,複製**調用網址。**您稍後將使用調用網址進行測試。

如需詳細資訊,請參閱使用 API Gateway 主控台設定方法。此外,請在 API Gateway 主控台中取得 API 的調用 URL

授予 IAM 使用者群組 API 授權

  1. 確定您希望 API 使用者擁有的權限。如需詳細資訊,請參閱使用 IAM 權限控制 API 的存取權
  2. 建立包含所需權限的 IAM 政策。如需範例和格式化指引,請參閱下列內容:
    控制調用 API 的存取權
    API 執行權限的 IAM 政策範例
    Amazon API Gateway 身分型政策範例
    **注意:**若要完成本文末尾的測試指示,您必須允許調用權限。
  3. 透過執行下列其中一個操作,將 IAM 政策連接至 IAM 群組:
    將政策連接至現有的 IAM 群組
    -或-
    建立新的 IAM 群組時,連接政策。

如需詳細資訊,請參閱建立政策並連接至 IAM 使用者

**注意:**最佳實務是在 IAM 群組層級授予存取權。

(選用) 設定 API Gateway 資源政策

您也可以使用 API Gateway 資源政策 (資源型權限) 以及 IAM 政策 (身分型權限),來管理對 API 的存取權。如需詳細資訊,請參閱 IAM 身分驗證和資源政策身分型政策和資源型政策

**重要:**如果您使用一種類型的 IAM 政策拒絕對 API 的存取,而使用另一種類型的政策允許存取,則存取將遭拒。如需詳細資訊,請參閱政策評估結果表

傳送請求以測試身分驗證設定

使用 Postman 應用程式,透過您為其啟用 IAM 身分驗證的方法向您的 API 資源傳送請求。

**注意:**若要使用其他工具或環境手動驗證傳送至 API Gateway 的請求,請使用簽章第 4 版簽署程序。如需詳細資訊,請參閱簽署請求

  1. 在 Postman 的 Authorization (授權) 索引標籤上,執行下列操作:
    對於 Type (類型),請選擇 AWS 簽章。
    對於 AccessKeySecretKey,請輸入 IAM 使用者的 IAM 存取金鑰 ID 和私密存取金鑰。IAM 使用者必須位於有權存取您 API 的 IAM 群組中。
  2. Enter request URL (輸入請求網址) 欄位中,貼上 API 的調用網址。如果您在特定 API 資源的方法上啟用了 IAM 身分驗證,請將資源名稱附加至調用網址的末端。

**注意:**具有資源名稱的完整請求 URL 如下所示:https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName

已驗證的請求會傳回 200 正常回應代碼。未經授權的請求會傳回訊息遺失身分驗證字符403 禁止回應代碼。

相關資訊

API Gateway 資源政策如何影響授權工作流程