AWS API网关安全

问题描述:

我正在玩亚马逊网关API,并且正在努力让我的头脑安全。AWS API网关安全

显然,我创建的API不能被任何人访问,并且需要加以保护。亚马逊建议使用API​​密钥或IAM角色。我有几个问题:

  1. 如何验证我的客户端请求,以便我的应用程序和只有我的应用程序可以使用该API?
  2. AWS如何确定传入请求的角色?
  3. 如果我选择API密钥方法,它是如何工作的?

谢谢!

+1

可能的重复[Amazon API网关安全性](http://*.com/questions/35746750/amazon-api -gateway-security) –

+0

请编辑您的第一个问题,并附上更多详细信息,而不是创建新问题。 –

+0

我的不好。你能帮我解决上述问题吗?非常卡住! – user3024827

如何验证我的客户端请求,以便我的应用程序和只有我的应用程序可以使用该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 –