当前位置: 首页 > news >正文

OpenLDAP 管理 ELK 用户

文章目录

    • 一、新建 ELK 相关用户组
    • 二、配置 Elasticsearch
      • 2.1 修改 elasticsearch.yml 配置
      • 2.2 使用 API 接口建立角色和用户映射
    • 三、Kibana 验证用户登录

在这里插入图片描述

一、新建 ELK 相关用户组

由于后续要将 LDAP 的用户与 ELK 的角色进行映射,所以需先创建几个以 ELK 的角色命名的用户组。

步骤如下

  1. 创建 elk.ldif 文件并编辑内容:
vim elk.ldif

elk.ldif 文件中添加以下内容:

dn: ou=elk,ou=Group,dc=aex,dc=com
ou: elk
objectClass: organizationalUnit
objectClass: topdn: cn=superuser,ou=elk,ou=Group,dc=aex,dc=com
objectClass: top
objectClass: groupOfUniqueNames
cn: superuser
uniqueMember: cn=lichunlin,ou=People,dc=aex,dc=comdn: cn=kibana_system,ou=elk,ou=Group,dc=aex,dc=com
objectClass: top
objectClass: groupOfUniqueNames
cn: kibana_system
uniqueMember: cn=zengxiaoyan,ou=People,dc=aex,dc=comdn: cn=logs_viewer,ou=elk,ou=Group,dc=aex,dc=com
objectClass: top
objectClass: groupOfUniqueNames
cn: logs_viewer
uniqueMember: cn=zhangsan,ou=People,dc=aex,dc=com
  1. elk.ldif 文件中的内容添加到 LDAP 中:
ldapadd -x -D "cn=root,dc=aex,dc=com" -W -f elk.ldif

二、配置 Elasticsearch

2.1 修改 elasticsearch.yml 配置

为增加 LDAP 验证,需在 elasticsearch.yml文件中新增以下内容:

vim /usr/local/elk/elastic/config/elasticsearch.yml

在文件中添加:

xpack:security:authc:realms:ldap:ldap1:order: 0url: "ldap://192.168.0.12:389"bind_dn: "cn=root, dc=aex, dc=com"user_search:base_dn: "dc=aex,dc=com"filter: "(cn={0})"group_search:base_dn: "dc=aex,dc=com"files:role_mapping: "/usr/local/elk/elastic/config/role_mapping.yml"unmapped_groups_as_roles: false

出于安全考虑,LDAP 的管理员账号不在 elasticsearch.yml 配置文件中配置,而是使用 elasticsearch-keystore 进行存储。

注意事项
使用 Elasticsearch 的运行用户执行 elasticsearch-keystore 命令,若使用 root 用户运行,会改变配置文件中 elasticsearch-keystore 的属主,导致 Elasticsearch 启动失败。

/usr/local/elk/elastic/bin/elasticsearch-keystore add xpack.security.authc.realms.ldap.ldap1.secure_bind_password

2.2 使用 API 接口建立角色和用户映射

示例 1:超级用户

  • 接口/_security/role_mapping/superuser
  • 请求头Content-Type: application/json
  • 请求体
{"roles": ["superuser"],"rules": { "field": {"groups": "cn=superuser,ou=elk,ou=Group,dc=aex,dc=com"} },"enabled": true
}

示例 2:普通用户

  • 接口/_security/role_mapping/logs_viewer
  • 请求头Content-Type: application/json
  • 请求体
{"roles": ["logs_viewer", "kibana_user"],"rules": { "field": {"groups": "cn=logs_viewer,ou=elk,ou=Group,dc=aex,dc=com"} },"enabled": true
}

可在 Kibana 上查看映射关系:
在这里插入图片描述

三、Kibana 验证用户登录

  • 超级用户登录示例
    在这里插入图片描述

  • 普通用户登录示例
    在这里插入图片描述

  • 登录验证界面示例
    在这里插入图片描述
    在这里插入图片描述

http://www.xdnf.cn/news/79831.html

相关文章:

  • 运行neo4j.bat console 报错无法识别为脚本,PowerShell 教程:查看语言模式并通过注册表修改受限模式
  • DeepSeek开源引爆AI Agent革命:应用生态迎来“安卓时刻”
  • 【Python】Selenium切换网页的标签页的写法(全!!!)
  • 力扣hot100 LeetCode 热题 100 Java 哈希篇
  • Spring之我见 - Spring MVC重要组件和基本流程
  • N8N 官方 MCP 节点实战指南:AI 驱动下的多工具协同应用场景全解析
  • 多台电脑切换解决方案:KVM 切换器
  • 小技巧1,在vue3中利用自定义ref实现防抖(customRef)
  • 晨控CK-FR12与欧姆龙NX系列PLC配置EtherNet/IP通讯连接操作手册
  • C++_并发编程_thread_01_基本应用
  • LoRA微调技术全景解析:大模型高效适配的革新之道
  • 【RuleUtil】适用于全业务场景的规则匹配快速开发工具
  • ffmpeg 硬解码相关知识
  • spark-SQL实验
  • 川翔云电脑32G大显存集群机器上线!
  • 进阶篇 第 6 篇:时间序列遇见机器学习与深度学习
  • 考研单词笔记 2025.04.22
  • 安宝特科技 | AR眼镜在安保与安防领域的创新应用及前景
  • 企业战略到数字化落地 —— 第三章 数字化架构
  • 快速定位达梦缓存的执行计划并清理
  • 基于大疆行业无人机的特色解决方案-无线通信篇:基于蜂窝以及自组网MESH的无线通信C2链路
  • Web3实战:从零开发你的ERC20代币合约
  • 在 master 分支上进行了 commit 但还没有 push,怎么安全地切到新分支并保留这些更改
  • 使用 LangChain + Higress + Elasticsearch 构建 RAG 应用
  • WebRTC服务器Coturn服务器中的通信协议
  • 进阶篇 第 2 篇:自相关性深度解析 - ACF 与 PACF 图完全指南
  • 云原生--基础篇-3--云原生概述(云、原生、云计算、核心组成、核心特点)
  • 2025.04.22【Sankey】流图分析技巧与应用
  • 设备制造行业如何避免项目管理混乱?
  • 【人脸识别】百度人脸识别H5方案对接