我想使用API密钥保护AWS API Gateway端点。但是,API密钥必须作为查询参数的一部分发送。无法指示使用此端点的服务在标头中发送密钥(x-api-key)。
所以我想要这个请求: https://api_id.execute-api.us-east-1.amazonaws.com/dev/?x-api-key=KEY
在发出请求时自动将x-api-key视为API密钥。在AWS API Gateway中有直接的方法吗?
答案 0 :(得分:0)
API网关目前不支持此功能,因此不建议在安全的基础上使用,因为URL(包括查询字符串参数)通常由客户端和服务器记录和/或缓存。
谢谢, 莱恩
答案 1 :(得分:0)
我认为解决方案是使用API Gateway Custom Authorizer
但问题是如何使用强制执行使用计划...
答案 2 :(得分:0)
您可以使用API Gateway Lambda Authorizers。
Amazon API Gateway Lambda授权程序(以前称为自定义授权程序)是您提供的Lambda函数,用于控制对API方法的访问。 Lambda授权程序使用承载令牌身份验证策略,例如OAuth或SAML。它还可以使用标题,路径,查询字符串,阶段变量或上下文变量请求参数描述的信息。
https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html