ES、Kibana权限控制

权限控制大约有以下几种方法:

1、shield :https://www.elastic.co/products/shield

2、search-guard : http://floragunn.com/searchguard

3、kibana-authentication-proxy:  https://github.com/fangli/kibana-authentication-proxy

4、elasticsearch-http-basic:https://github.com/Asquera/elasticsearch-http-basic

一、shield

优点:功能特别强大,以下列出我们项目组可能需要的功能

1、  Preventing Unauthorized Access

验证用户 authenticating users

每个用户有不同的权限

基于ip地址的权限控制

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  参考Configuring Auditing

7、  增加一个用户特有的权限

8、  The supported realms are nativefileLDAPActive DirectoryPKI.这些配置可以指定验证顺序,同时,对于internal (native、file),配置文件中,每个属性最大为1.但是其他的external。每个属性可以配置多个。

9、  如果所有的控制配置都没有通过的话,默认就会返回THHP代码为401.即不允许匿名访问,但是可以在elasticsearch.yml中配置,允许匿名访问(Enabling Anonymous Access)

10、在CONFIG_DIR/shield文件夹下面,添加roles.yml,可以添加role(要想是的集群中的所有节点都生效,必须对集群中的所有节点,做同样的更改),所有的权限可以参考Shield Privileges。对于roles.yml例子,可以参考Defining Roles。如果是用的是file realm,直接添加user和role即可,但是对于其他的realm,必须要指定user、group和role之间的mapping关系。具体请参考Mapping Users and Groups to Roles

11、别名的好处:An alias points to one or more indices, holds metadata and potentially a filter

12、还可以对某个indices中的属性,进行配置权限。参考Setting Up Field and Document Level Security

13、还可以Submitting Requests on Behalf of Other Users

14、对于kibana user,在file realm下, 可以增加相应的role,可以指定每个user对应不同的role,具体请参考:Managing Users in a File-based Realm

15、Kibana role权限和es 权限是分开的,虽然都在roles.yml里面

缺点:收费。

16、Shield有30天试用期,详情参考Managing Your License

二、search-guard

优点:

1、账号认证,解决es匿名访问的问题

2、授权管理,对不同的账号按照不同维度分配(主要是索引)访问权限

3、只读权限,此条需求来源于 :某个Dashboard想分享给其他人,但又不想让其他人有权限修改

4、目前官方网站只支持到ES2.2.3,我们的集群ES版本为2.2

5、开放了一些基础功能不收费,需要企业级别的应用的话,就收费,具体见下表

ES、Kibana权限控制_第1张图片


三、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 ,

你可能感兴趣的:(ES、Kibana权限控制)