ESKibana权限控制
Posted DevOps
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESKibana权限控制相关的知识,希望对你有一定的参考价值。
权限控制大约有以下几种方法:
1、shield :
2、search-guard :
3、kibana-authentication-proxy:
4、elasticsearch-http-basic:
一、shield
优点:功能特别强大,以下列出我们项目组可能需要的功能
1、 Preventing Unauthorized Access
验证用户 authenticating users
每个用户有不同的权限
2、 Preserving Data Integrity
通信加密、验证消息encrypting communications、authenticating messages
3、 Maintaining an Audit Trail
4、 注意:在安装shield之前,必须停止集群所有的节点,并且,集群中的每个节点都必须安装shield
5、 为了让集群每个节点通信被保护,加上bin/shield/syskeygen
6、 启用审核:在elasticsearch.yml文件中,增加shield.audit.enabled: true 参考
7、 增加一个用户特有的权限
8、 The supported realms are native, file, LDAP, Active Directory, PKI.这些配置可以指定验证顺序,同时,对于internal
(native、file),配置文件中,每个属性最大为1.但是其他的external。每个属性可以配置多个。
9、 如果所有的控制配置都没有通过的话,默认就会返回THHP代码为401.即不允许匿名访问,但是可以在elasticsearch.yml中配置,允许匿名访问()
10、在CONFIG_DIR/shield文件夹下面,添加roles.yml,可以添加role(要想是的集群中的所有节点都生效,必须对集群中的所有节点,做同样的更改),所有的权限可以参考。对于roles.yml例子,可以参考。如果是用的是file realm,直接添加user和role即可,但是对于其他的realm,必须要指定user、group和role之间的mapping关系。具体请参考
11、别名的好处:An alias points to one or more indices, holds metadata and potentially a filter
12、还可以对某个indices中的属性,进行配置权限。参考
13、还可以
14、对于kibana user,在file realm下, 可以增加相应的role,可以指定每个user对应不同的role,具体请参考:
15、Kibana role权限和es 权限是分开的,虽然都在roles.yml里面
缺点:收费。
16、Shield有30天试用期,详情参考
二、search-guard
优点:
1、账号认证,解决es匿名访问的问题
2、授权管理,对不同的账号按照不同维度分配(主要是索引)访问权限
3、只读权限,此条需求来源于 :某个Dashboard想分享给其他人,但又不想让其他人有权限修改
4、目前官方网站只支持到ES2.2.3,我们的集群ES版本为2.2
5、开放了一些基础功能不收费,需要企业级别的应用的话,就收费,具体见下表
三、kibana-authentication-proxy
优点:
此方案是针对kibana实现的认证,优点是该方案支持“ Google OAuth2, BasicAuth(multiple users supported) and CAS Authentication ”
支持账号认证
对于不同的kibana用户,可以看到不同的index
缺点:
只支持到kibana3版本,我们的版本为kibana4.4.1
四、elasticsearch-http-basic
优点:
实现了账号认证和ip白名单功能
缺点:
基于index的权限控制没有提供,功能单一。并且版本只支持到es1.7.而且不支持kibana权限控制
总结:若shield不收费。用sheild是最好的,功能强大,而且es官方插件。其次,可以使用search-guard
欢迎关注运维自研堂订阅号,运维自研堂是一个技术分享平台,主要是运维自动化开发:linux、python、django、saltstack、tornado、bootstrap、redis、golang、docker、etcd等经验分享。
牛人并不可怕,可怕的是牛人比我们还努力!
以上是关于ESKibana权限控制的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
Elasticsearch 分布式搜索引擎 -- 初识elasticsearch(了解ES倒排索引es的一些概念安装eskibana)