基于elastic stack的docker-compose部署的ELK与LDAP集成

说明:

ldap信息配置到es配置文件上,然后kibana读取es的配置信息

用户与角色的关系通过role_mapping.yml文件配置获取

角色与权限的关系通过elastic stack提供的DevTools或API进行维护

一、前置条件:

1.1 es已开启xpack(已开启的可忽略)

es01:
    environment:      
      - xpack.security.enabled=true

1.2 新建ldap 映射文件:role_mapping.yml

superuser:
  - "cn=Manager,dc=houpu,dc=com"
kibana_user:
  - "uid=langpf,ou=people,dc=houpu,dc=com"
test:
  - "uid=chasy,ou=people,dc=houpu,dc=com"

1.3 将映射文件挂载到es容器

  es01:
    volumes:
      - ./role_mapping.yml:/usr/share/elasticsearch/config/role_mapping.yml

二、在es配置中开启ldap

es01:
    environment:
      - xpack.security.authc.realms.ldap.ldap1.type=ldap  #此项已弃用
      - xpack.security.authc.realms.ldap.ldap1.order=0
      - xpack.security.authc.realms.ldap.ldap1.url=ldap://192.168.31.240:389
      - xpack.security.authc.realms.ldap.ldap1.bind_dn=cn=Manager,dc=houpu,dc=com
      - xpack.security.authc.realms.ldap.ldap1.bind_password=changeme
      - xpack.security.authc.realms.ldap.ldap1.user_search.base_dn=dc=houpu,dc=com
      - xpack.security.authc.realms.ldap.ldap1.user_search.filter=(cn={0})
      - xpack.security.authc.realms.ldap.ldap1.group_search.base_dn=dc=houpu,dc=com
      - xpack.security.authc.realms.ldap.ldap1.files.role_mapping=/usr/share/elasticsearch/config/role_mapping.yml
      - xpack.security.authc.realms.ldap.ldap1.unmapped_groups_as_roles=false

三、重启elk

docker-compose down
docker-compose up -d

四、查看效果

管理员用户:拥有所有权限

kibana_user用户:无discover权限,无stack monitor权限,也无dev-tools api权限

test用户:不在角色列表中,无任何权限

附:角色管理API常用请求:

# Click the Variables button, above, to create your own variables.
GET ${exampleVariable1} // _search
{
  "query": {
    "${exampleVariable2}": {} // match_all
  }
}

GET /_security/role

GET /_security/role_mapping

GET /_security/role/kibana_user

GET /_security/role/test

PUT /_security/role/test
{
  "indices": [
    {
      "names": ["index1", "index2", "log-test-*"],
      "privileges": ["read"]
    }
  ],
  "applications": [
      {
        "application": "kibana-.kibana",
        "privileges": [
          "all"
        ],
        "resources": [
          "*"
        ]
      }
    ]
}

POST /_security/realm_cache/_clear

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QQ等级评估源码+软件

今天,我将和大家探讨一个与直播、撸礼物相关的主题,它涉及到的是一种特殊的软件及其源码——QQ等级评估工具。在我们的生活中,直播已经成为了一种越来越流行的娱乐方式。不论是音乐会、电子竞技,还是日常生活分享,你都…

猫狗识别—静态图像识别

猫狗识别—静态图像识别 1. 导入必要的库:2. 设置数据目录和模型路径:3. 定义图像转换4. 使用GPU5. 加载没有预训练权重的ResNet模型6. 创建Tkinter窗口:7.定义选择图片的函数:8.定义预测图片的函数:9.退出程序的函数:10.创建按钮:11.运行Tkinter事件循环:12. 完整代码&#xf…

研究发现GPT-4o等较新的多模态AI模型的安全机制有不足之处

在 ChatGPT 和类似的生成式人工智能模型推出后,很多人都在强调安全问题,政府也参与其中,OpenAI 甚至成立了一个超级协调小组,以阻止未来的人工智能失控,但由于对人工智能安全的发展方向存在分歧,该小组于今…

Zed+AD9361项目独立移植到windows中

文件分享 链接:https://pan.baidu.com/s/17wB_9xVWjO7HhxNvmmZyuA 提取码:94zz 首先下载HDL和NO-OS项目 git clone --recursive https://github.com/analogdevicesinc/hdl git clone --recursive https://github.com/analogdevicesinc/no-OS下载…

Grafana+Prometheus构建强大的监控系统-保姆级教程[监控linux、oracle]

什么是Grafana? Grafana是一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Prometheus、Graphite、Elasticsearch、OpenTSDB、InfluxDB、redis。。。简单点说就是一套开源WEB可视化平台。通过对数据库数据二次提取,做出好看的…

MySQL集群高可用架构之双主双活+keepalived

该教程再linux系统下 从部署单台mysql -->到部署两台双主mysql-->再到安装keepalived-->整体测试 从而实现mysql双主双活高可用的目标。 改文档由本人亲自部署搭建一步一步编写而来,实属不易,如对您有所帮助,请收藏点个赞&#x…

如何在ArcGIS Pro中提取行政区划

我们在《2024版有审图号的SHP行政区划》一文中,为你分享过全国省市县级的行政区划。 现在再为你分享一下,如何在ArcGIS Pro中提取目标范围行政区划的方法,你还可在以文末查看领取该行政区划数据的方法。 直接选择 在菜单栏上点击一下选择下…

Python代码升级工具库之pyupgrade使用详解

概要 在Python开发过程中,随着语言版本的更新和改进,代码也需要不断地进行升级和优化,以利用新版本提供的特性和性能提升。pyupgrade 库是一个自动化工具,它能够帮助开发者将代码升级到指定的Python版本,自动应用新的语法和特性,简化了代码维护工作。本文将详细介绍 pyu…

【深度学习】机器学习基础

机器学习就是让机器具备找一个函数的能力 带有未知的参数的函数称为模型 通常一个模型的修改,往往来自于对这个问题的理解,即领域知识。 损失函数 平均绝对误差(Mean Absolute Error,MAE) 均方误差(Mea…

【02-02】SpringMVC基于注解的应用

一、请求处理 1、常用注解 RequestMapping 作用:用来匹配客户端发送的请求(用来处理URL映射,将请求映射到处理方法中),可以在类或者方法上使用。 用在类上,可以将请求模块化,避免请求方法中的…

优刻得首个「国产千卡智算集群」落地,支持智源千亿大模型训练

在人工智能引领的时代浪潮中,算力已成为技术进步与创新的核心驱动力。面对当下AI算力需求的飙升、高端AI芯片供应受限的挑战,加之OpenAI带来的技术封锁,唯有坚定不移的发展自主可控的国产技术方案,持续壮大国产智算集群规模&#…

计算机网络之数据通信原理

1.通信系统的基本组成 信源:信息的发出者; 信宿:信息的接收者; 载体:信息的传送通道; 变换器:将信息变换成载体上可传输的信号; 反变换器:将载体上传输的信号变换成信…

兴趣爱好广泛的人,如何填报高考志愿选专业?

一般来说,高考填报志愿都要以自己的兴趣为基础。但是对于有一些比较优秀的同学来说,自己的兴趣可能是非常广,涉及到各个专业方方面面。有些同学琴棋书画样样精通,对于很多的专业,他们都充满了兴趣,而且兴趣…

navicat Premium发布lite免费版本了

Navicat Premium发布lite免费版本了,下面是完整功能对比链接 Navicat Premium 功能列表 | Navicat 免费版本下载链接如下: Navicat | 免费下载 Navicat Premium Lite 开发功能完全够用,点赞。 dbeaver该如何应对。

MySQL高级-索引-使用规则-前缀索引

文章目录 1、前缀索引2、前缀长度3、查询表数据4、查询表的记录总数5、计算并返回具有电子邮件地址(email)的用户的数量6、从tb_user表中计算并返回具有不同电子邮件地址的用户的数量7、计算唯一电子邮件地址(email)的比例相对于表…

鸿蒙Harmony开发实战案例:使用OpenGL绘制3D图形

XComponent控件常用于相机预览流的显示和游戏画面的绘制,在OpenHarmony上,可以配合Native Window创建OpenGL开发环境,并最终将OpenGL绘制的图形显示到XComponent控件。本文将采用"Native C"模板,调用OpenGL ES图形库绘制3D图形&…

面试-collection体系

1.整体collection体系图 2.集合List和Set (1)ArrayList和LinkedList区别 我们知道,通常情况下,ArrayList和LinkedList的区别有以下几点: 1. ArrayList是实现了基于动态数组的数据结构(可以实现扩容,实现方式是建立一个新的数组,再…

安霸CVFlow推理开发笔记

一、安霸环境搭建: 1.远程172.20.62.13 2. 打开Virtualbox,所在目录:E:\Program Files\Oracle\VirtualBox 3. 配置好ubuntu18.04环境,Ubuntu密码:amba 4. 安装toolchain,解压Ambarella_Toolchain_CNNGe…

Android 大话binder通信 (下)

戳蓝字“牛晓伟”关注我哦! 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章 前情提要 Android 大话binder通信 (上)主要介绍了矮挫丑进程一直暗恋白富美进程,遂发送情书给她,以表达对她的爱慕之情,而情书顺利的到达…

linux中awk,sed, grep使用(待补充)

《linux私房菜》这本书中将sed和awk一同归为行的修改这一点,虽然对,但不利于实际处理问题时的思考。因为这样的话,当我们实际处理问题时,遇到比如说统计文本打印内容时,我们选择sed还是awk进行处理呢? 也因…