AWS API Gateway API密钥与Cors

时间:2018-07-30 21:50:57

标签: amazon-web-services aws-api-gateway

我正在使用AWS实施API网关。

如果资源需要API密钥,是否需要在资源上启用CORS?启用CORS是否可以为我提供API密钥要求所没有的额外安全性?

还是需要API密钥来调用API网关会使CORS变得多余,因为即使发出了另一个来源的请求-该来源也没有API密钥。

1 个答案:

答案 0 :(得分:1)

首先,出于不同的原因,那里有CORS和API密钥功能。

API密钥-启用API密钥后,每个使用者都需要发送API密钥及其请求。基本上,这里可以监视使用情况和来自各个消费者的限制请求。

CORS-授予现代浏览器直接访问B2C集成API的基本条件是三个。如果为特定域配置了CORS,则仅允许该特定域中托管的网站从客户端直接访问API(使用JavaScript和AJAX)。但是,这对于API的B2B集成可能不适用,因为即使没有配置CORS,也可以从后端访问API。

  

是否需要API密钥来调用API网关会使CORS冗余,因为即使发出了另一个来源的请求-该来源也没有API密钥。

是的,如果启用了API密钥,则每个来源在访问API时都必须具有一个API密钥。但是,CORS解决了一个不同的问题,即Web浏览器强制限制仅从白名单域访问API(否则,人们将能够从其他网站向API发送API调用,只需添加脚本和将会使API过载)。