代码之家  ›  专栏  ›  技术社区  ›  Phil

将ElasticSearch置于AWS上的代理之后?

  •  1
  • Phil  · 技术社区  · 7 年前

    本文(以及有关ES的书籍和其他信息来源)主张将ES置于代理服务之后:

    https://dzone.com/articles/securing-your-elasticsearch-cluster-properly

    有一个单页应用程序,需要查询和获取 用于显示的JSON?通过一个软件外观,它可以 请求筛选、审核日志记录,最重要的是-

    如果没有这一点,(a)您肯定会绑定到公共IP,并且 所有人都看得见。现在发生了什么 弹性搜索簇。

    将瘦客户机与提供it数据的数据存储系统耦合。 您的客户端javascript实际上不应该使用弹性DSL。

    您的客户端应该与您的服务器端软件进行通信 将依次将所有客户端请求转换为Elasticsearch DSL, 执行查询,然后有选择地从 Elasticsearch返回客户期望的内容。显然 必须验证和授权其针对 数据,在访问Elasticsearch之前。以任何方式做这件事 贪婪的黑客。

    我完全同意在私有云中运行自己的ES时在这里所说的一切。但是在AWS上运行它时,您通常做什么?我对整个无服务器的世界是全新的,最近我遇到了Google Firebase教程视频,其中有人主张直接从客户端向数据库进行查询。这在AWS中也很常见吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Phil    7 年前

    在与AWS合作了一段时间后,我的同事不得不澄清一个误解。AWS不等于无服务器。他们提供许多云解决方案,而FAAS/function-as-a-service(AWS Lambda)只是其中之一。

    我甚至不确定X-PACK是否可以防止繁重的计算查询(如脚本查询、聚合和深度分页),因此如果将API公开给整个Internet,这可能不够安全。

    现在firebase视频中的家伙所做的(在客户端形成查询)很好,并且保持了应用程序的灵活性,但是现在它可能适合于每个用例。例如,如果您想为拥有自己客户端的客户公开公共API。