我想要啟用 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 的存取權。
1. 在 API Gateway 主控台中,選擇您的 API 名稱。
2. 在資源窗格中,選擇要為其啟用 IAM 身分驗證的方法 (例如 GET 或 POST)。
3. 在方法執行窗格中,選擇方法請求。
4. 在設定下,對於授權,選擇鉛筆圖示 (編輯)。然後,從下拉式清單選擇 AWS_IAM,然後選擇核取記號圖示 (更新)。
5. (選用) 針對您要為其啟用 IAM 身分驗證的每個 API 方法重複步驟 2-4。
6. 部署您的 API 以使變更生效。
7. 在階段編輯器窗格中,複製調用 URL。。您稍後將使用調用 URL 進行測試。
如需詳細資訊,請參閱使用 API Gateway 主控台設定方法。此外,請在 API Gateway 主控台中取得 API 的調用 URL。
1. 確定您希望 API 使用者擁有的許可。如需詳細資訊,請參閱使用 IAM 許可控制 API 的存取權。
2. 建立包含所需許可的 IAM 政策。如需範例和格式化指引,請參閱下列內容: 控制調用 API 的存取權 API 執行許可的 IAM 政策範例 Amazon API Gateway 身分型政策範例 **注意:**若要完成本文末尾的測試指示,您必須允許調用許可。
3. 透過執行下列其中一個操作,將 IAM 政策連接至 IAM 群組: 將政策連接至現有的 IAM 群組。 -或- 在建立新的 IAM 群組時連接政策。
如需詳細資訊,請參閱建立政策並連接至 IAM 使用者。
**注意:**最佳實務是在 IAM 群組層級授予存取權。
您也可以使用 API Gateway 資源政策 (資源型許可) 以及 IAM 政策 (身分型許可),來管理對 API 的存取權。如需詳細資訊,請參閱 IAM 身分驗證和資源政策和身分型政策和資源型政策。
**重要:**如果您使用一種類型的 IAM 政策拒絕對 API 的存取,而使用另一種類型的政策允許存取,則存取會遭拒。如需詳細資訊,請參閱政策評估結果表。
使用 Postman 應用程式,透過您為其啟用 IAM 身分驗證的方法向您的 API 資源傳送請求。
**注意:**若要使用其他工具或環境手動驗證傳送至 API Gateway 的請求,請使用簽章第 4 版簽署程序。如需詳細資訊,請參閱簽署請求。
1. 在 Postman 的授權標籤上,執行下列操作: 對於類型,選擇 AWS 簽章。 對於 AccessKey 和 SecretKey,輸入 IAM 使用者的 IAM 存取金鑰 ID 和私密存取金鑰。IAM 使用者必須位於有權存取您的 API 的 IAM 群組中。
2. 在輸入請求 URL 欄位中,貼上 API 的調用 URL。如果您在特定 API 資源的方法上啟用了 IAM 身分驗證,請將資源名稱附加至調用 URL 的末端。
**注意:**具有資源名稱的完整請求 URL 如下所示:
已驗證的請求會傳回 200 正常回應代碼。未經授權的請求會傳回訊息遺失身分驗證字符和 403 禁止回應代碼。
API Gateway 資源政策如何影響授權工作流程