在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. mysql explain using filesort

    创建表,字段tid上无索引(mysql 5.7) CREATE TABLE `test` ( `tid` int(11) DEFAULT NULL, `tname` varchar(12) DEFAU ...

  2. 【编程思想】【设计模式】【行为模式Behavioral】catalog

    Python版 https://github.com/faif/python-patterns/blob/master/behavioral/catalog.py #!/usr/bin/env pyt ...

  3. C++易错小结

    C++ 11 vector 遍历方法小结 方法零,对C念念不舍的童鞋们习惯的写法: void ShowVec(const vector<int>& valList) { int c ...

  4. SQLServer和java数据类型的对应关系

    转载自:https://www.cnblogs.com/cunkouzh/p/5504052.html SQL Server 类型 JDBC 类型 (java.sql.Types) Java 语言类型 ...

  5. 【Python】matplotlib直方图纵轴显示百分比

    其实很简单,就是算了一下百分比权重,乘以了一个权重值 import matplotlib.pyplot as plt from matplotlib.ticker import FuncFormatt ...

  6. 02 - Vue3 UI Framework - 顶部边栏

    顶部边栏比较简单,而且首页和文档页都需要,所以我们先从顶部边栏做起 前文回顾点击 这里 返回阅读列表点击 这里 初始化 首先,在 components 文件夹下,创建一个 vue 组件,命名为 Top ...

  7. mysqldump备份容灾脚本

    目录 一.备份脚本 环境需求 全量脚本 增量脚本 二.备份策略 三.容灾测试 准备 测试 误删除 一.备份脚本 环境需求 编辑/etc/my.cnf文件添加在[mysqld]版块下添加如下变量,添加后 ...

  8. 什么是Docker?

    容器技术的起源 假设你们公司正在秘密研发下一个"今日头条"APP,我们姑且称为明日头条,程序员自己从头到尾搭建了一套环境开始写代码,写完代码后程序员要把代码交给测试同学测试,这时测 ...

  9. Linux 编译安装、压缩打包、定时任务

    目录 Linux 编译安装 知识储备: wget命令 编译安装 Linux 压缩打包 gzip压缩 bzip2压缩 tar打包 Linux 定时任务 相关文件及操作 Linux 编译安装 编译安装就是 ...

  10. 2021 .NET 开发者峰会顺利在网上落幕,线上直播回看汇总

    .NET Conf China 2021 是面向开发人员的社区峰会,基于 .NET Conf 2021的活动,庆祝 .NET 6 的发布和回顾过去一年来 .NET 在中国的发展成果展示,它是由中国各地 ...