【问题标题】:Amazon API security with API Keys?使用 API 密钥的 Amazon API 安全性?
【发布时间】:2016-10-06 23:08:05
【问题描述】:

我已经在亚马逊 API 网关上部署了我的 REST API,并且我面前有一个涉及安全问题的场景。 我正在为所有 api 请求使用 api 密钥,我想知道该 api 密钥是否以某种方式公开,并且我们知道已发布的应用程序正在使用相同的 api 密钥......那我有什么选择?

也提到了here 如果我希望每个用户的 api 密钥是唯一的,那么我每个 AWS 账户只能拥有 10000 个 API 密钥以使其更安全,但是如果用户数量超过 10000 怎么办。
请提出相同的建议,因为它非常重要。

【问题讨论】:

  • 我不确定您描述的“api 密钥”是否应该用于公众......我认为您需要研究您的应用程序设计。但话又说回来。我没用过api网关.....
  • 我只是想知道 aws 如何使用 api-keys 保护 api,因为如果暴露,任何人都可以使用 api 密钥发出请求?
  • 您如何建议将 api-keys 分配给用户?您可能需要查看 API Gateway Custom Authorizers。
  • 我认为除了将密钥保密之外,没有任何方法可以保护使用密钥的 API。这就像在说“如果我丢失了房门钥匙,我怎么能锁好门?”一把钥匙,一把钥匙,一把钥匙。如果这对您的应用程序很重要,您可能需要研究其他授权方法。
  • esperluette 是正确的。 API 密钥应该是更大授权方案的第一部分。

标签: node.js amazon-web-services aws-api-gateway


【解决方案1】:

不建议使用 API 密钥进行授权。从每个 API 密钥收到的调用都会受到监控,并包含在您可以为每个阶段启用的 Amazon CloudWatch Logs 中。您应该使用 API 密钥来监控第三方开发人员的使用情况,并利用更强大的授权机制,例如 IAM 或custom authorizers

希望对你有帮助

【讨论】:

  • 我正在浏览文档但无法理解 lambda 函数如何与我的 api 方法关联以及它是如何工作的?
  • 我整天都在阅读文档,但我真的不确定 lamda 是如何工作的,并且我已将 api 部署为 HTTP 代理,您能否建议我如何确保它的安全?
  • 如果我在“方法请求”窗格中将授权从 NONE 设置为 AWS_IAM,并将集成中的 HTTP 标头设置为“method.request.header.Authorization”,那么我应该在标头中传递什么作为授权?我想知道我是否可以通过任何方式保护 HTTP 代理 api
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多