SaltStack常用组件使用 SaltStack配置文件说明 轻量级DNS、DHCP服务软件DNSMASQ 千万级PV(日)的移动应用架构如何实现 高效运维最佳实践-运维自动化之殇 Ubuntu 14.04 Linux如何配置静态IP地址和DNS服务器 ELK 常见错误与解决办法 Elasticsearch 集群配置管理常用操作 常用数字证书格式相互转换-OpenSSL/Keytool/Jks2pfx ELK 综合日志归档分析系统(2)-Logstash安装配置 Elasticsearch之Shield认证与权限管理 ELK 综合日志归档分析系统(1)-Elasticsearch-Redis安装配置 Redmine 3.2 安装配置指南 CentOS6 大型web系统数据缓存设计 Redis 集群方案 Linux 内核TCP优化详解 SaltStack初始化安装配置 OpenLDAP常用操作 OpenLDAP统一身份认证 [CentOS6/7] 构建Linux Skype Message消息推送API服务(Zabbix集成告警) Tomcat 生产服务器性能优化 Zabbix结合iptables监控网络流量 Linux操作系统环境配置与优先级问题 深入 NGINX: 我们如何设计性能和扩展 Windows SQL Server 性能计数器详细说明 Windows性能计数器说明 Ubuntu安装openntpd报错:Starting openntpd: /etc/openntpd/ntpd.conf: Permission denied locale: Cannot set LC_ALL to default locale: No such file or directory OpenSSL拆解p12证书公约和私钥 Linux sar 统计系统性能(网卡、内存和交换空间、CPU资源等) Linux Shell /dev/null 2>&1 含义 Windows 2003操作系统网络不通 构建私有yum安装源镜像站点(openstack) CentOS6/RedHat6新增网卡识别问题 Ubuntu 14.04 Server优化与使用问题解决 Redhat/CentOS6系统使用ntfs-3g挂载NTFS分区 Linux GPT挂载超过2TB磁盘 Linux系统性能优化、测试和监控工具梳理 修复WIN2003远程桌面服务无法访问 解决CentOS“Zabbix discoverer processes 75% busy”的问题 REHL/CentOS安装phpMyadmin

Elasticsearch之Shield认证与权限管理

2016年06月30日

1.  Shield认证服务

Shield是Elastic公司为ElasticSearch开发的一个安全插件。在安装此插件后,Shield会拦截所有对ElasticSearch的请求,并加上认证与加密,保障ElasticSearch及相关系统的安全性。

2.支持功能

用户认证

使用Shield可以定义一系列已知的用户,并用其认证用户请求。这些用户存在于抽象的“域”中。一个域可能是下面几种类型:

LDAP服务

Active Directory服务,本地esusers配置文件(类似/etc/passwd)

权限控制

Shield的权限控制包含下面几种元素:

  • 被保护的资源Secured Resource:权限所应用到的对象,比如某个index,cluster等等
  • 特权Priviliege:角色对对象可以执行的一种或多种操作,比如read,write等。还可以是indicies:/data/read/perlocate等某种对象特有的操作。
  • 许可Permissions:对被保护的资源拥有的一个或多个特权,如read on the “products” index.
  • 角色Role:由许可组成的有名字的集合.
  • 用户Users:用户实体,可以被赋予0种,1种或多种角色,他们可以对被保护的资源执行相应角色所拥有的各种特权。

集群节点认证与信道加密

Shield使用SSL/TLS加密相应端口(9300),防止集群被未授权的机器监听或干扰。

IP 过滤

Shield支持基于IP的访问控制。

审计

Shield可以在ElasticSearch的日志中输出每次鉴权操作的详细信息,包括用户名,操作,操作是否被允许等等。

Shield是商业插件,需要ElasticSearch的商业许可。第一次安装许可的时候,会提供30天的免费试用权限。30天后,Shield将会屏蔽cluster health, cluster stats, index stats这几个API,其余功能不受影响。

3.shield安装

进入elasticsearch安装目录中的bin,使用plugin命令执行插件的安装

$ /usr/share/elasticsearch/bin/plugin install elasticsearch/license/latest
$ /usr/share/elasticsearch/bin/plugin install elasticsearch/shield/latest
$ service elasticsearch restart

如果采用deb或rpm方式安装,shield配置文件会写入/etc/elasticsearch/shield文件夹中(或者/usr/share/elasticsearch/config/shield)。

4.配置基本认证

基本身份认证,需要在创建用户时赋予不同的角色,shield角色默认包括3类:

  • admin:操作和管理集群和索引
  • power_user:监控集群和索引
  • user:所有索引的只读权限
  • transport_client
  • kibana4
  • kibana4_server
  • logstash
  • marvel_user
#####创建管理员账户
#添加用户es_admin,并加入admin角色中,密码必须6位以上
$ /usr/share/elasticsearch/bin/shield/esusers useradd es_admin -r admin

#测试使用es_admin用户访问elasticsearch
$ curl -u es_admin -XGET 'http://localhost:9200/'

###创建logstash角色用户
$ /usr/share/elasticsearch/bin/shield/esusers useradd logstashserver -r logstash

###创建Kibana角色用户
$ /usr/share/elasticsearch/bin/shield/esusers useradd kibanaserver -r kibana4_server

一般不建议使用Shield,由于是商业软件安装成功有一定时间的试用期,导致之后部分功能将无法使用。

shield-triad

转载请注明:自动化运维 » Elasticsearch之Shield认证与权限管理