为API Gateway使用自定义域名和mTLS双向证书认证

一、背景

通常使用的HTTPS接口采用的是服务器端Transport Layer Security(以下简称TLS)认证。TLS认证默认是由服务器提供证书,服务器端证书经过全球数家证书颁发机构和顶级CA签署认证的证书,来标识服务器自己的真实、正确的身份。在亚马逊云科技的云平台上,这一服务器端证书通常由ACM生成并管理,配置到Amazon CloudFront、Amazon ELB、Amazon API Gateway(以下简称API Gateway)等服务上。

为了进一步增强安全性,TLS协议建立连接时候,服务器可以要求客户端也提供自己X.509格式的证书用于验明身份。由于服务器和客户端双方都需要提供证书,这种认证方式被称为 mutual Transport Layer Security (以下简称mTLS),也称为双向TLS。

Continue reading “为API Gateway使用自定义域名和mTLS双向证书认证”

为Amazon API Gateway启用IAM身份验证

一、背景

新创建的Amazon API Gateway (以下简称API Gateway)的Regional级别的接口是可以通过互联网进行公开调用的。在API为应用内部调用的场景下,需要设置身份验证。主要的身份验证手段有:IAM身份验证、Lambda转发器验证(Backend可使用数据库)、OAuth/JWT认证。此外,在API Gateway上使用mTLS,配置双向证书,也可以显著提升安全性。

本文介绍如何开启IAM身份验证。

Continue reading “为Amazon API Gateway启用IAM身份验证”

使用Amazon WAF对Amazon API Gateway的接口做IP地址白名单保护

一、背景

Amazon API Gateway(以下简称)是AWS的托管的API网关服务。许多企业需要将自身应用的数据接口暴露给第三方合作伙伴,但使用专线成本较高,或者因面向多个互联网服务交互,因此将接口暴露在互联网上。为提升接口安全性,可采用为API Gateway设置来源IP地址限制的办法,提升安全。API Gateway支持设置Resource Policy,通过资源策略中填写IP Condition来限制可以访问的IP访问,包括白名单允许,或者显式拒绝。

使用API Gateway自带的策略控制IP地址有一些局限,因为资源策略是随着API Gateway的部署Stages下发生效的,因此有时候仅需要IP地址的策略变更,但是为了让其生效,需要对整个接口开发的版本和Stages阶段创建新的版本,并进行流量切换。如此过程对整个应用开发和运行体系的影响较大。那么有什么办法实施Out-of-band方式(带外)的IP策略管控呢?这里就可以用到Amazon WAF。

Continue reading “使用Amazon WAF对Amazon API Gateway的接口做IP地址白名单保护”