我的API(API Gateway和Lambda)具有记录设置。API网关日志Apache在哪里键入HTTPS连接日志?我想看看是什么碰到没有映射到我的API的终点。例如,我的API是domain.com/api/v1/resource,如果客户端试图击中domain.com/api/v1/some_invalid_resource,我该如何记录?API网关也可以防止API滥用(请参阅https://aws.amazon.com/api-gateway/faqs/),如果我没有连接级别日志,我将如何知道我的API是否受到攻击?
当您为API网关配置日志记录时,请确保您设置了编写日志的角色以允许将其写入CloudWatch。
您可以在CloudWatch下看到它们,如下面的流,
api-gateway-oxecution-logs_(apiid)/{stage}
这是AWS的官方答案:
不幸的是,API网关无法为客户提供访问日志。我将在API网关侧创建功能请求,API网关将考虑优先考虑此请求,但我无法为此提供ETA。作为解决方法,您可以在与其他资源相同的级别上创建一个具有模拟集成的代理资源,并且您将能够看到击中错误资源的请求的日志。
https://forums.aws.amazon.com/thread.jspa?messageId=805138󄤒
您现在可以在API网关的阶段启用访问记录。(请参阅页面的底部:http://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)到目前为止,它在我的测试中,它记录正确的IP地址,请求时间和资源路径仅适用于有效的请求。它记录了无效请求的尝试访问,但没有获得IP,请求时间(无论如何您可以从日志输入时间获得),也不会尝试。
我想启用这一点,看看是否有人试图探究我的API为攻击向量,所以到目前为止,它并没有非常有帮助。