集成 LDAP

本文档介绍如何将 Nebula Graph 连接到 LDAP 服务器以进行身份​​验证(仅企业版可用)。

LDAP 介绍

集成 LDAP 后, Nebula Graph 即可共享在 LDAP 中定义的用户身份信息和密码。

安装 LDAP 插件

  1. 构建 LDAP 服务器并插入相应的记录。

    例如,插入用户名 test2,密码 passwdtest2。然后使用以下命令查看用户:

    1. ldapsearch -x -b 'uid=test2,ou=it,dc=sys,dc=com'
  2. auth_ldap.so 文件放在安装路径的共享目录中。

  3. 创建影子账户安装 auth_ldap 插件。

    以 root 身份登录 Nebula Graph, 密码为 nebula,身份验证 auth_type 类型为 password

    1. ./bin/nebula -u root -p nebula --port 3699 --addr="127.0.0.1"

    创建影子账户:

    1. # 此处需要为影子账户 test2 赋权
    2. nebula> CREATE USER test2 WITH PASSWORD "";

    安装 auth_ldap 插件:

    1. nebula> INSTALL PLUGIN auth_ldap SONMAE "auth_ldap.so";

    查看插件是否成功安装:

    1. nebula> SHOW PLUGINS;

卸载 LDAP 插件

  1. 以 root 身份登录 Nebula Graph, 密码为 nebula,身份验证 auth_type 类型为 password

    1. ./bin/nebula -u root -p nebula --port 3699 --addr="127.0.0.1"
  2. 执行以下命令卸载 auth_ldap 插件:

    1. nebula> UNINSTALL PLUGIN auth_ldap;

启用 LDAP 身份验证

Nebula Graph 默认禁用 LDAP 身份验证。执行以下操作启用 LDAP 身份验证:

开启身份验证开关

首先,开启身份验证开关。打开 nebula-graphd.conf 文件(默认目录为 /usr/local/nebula/etc/),然后找到 --enable_authorize,将其更改为 true

  1. ########## Authorization ##########
  2. # Enable authorization
  3. --enable_authorize=true

配置 Nebula Graph

然后配置 Nebula Graph 以使用 LDAP。您可以使用两种 LDAP 方法来为 Nebula Graph 开启身份验证。

  • 简单绑定。打开 nebula-graphd.conf 文件(默认目录为 /usr/local/nebula/etc/),找到 Authentication 部分,将 auth_type 更改为 ldap 并添加以下属性:

    1. ########## Authentication ##########
    2. # User login authentication type, password for nebula authentication, ldap for ldap authentication, cloud for cloud authentication
    3. --auth_type=ldap
    4. --ldap_server=127.0.0.1
    5. --ldap_port=389
    6. --ldap_scheme=ldap
    7. --ldap_prefix=uid=
    8. --ldap_suffix=,ou=it,dc=sys,dc=com
  • 搜索和绑定. 打开 nebula-graphd.conf 文件(默认目录为 /usr/local/nebula/etc/),找到 Authentication 部分,将 auth_type 更改为 ldap 并添加以下属性:

    1. ########## Authentication ##########
    2. # User login authentication type, password for nebula authentication, ldap for ldap authentication, cloud for cloud authentication
    3. --auth_type=ldap
    4. --ldap_server=127.0.0.1
    5. --ldap_port=389
    6. --ldap_scheme=ldap
    7. --ldap_prefix=uid=
    8. --ldap_suffix=,ou=it,dc=sys,dc=com

重启服务

保存并关闭配置文件,然后重启服务:

  1. /usr/local/nebula/scripts/nebula.service restart all

禁用 LDAP

nebula-graphd.conf 中的 --enable_authorize 参数设置为 false 然后重启服务即可在 Nebula Graph 中禁用 LDAP 身份验证。

使用 LDAP 连接 Nebula Graph

配置完成后,您可以使用 LDAP 身份验证连接到 Nebula Graph,运行以下命令:

  1. ./bin/nebula -u test2 -p passwdtest2 --port 3699 --addr="127.0.0.1"