当前位置: 首页 > 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 验证用户登录

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

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

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

相关文章:

  • PHP通讯录网站源码无需sql数据库
  • 【中级软件设计师】程序设计语言基础成分
  • 从零开始创建MCP Server实战指南
  • STM32外部中断与外设中断区别
  • Element Plus表格组件深度解析:构建高性能企业级数据视图
  • Vue2-指令语法
  • C++静态与动态联编区别解析
  • Windows安装Hadoop(图文解说版)
  • 【华为HCIP | 华为数通工程师】821—多选解析—第十二页
  • Spring中配置 Bean 的两种方式:XML 配置 和 Java 配置类
  • NDSS 2025|侧信道与可信计算攻击技术导读(二)系统化评估新旧缓存侧信道攻击技术
  • Mininet--node.py源码解析
  • ViViT: 一种视频视觉Transformer
  • Cline 之Plan和Act模式
  • [大模型]AI Agent入门01——AI Agent概念梳理
  • Ollama 实战手册
  • 植被参数遥感反演技术革命!AI+Python支持向量机/随机森林/神经网络/CNN/LSTM/迁移学习在植被参数反演中的实战应用与优化
  • spark jar依赖顺序
  • SpringBoot原生实现分布式MapReduce计算
  • 进阶篇 第 6 篇:时间序列遇见机器学习与深度学习
  • 特朗普称或将“大幅降低”对华关税,外交部:打,奉陪到底;谈,大门敞开
  • 游客大理古城买瓜起争执:170克手机称出340克
  • 对话上海外贸企业:关税战虽起,中国供应商却难以被取代
  • 金发科技去年净利增160%,机器人等新领域催生材料新需求
  • 广电总局加快布局超高清视听产业链,多项成果亮相
  • 如何保护人工智能领域的知识产权?上海市知识产权局局长解答