Elasticsearch 接入微软 Active Directory 认证教程

查看 32|回复 0
作者:Songxwn   
订阅
个人博客: 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]
  • domain_name 和 url 选项修改为自己的域名。
  • bind_dn 修改为域用户。

    注意:如果是集群,需要每一个节点都修改此配置。(注意所有节点的 DNS 服务器都要指向域控制器)
    配置 bind 账号的密码
    /usr/share/elasticsearch/bin/elasticsearch-keystore add \ xpack.security.authc.realms.active_directory.ad1.secure_bind_password
    # 配置 ad1 下的用于搜索的域账号密码。
  • 密码会存储到 /etc/elasticsearch/elasticsearch.keystore

    注意:如果修改了 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

  • 映射安全组,dc=songxwn,dc=com 为域名。cn=admins,cn=Users 代表路径,Users 是组织单元,而 admins 为安全组。 admins 安全组在 Users 组织单元下。 
  • 在 AD 中,添加到安全组的用户即可登录,并映射到相关角色。 
  • 用户可不带域名后缀登录。 
  • 具体路径查看,可以参考 AD 上的 ADSI 编辑器工具。

    参考
    https://www.elastic.co/guide/en/elasticsearch/reference/current/active-directory-realm.html
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部