elasticsearch运维系列_用户及角色权限相关SQL及脚本整理

这篇文章介绍ES运维过程中一些常用查询权限和角色的命令和脚本,以及如何查询某个索引可被系统中哪些用户访问。

Part1 查询用户及权限

1 查询所有用户

首先,获取所有用户的列表:

-- 命令如下
curl -u elastic:esuser -X GET "http://192.168.1.19:9200/_security/user?pretty"
-- 执行结果如下
{"flogsuperuser" : {"username" : "xxxsuperuser","roles" : ["superuser"],"full_name" : "","email" : "","metadata" : { },"enabled" : true},"limited_user" : {"username" : "limited_user","roles" : ["limited_logs_reader"],"full_name" : "Limited User","email" : "limited.user@example.com","metadata" : { },"enabled" : true},"elastic" : {"username" : "elastic","roles" : ["superuser"],"full_name" : null,"email" : null,"metadata" : {"_reserved" : true},"enabled" : true},"kibana" : {"username" : "kibana","roles" : ["kibana_system"],"full_name" : null,"email" : null,"metadata" : {"_deprecated" : true,"_deprecated_reason" : "Please use the [kibana_system] user instead.","_reserved" : true},"enabled" : true},"kibana_system" : {"username" : "kibana_system","roles" : ["kibana_system"],"full_name" : null,"email" : null,"metadata" : {"_reserved" : true},"enabled" : true},"logstash_system" : {"username" : "logstash_system","roles" : ["logstash_system"],"full_name" : null,"email" : null,"metadata" : {"_reserved" : true},"enabled" : true},"beats_system" : {"username" : "beats_system","roles" : ["beats_system"],"full_name" : null,"email" : null,"metadata" : {"_reserved" : true},"enabled" : true},"apm_system" : {"username" : "apm_system","roles" : ["apm_system"],"full_name" : null,"email" : null,"metadata" : {"_reserved" : true},"enabled" : true},"remote_monitoring_user" : {"username" : "remote_monitoring_user","roles" : ["remote_monitoring_collector","remote_monitoring_agent"],"full_name" : null,"email" : null,"metadata" : {"_reserved" : true},"enabled" : true}
}

2 查询特定用户的角色和权限

获取特定用户的角色和权限。例如,查询用户 limited_user

-- 执行命令
curl -u elastic:esuser -X GET "http://192.168.1.19:9200/_security/user/limited_user?pretty"
-- 执行结果如下
{"limited_user" : {"username" : "limited_user","roles" : ["limited_logs_reader"],"full_name" : "Limited User","email" : "limited.user@example.com","metadata" : { },"enabled" : true}
}

3 查询所有角色

获取所有角色的列表及其权限配置:

-- 命令如下
curl -u elastic:esuser -X GET "http://192.168.1.19:9200/_security/role?pretty"-- 执行结果如下
{"kibana_dashboard_only_user" : {"cluster" : [ ],"indices" : [ ],"applications" : [{"application" : "kibana-.kibana","privileges" : ["read"],"resources" : ["*"]}],"run_as" : [ ],"metadata" : {"_deprecated" : true,"_deprecated_reason" : "Please use Kibana feature privileges instead","_reserved" : true},"transient_metadata" : {"enabled" : true}},"apm_system" : {"cluster" : ["monitor","cluster:admin/xpack/monitoring/bulk"],"indices" : [{"names" : [".monitoring-beats-*"],"privileges" : ["create_index","create_doc"],"allow_restricted_indices" : false}],"applications" : [ ],"run_as" : [ ],"metadata" : {"_reserved" : true},"transient_metadata" : {"enabled" : true}},"watcher_admin" : {"cluster" : ["manage_watcher"],"indices" : [{"names" : [".watches",".triggered_watches",".watcher-history-*"],"privileges" : ["read"],"allow_restricted_indices" : false}],"applications" : [ ],"run_as" : [ ],"metadata" : {"_reserved" : true},"transient_metadata" : {"enabled" : true}},"logstash_system" : {"cluster" : ["monitor","cluster:admin/xpack/monitoring/bulk"],"indices" : [ ],"applications" : [ ],"run_as" : [ ],"metadata" : {"_reserved" : true},"transient_metadata" : {"enabled" : true}},"rollup_user" : {"cluster" : ["monitor_rollup"],"indices" : [ ],"applications" : [ ],"run_as" : [ ],"metadata" : {"_reserved" : true},"transient_metadata" : {"enabled" : true}}

4 查询特定角色的权限

获取特定角色的权限配置。例如,查询角色 limited_logs_reader

-- 命令如下
curl -u elastic:esuser -X GET "http://192.168.1.19:9200/_security/role/limited_logs_reader?pretty"
-- 执行结果如下
{"limited_logs_reader" : {"cluster" : [ ],"indices" : [{"names" : ["xxxxxx_2024-06-14","xxxxxx_2024-06-15","xxxxxx_2024-06-16","xxxxxx_2024-06-17"],"privileges" : ["read"],"allow_restricted_indices" : false}],"applications" : [{"application" : "kibana-.kibana","privileges" : ["read"],"resources" : ["*"]}],"run_as" : [ ],"metadata" : { },"transient_metadata" : {"enabled" : true}}
}

5 汇总(查询用户及角色)命令脚本

以下是一个简单的脚本,汇总查询所有用户及其角色和权限的命令:

#!/bin/bash# Elasticsearch URL
ES_URL="http://192.168.1.19:9200"# Admin credentials
ADMIN_USER="elastic"
ADMIN_PASS="esuser"# Query all users
echo "Querying all users..."
curl -u $ADMIN_USER:$ADMIN_PASS -X GET "$ES_URL/_security/user?pretty"# Query all roles
echo "Querying all roles..."
curl -u $ADMIN_USER:$ADMIN_PASS -X GET "$ES_URL/_security/role?pretty"

将上述脚本保存为 query_users_and_roles.sh,添加执行权限并运行:

chmod +x query_users_and_roles.sh
./query_users_and_roles.sh解释1) 查询所有用户:通过 GET /_security/user API 获取所有用户信息,包括用户名、角色等。2) 查询所有角色:通过 GET /_security/role API 获取所有角色信息,包括角色名、权限配置等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/36350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git rebase的使用

没有排版,但是干货 因为项目要求,所以使用rebase指令 我使用的是rebase 的分支变基的功能 情景描述: 一共有两个分支:master owner 我在owner分枝上开发,有好多次commit master上也有同事在正常commit, …

Vue2 - 首页登录实现随机验证码组件的封装与实现详解(详细的注释及常见问题汇总)

在网站首页等登录时,随机验证码在现代网络应用中扮演着重要的安全角色。为了帮助开发者轻松集成和使用随机验证码功能,本文将介绍如何利用 Vue.js 2 封装一个简单而功能强大的随机验证码组件。让你能够快速理解并应用这一组件到你的项目中。 一、解决方案 本文提供了完美便捷…

HMI 的 UI 风格,精妙无比

HMI 的 UI 风格,精妙无比

【Pillow】module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘问题解决

问题描述 我在使用 SummaryWriter 记录图片数据日志时,遇到了报错,如下图所示: 问题的原因在于,使用的pillow版本已经舍弃了ANTIALIAS,在新版本中已经改为了LANCZOS 问题解决 两种解决方式: 修改源码更…

C#——this关键字详情

this关键字 在 C# 中,可以使用 this 关键字来表示当前对象,日常开发中我们可以使用 this 关键字来访问类中的成员属性以及函数。 使用this表示当前类的对象 执行结果 使用 this 关键字串联构造函数 执行结果 使用 this 关键字作为类的索引器 执行结果 …

冷门赛道,视频号励志语录赛道详解,新手轻松上手

大家好,我是闷声轻创,在当今数字化时代,社交媒体已成为人们获取信息、分享生活和实现个人价值的重要渠道。视频号,作为新兴的短视频平台,以其独特的优势和巨大的流量潜力,吸引了众多创作者的目光。今天我将…

Ci2451和Ci2454:2.4GHz无线MCU的芯片对比数据资料分析

一、2.4GHz无线MCU芯片的背景介绍 1、开头我们先聊聊,关于南京中科微2.4GHz无线MCU芯片(Ci2451、Ci2454、CSM2433)是建立在现有的2.4GHz射频芯片基础上面,它的内部是集成了8位RISC内核,且集成丰富的MCU资源、更小的尺寸可以来满足…

用心选择,用爱呵护《米小圈上学记》和孩子一起热爱校园生活

作为家长,我们时常为孩子的教育和成长担忧,尤其是在选择适合他们阅读的书籍时更是如此。一本好的儿童读物不仅要有趣,还应该能够激发孩子的想象力,培养他们的品格与勇气。在这个过程中,我发现了一本特别适合孩子们的书…

Linux Vim最全面的教程如下

Linux Vim最全面的教程如下: 一、Vim简介 Vim(Vi Improved)是Linux系统下的一款强大的文本编辑器,具有多模式、高效、可配置等特点。Vim是Vi编辑器的进阶版,提供了更多的功能和更友好的用户界面。 二、Vim的基本模式…

FME实现批量合并shapefile文件数据,并提取原文件名,输出到属性表字段中的解决方法

目录 一、实现效果 二、实现过程 1.读取数据 2.暴露文件名属性 3.设置文件名字段 4.输出成果 5.模板的使用 三、总结 今天来介绍如何使用FME软件来实现对多个shapefile数据进行批量合并,同时提取原文件名并存储到合并后shapefile数据属性表字段中的方法&…

深入剖析Tomcat(十、十一) 详解StandardWrapper

《深入剖析Tomcat》第十章介绍了Tomcat的安全机制,主要就是对servlet的访问做安全验证,如果Tomcat中设置了某些servlet需要指定角色的用户才能访问,则需要客户端进行登录验证,如果用户名密码正确并且该用户拥有该角色的话&#xf…

windows git配置多个账号

window下git多账号配置_百度搜索 (baidu.com) 最重要的是这里生成新的id_rsa文件的时候,bash窗口是在 .ssh路径下 其实就是这个窗口在什么路径下执行的就是生成在什么路径 下面窗口路径不对,不是Desktop,应该是.ssh 如果是Desktop或者任何一…

2024-6-24(沉默Netty,MongoDB)

1.Netty概念 Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。 Dubbo,Kafka,ES等框架都是基于Netty开发的,可以把Netty理解为进行网络编程的…

数据库管理-第209期 HaloDB-Oracle兼容性测试01(20240621)

数据库管理209期 2024-06-21 数据库管理-第209期 HaloDB兼容性测试(20240621)1 数据类型2 字段默认值3 序列总结 数据库管理-第209期 HaloDB兼容性测试(20240621) 作者:胖头鱼的鱼缸(尹海文) Or…

Arcgis地统计分析工具灰色不可用 解决方法

使用Arcmap,调用地统计分析工具(Geostatistical Analyst)下的探索数据(Explore Data),发现工具呈灰色不可用。这是由于扩展模块中没有将该模块做勾选设置导致的。下面介绍一下如何解决地统计分析工具不可用…

LeetCode:经典题之2、445 题解及延伸

系列目录 88.合并两个有序数组 52.螺旋数组 567.字符串的排列 643.子数组最大平均数 150.逆波兰表达式 61.旋转链表 160.相交链表 83.删除排序链表中的重复元素 389.找不同 1491.去掉最低工资和最高工资后的工资平均值 896.单调序列 206.反转链表 92.反转链表II 141.环形链表 …

C++中常用库文件的使用

chrono::steady_clock::time_point last_rfid_time; 这条语句涉及C标准库中的Chrono库,用于处理时间和时钟。具体地,这条语句声明了一个类型为chrono::steady_clock::time_point的变量last_rfid_time。下面是详细的解释: 1. chrono chron…

第十二次作业

3.maven的基本原理和使用 maven:是一款管理和构建java项目的工具 3.1作用 1.依赖管理-方便快捷的管理项目管理(jar包),避免版本冲突问题。2。统一项目结构-提供标准,统一的项目结构。main-实际项目资源。java-java源…

FastAPI和APIRouter

在FastAPI框架中,app FastAPI() 和 router APIRouter() 分别代表了应用的两个核心构建块,它们在构建API时扮演着不同的角色: 1、app FastAPI() 这行代码是创建FastAPI应用实例的起点。FastAPI 类是FastAPI框架的核心,它继承自…

小型智能驱鸟器,建筑驱鸟专用

随着城市化进程的加快,鸟类与人类的居住空间逐渐交织重合,鸟类对建筑物的侵扰问题也愈发凸显。家庭庭院、住宅窗前、屋顶,甚至那些承载着历史与文化底蕴的名胜古迹和精美雕像,都时常受到鸟粪的污染。鸟粪具有腐蚀性且很难清理&…