多用户环境下安全使用 Kibana 与 Elasticsearch 的方案
摘要
监控对于检查IT服务的状态、活动或资源使用是必不可少的。Kibana和Elasticsearch的组合在许多地方用于监控,如KEK、CC-IN2P3、CERN以及非HEP社区。Kibana提供丰富的可视化Web界面,Elasticsearch是可扩展的分布式搜索引擎。然而,这些工具默认不支持认证和授权功能。在多个用户共享单个Kibana和Elasticsearch服务的情况下,任何能访问Kibana的用户都可以从Elasticsearch检索他人的信息。在多用户环境中,为了保护自己的数据不被他人访问或在组内共享部分数据,需要细粒度的访问控制。CERN云服务组曾通过Elasticsearch和Kibana向每个用户提供云使用仪表板。他们部署了一个自制的Elasticsearch插件,基于CERN单点登录系统认证的用户来限制数据访问。这使得每个用户拥有独立的Kibana云使用仪表板,且用户无法访问他人的仪表板。基于该方案,我们提出了一种替代方案,实现基于用户/组的Elasticsearch访问控制和Kibana对象分离。它更灵活,不仅可应用于云服务,还可用于其他各种情况。我们在CC-IN2P3确认了我们的方案工作良好。此外,CC-IN2P3的预生产平台正在建设中。我们将描述我们安全使用Kibana和Elasticsearch的方案,包括集成Kerberos认证、开发允许基于用户/组分离Kibana对象的Kibana插件,以及对Search Guard(一个支持基于用户/组访问控制的Elasticsearch插件)的贡献。我们还将描述使用Search Guard对性能的影响。
引用
@article{arxiv.1706.10040,
title = {A solution for secure use of Kibana and Elasticsearch in multi-user environment},
author = {Wataru Takase and Tomoaki Nakamura and Yoshiyuki Watase and Takashi Sasaki},
journal= {arXiv preprint arXiv:1706.10040},
year = {2017}
}
备注
International Symposium on Grids and Clouds 2017 (ISGC 2017)