我们有一个Prometheus Pushgateway,它正在运行并监听来自AWS Lambda函数的指标推送。但是,公众可以访问Pushgateway的URL,这可能会带来一些安全问题。我们想知道是否有什么方法可以向Pushgateway添加一层保护,以使其无法公开访问?
我发现这个Github线程可能回答了这个问题: https://github.com/prometheus/pushgateway/issues/281
它建议在Pushgateway的前面设置一个反向代理。但是,我仍然对这实际上如何工作感到困惑?我们目前正在使用Kubernetes来部署Prometheus。
答案 0 :(得分:1)
这里的建议是使用AWS内部负载均衡器将Pushgateway内部设置为URL,创建一个AWS私有托管区域,然后将VPC附加到该区域,下一步将在同一位置部署Lambda。 VPC。
这应该可以解决安全性问题。
答案 1 :(得分:1)
您可以通过使用TLS秘密作为入口规则将身份验证包括在入口控制器中。 以下示例显示了如何为您的入口生成基本身份验证:
https://kubernetes.github.io/ingress-nginx/examples/auth/basic/
此外,请不要忘记在客户端中包含Python处理函数,以设置auth标头,如下所示:
https://github.com/prometheus/client_python#handlers-for-authentication