个人博客: https://songxwn.com/ELK-AD-LDAP-Authentication/
个人博客 RSS: https://songxwn.com/atom.xml
知乎: https://zhuanlan.zhihu.com/p/626400179
简介
本文章主要介绍了 Elasticsearch 接入微软的 Active Directory (域控)作为身份认证。
LDAP 认证接入可参考官方文档。
使用环境:Rocky Linux 、Elasticsearch 8 、Windows Server 2022
**注意:由于此功能基础版无法使用,需要白金版本。
ELK 系列文章:https://songxwn.com/categories/linux/ELK/
修改配置文件
vim /etc/elasticsearch/elasticsearch.yml
# ad1
xpack:
security:
authc:
realms:
active_directory:
ad1:
order: 0
domain_name: songxwn.com
url: ldap://songxwn:389
bind_dn: [email protected]
注意:如果是集群,需要每一个节点都修改此配置。(注意所有节点的 DNS 服务器都要指向域控制器)
配置 bind 账号的密码
/usr/share/elasticsearch/bin/elasticsearch-keystore add \ xpack.security.authc.realms.active_directory.ad1.secure_bind_password
# 配置 ad1 下的用于搜索的域账号密码。
注意:如果修改了 keystore ,那么集群上的每一个节点都要同步。
密钥库管理参考官方文档。(增加、列出、查看明文、删除等)
配置用户组映射
命令操作-Kibana>http://127.0.0.1:5601/app/dev_tools#/console
PUT /_security/role_mapping/admins
{
"roles" : [ "monitoring" , "user" ],
"rules" : { "field" : {
"groups" : "cn=admins,cn=Users,dc=songxwn,dc=com"
} },
"enabled": true
}
#
# 映射安全组,dc=songxwn,dc=com 为域名。cn=admins,cn=Users 代表路径,Users 是组织单元,而 admins 为安全组。
admins 安全组在 Users 组织单元下。
# 在 AD 中,添加到安全组的用户即可登录,并映射到相关角色。
# 用户可不带域名后缀登录。
# 具体路径查看,可以参考 AD 上的 ADSI 编辑器工具。
Web 操作-Kibana>http://127.0.0.1:5601/app/management/security/role_mappings
参考
https://www.elastic.co/guide/en/elasticsearch/reference/current/active-directory-realm.html