首页 文章

保护AWS API Gateway后面的现有API

提问于
浏览
3

假设我有一个RESTful API,它位于ELB后面的Windows EC2集群上 . 现有的API是.NET应用程序,并在IIS中托管 .

我想尝试将AWS API Gateway放在现有API之前,以便AWS处理安全性,可伸缩性等 . 基本上将AWS Gateway设置为现有API的HTTP代理 .

从AWS文档中可以看出现有API必须公开 . 但是应该通过检查客户端证书来验证来自Amazon API Gateway的呼叫来保护它 .

http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html

但是,现有API的SSL连接在ELB处终止 . 因此,当我们在请求中检查客户端证书时,在代码中 - 它不存在 .

要在EC2 / IIS /代码级别获取客户端证书,需要做些什么?

或者是否有其他方法可以保护现有API并确保AWS API Gateway仍能与之通信?

2 回答

  • 2

    您需要配置设置ELB以执行基于TCP的负载 balancer 并终止IIS / EC2主机上的SSL连接 . 这将需要将SSL证书分发给主机并配置它们以将证书绑定到适当的端口 .

  • 1

    通常人们更喜欢在其API网关上卸载SSL以节省管理开销,因为ELB终止有效地将管理移动到基础架构中的单个点,而不是要求管理多个服务器上的SSL证书 .

    如果您拥有由某个协调器[ECS,kubernetes,Docker Swarm]管理的EC2群集,它也会有所帮助 . 正如您已经提到的,负载均衡器的API网关由SSL证书保护,您可以在负载均衡器上添加访问策略以提供与EC2群集交互所需的权限,而您的EC2存在于私有VPC中,您可能不需要将证书添加到您的EC2计算机,因为所有通信都已受到保护 .

    希望它有意义 .

相关问题