在Kibana上面配置权限,验证对Elasticsearch权限控制,

主要步骤如下:

1.创建角色

2.创建用户,并且赋予用户角色

3.用户登陆,验证没有权限

4.赋予角色权限

5.用户登陆,验证拥有权限

具体测试步骤:

1.创建用户yuewn

Kibana -> Managemet -> Users -> Create User

yuwen/zdh1234

先不给用户配置角色

2.开启X-Pack插件的Elasticsearch查询集群健康

不携带用户名和密码会报错

curl -XGET 'localhost:9200/_cat/health?v&pretty'

携带用户名和密码查询OK

curl -u elastic:ce0YpqhLZykDWGdnjvlP -XGET 'localhost:9200/_cat/health?v&pretty'

3.使用超级用户elastic列出所有索引,成功

curl -u elastic:ce0YpqhLZykDWGdnjvlP -XGET 'localhost:9200/_cat/indices?v&pretty'

使用普通用户yuwen列出所有索引,会报错

curl -u yuwen:zdh1234 -XGET 'localhost:9200/_cat/indices?v&pretty'

报错如下:

{
"error" : {
"root_cause" : [
{
"type" : "security_exception",
"reason" : "action [cluster:monitor/state] is unauthorized for user [yuwen]"
}
],
"type" : "security_exception",
"reason" : "action [cluster:monitor/state] is unauthorized for user [yuwen]"
},
"status" : 403
}

4.赋予普通用户yuwen超级角色的权限

普通用户yuwen列出所有索引,成功

curl -u yuwen:zdh1234 -XGET 'localhost:9200/_cat/indices?v&pretty'

成功结果如下:

health status index                           uuid                   pri rep docs.count docs.deleted store.size pri.store.size
......
yellow open megacorp uTEXgdwGTDGmwSKJVNtvrA 5 1 3 0 17.5kb 17.5kb
......

5.elasticsearch打开debug日志

/home/elasticsearch/elasticsearch-6.2.2/config/log4j2.properties

/x-pack/log4j2.properties

elasticsearch_log4j2.properties

# log action execution errors for easier debugging
logger.action.name = org.elasticsearch.action
logger.action.level = debug
logger.action.ref = rolling
logger.action.additivity = false rootLogger.level = info
rootLogger.appenderRef.console.ref = console
rootLogger.appenderRef.rolling.ref = rolling

x-pack_log4j2.properties

logger.xpack_security_audit_logfile.name = org.elasticsearch.xpack
logger.xpack_security_audit_logfile.level = debug
logger.xpack_security_audit_logfile.appenderRef.audit_rolling.ref = audit_rolling
logger.xpack_security_audit_logfile.additivity = false appender.audit_rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%.-10000m%n

6.进一步测试,设置如下的用户进行测试:

1.用户yuwen有超级用户的权限

2.用户yuwen1不存在

3.用户zhangqian存在,但没有任何权限

curl -u zhangqian:zdh1234 -XGET 'localhost:9200/_cat/indices?v&pretty'
curl -u yuwen:zdh1234 -XGET 'localhost:9200/_cat/indices?v&pretty'

Kibana_X-Pack管理Elasticsearch权限的更多相关文章

  1. 宜人贷蜂巢ELK Stack之elasticsearch权限探索

    前言 上文<宜人贷蜂巢API网关技术解密之Netty使用实践>提到了,API网关“承外对内”,将外部请求,转发到内部各个抓取服务.在网关中,不仅可以做鉴权.加解密.路由.限流功能:如果想了 ...

  2. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  3. Oracle 用户管理与权限控制

    Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...

  4. CentOS学习笔记--账号管理与权限配置

    Linux 的账号管理与权限配置 管理员的工作中,相当重要的一环就是『管理账号』啦! 使用者标识符: UID 与 GID 虽然我们登陆 Linux 主机的时候,输入的是我们的账号,但是其实 Linux ...

  5. Easyui后台管理角色权限控制

    最近需要做一个粗略的后台管理的权限,根据用户的等级来加载相应的菜单,控制到子菜单.使用的是Easyui这个框架. 1.我使用的mysql数据库.在这里我就建立四张表,角色表(tb_users),菜单表 ...

  6. python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)

    一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...

  7. 用户管理_组管理_权限管理.ziw

    2017年1月10日, 星期二 用户管理_组管理_权限管理 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage ...

  8. Linux课程---10、权限管理(权限有哪几种)

    Linux课程---10.权限管理(权限有哪几种) 一.总结 一句话总结: r 读 w 写 x 执行 1.drwxr-x---  2 root root  4096 Jan 20 19:39 mnt ...

  9. MySQL 用户管理与权限管理

    MySQL 用户管理与权限管理 -- 操作环境mysql> show variables like 'version';  +---------------+--------+| Variabl ...

随机推荐

  1. 利用ajax,js以及正则表达式来验证表单递交

    <!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8" ...

  2. QT QApplication干了啥?

    ------------恢复内容开始------------ QCoreApplicationPrivate 会取得current thread; 在windows平台创建TLS变量,记录线程信息,并 ...

  3. Hyper-v安装Centos7

    开篇语 知识库地址:https://azrng.gitee.io/kbms 介绍 可以让你在你的电脑上以虚拟机的形式运行多个操作系统(至于为什么选择这个,主要是系统已经自带了,所以能不装其他我就先不装 ...

  4. EhCache简单入门

    一 介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认CacheProvider.Ehcache是一种广泛使用的开源Java分布式缓存.主要面向通 ...

  5. LuoguB2008 计算 (a+b)×c 的值 题解

    Content 输入 \(a,b,c\),输出 \((a+b)\times c\). 数据范围:\(-10000<a,b,c<10000\). Solution 关于 C++ 运算顺序可以 ...

  6. 当更新user表时,页面没有的属性,执行update语句不会更改以前的值

    当更新user表时,页面没有的属性,执行update语句不会更改数据库表的值.不会用NULL值去填充

  7. uniapp+nvue实现仿微信App界面+功能 —— uni-app实现聊天+语音+视频+图片消息

    基于uniapp + nvue实现的uniapp仿微信界面功能聊天应用 txim 实例项目,实现了以下功能. 1: 聊天会话管理 2: 好友列表 3: 文字.语音.视频.表情.位置等聊天消息收发 4: ...

  8. vim操作(复制,粘贴)

    整行操作 单行复制 在"命令"模式下,将光标移动到将要复制的行处,按"yy"进行复制 多行复制 在"命令"模式下,将光标移动到将要复制的首行 ...

  9. JAVA通过经纬度获取两点之间的距离

    private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math ...

  10. 【LeetCode】978. Longest Turbulent Subarray 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 虫取法 日期 题目地址:https://leetco ...