2016-03-02 203 views
0

我正在玩亞馬遜網關API,並且正在努力讓我的頭腦安全。AWS API網關安全

顯然,我創建的API不能被任何人訪問,並且需要加以保護。亞馬遜建議使用API​​密鑰或IAM角色。我有幾個問題:

  1. 如何驗證我的客戶端請求,以便我的應用程序和只有我的應用程序可以使用該API?
  2. AWS如何確定傳入請求的角色?
  3. 如果我選擇API密鑰方法,它是如何工作的?

謝謝!

+1

可能的重複[Amazon API網關安全性](http://stackoverflow.com/questions/35746750/amazon-api -gateway-security) –

+0

請編輯您的第一個問題,並附上更多詳細信息,而不是創建新問題。 –

+0

我的不好。你能幫我解決上述問題嗎?非常卡住! – user3024827

回答

1

如何驗證我的客戶端請求,以便我的應用程序和只有我的應用程序可以使用該API?

如果您的後端是Lambda函數,您可以授予API網關訪問權限。

如果您的後端是HTTP後端,您將不得不在HTTP後端找出驗證策略。

AWS如何確定傳入請求的角色?

如果您的API是必需的IAM身份驗證,傳入的請求已使用AWS sigV4算法簽名。 AWS能夠確定憑證的許可用於簽署請求。

如果我選擇API key方法,它是如何工作的?

所有傳入請求必須在標頭中包含API密鑰。如果允許密鑰訪問API,請求將被處理,否則將返回403.

+0

所以我將使用Lambda,並且某些功能會返回敏感數據,所以我希望能夠阻止任何人發送HTTP請求並獲取數據。 – user3024827

+0

您可以使用IAM身份驗證或自定義身份驗證功能來保護您的API,以便只有經過身份驗證的用戶才能夠從您的Lambda函數獲取數據。 以下是自定義身份驗證文檔:http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html –