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 nativefileLDAPActive DirectoryPKI.这些配置可以指定验证顺序,同时,对于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、开放了一些基础功能不收费,需要企业级别的应用的话,就收费,具体见下表

ES、Kibana权限控制


三、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权限控制的主要内容,如果未能解决你的问题,请参考以下文章

ESkibana安装及交互操作

docker 部署eskibana详细教程

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

webservice 权限控制

Elasticsearch 分布式搜索引擎 -- 初识elasticsearch(了解ES倒排索引es的一些概念安装eskibana)

gitlab 可以进行版本和权限控制,bug管理吗?供部门内部使用,而且是Linux和Windows平台都能使用