如何啟用 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 主控台中,選擇您的 API 名稱。

2.    在資源窗格中,選擇要為其啟用 IAM 身分驗證的方法 (例如 GETPOST)。

3.    在方法執行窗格中,選擇方法請求

4.    在設定下,對於授權,選擇鉛筆圖示 (編輯)。然後,從下拉式清單選擇 AWS_IAM,然後選擇核取記號圖示 (更新)。

5.    (選用) 針對您要為其啟用 IAM 身分驗證的每個 API 方法重複步驟 2-4。

6.    部署您的 API 以使變更生效。

7.    在階段編輯器窗格中,複製調用 URL。。您稍後將使用調用 URL 進行測試。

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

授予 API 授權給 IAM 使用者群組

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 的授權標籤上,執行下列操作:
對於類型,選擇 AWS 簽章
對於 AccessKeySecretKey,輸入 IAM 使用者的 IAM 存取金鑰 ID 和私密存取金鑰。IAM 使用者必須位於有權存取您的 API 的 IAM 群組中。

2.    在輸入請求 URL 欄位中,貼上 API 的調用 URL。如果您在特定 API 資源的方法上啟用了 IAM 身分驗證,請將資源名稱附加至調用 URL 的末端。

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

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


相關資訊

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