是否可以只使用特定的vpc访问 api网关或 lambda 功能。
我在亚马逊文档中搜索过,但我没有找到关于这个主题的任何内容。
提前谢谢
答案 0 :(得分:5)
很遗憾,您无法做到这一点(请参阅下面的更新)。
s3是通过广告管理政策提供此类控制权访问的服务。
您可以为您的来电者(Lambda调用者和API来电者)授予权限。
查看以下资源:
您可能会指出,这是不可能的根本原因是Lambda服务API和API网关都是从Internet访问的,这意味着调用者的VPC身份丢失了 - 但是,VPC可以由其NAT网关的EIP间接识别,该网关应该可用于aws:sourceIp IAM policy condition key,间接限制对这些EIP背后的任何机器的访问,因此仅限于VPC。也许这是一个黑客,也许这是一个解决方法。
当今应用程序开发的最大趋势之一是使用API来支持产品的后端技术。越来越多的移动,物联网,Web应用程序或内部服务相互之间以及应用程序前端的交互方式正在使用一些API接口。
除了构建API驱动的应用程序的这一趋势之外,还有向微服务应用程序设计模式的转变。更大的应用程序由许多较小的应用程序组件表示,通常也通过API进行通信。各种公司(从初创公司到企业)共同使用API和微服务的增长。大规模,安全地管理API以及最小的运营开销所需的工具数量也在增长。
今天,我们很高兴地宣布推出Amazon API Gateway私有端点。这是此服务最受欢迎的功能之一。我们相信这将使创建和管理私有API变得更加容易。
私人端点
今天的发布解决了这个难题的一个缺失部分,即在您自己的VPC中拥有私有API端点的能力。使用此新功能,您仍然可以使用API网关功能,同时仅将REST API安全地暴露给VPC内的其他服务和资源,或通过Direct Connect连接到您自己的数据中心的那些服务和资源。
这是如何运作的。
通过AWS PrivateLink接口VPC端点实现API网关专用端点。接口端点通过在您在VPC内定义的子网中创建弹性网络接口来工作。然后,这些网络接口提供对在其他VPC中运行的服务或对诸如API网关的AWS服务的访问。配置接口端点时,您可以指定应通过它们的服务流量。使用私有DNS时,该服务的所有流量都将定向到接口端点,而不是通过默认路由,例如通过NAT网关或公共IP地址。
作为完全托管服务的API网关在其自己的VPC中运行其基础结构。当您与API网关可公开访问的端点连接时,它通过公共网络完成。当它们被配置为私有时,公共网络不可用于路由您的API。相反,只能使用已配置的接口端点访问API。