【以下的问题经过翻译处理】 我想为我们的 API 实现审计日志,以满足合规需求。客户对 API 执行的每个请求都应该被记录下来。这必须是严谨的,我们不能丢失任何日志。API 的高级架构为:Cloudfront -> API GW -> LB。
我考虑过使用 Cloudfront 标准日志,但文件说明指出它可能不是严密的,所以对我的用例来说不相关。
对我来说,API GW 访问日志似乎是正确的做法,但设置日志模板非常具有挑战性。我无法获得所有相关数据的完美模板:
2 条意见:
我基于的日志模板文档 - https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference?cmpid=docs\_apigateway\_console
我将“所有查看者除主机标头”原始请求策略添加到了 Cloudfront 分发中,但没有帮助,看起来 API GW 仍然从 Cloudfront 获取缺少元数据的请求 https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html#managed-origin-request-policy-all-viewer-except-host-header
问题是:这是实现 API 审计日志的正确方向吗?如果不是,您会推荐第三方产品吗?我想避免在内部开发它。
谢谢, Yedidya
【以下的回答经过翻译处理】 你好,
我认为你走在正确的道路上。另一个选项是在Api Gateway访问日志Cloudwatch arn下提供一个Kinesis Data Firehose Delivery流ARN。
这样就可以将访问日志发送到Kinesis Data Firehose,然后可以将其转发到S3等位置。
之后,你可以使用生命周期规则将数据移动到Glacier/Deep archive,以延长保存时间。
希望有所帮助。
您未登录。 登录 发布回答。
一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。