本文面向使用 OpenLDAP 管理人员账户信息的企业,提供将 OpenLDAP 接入单点登录(SSO)的最佳实践指南,以实现统一认证和授权管理。通过集成 OpenLDAP、phpLDAPadmin、Keycloak,您可以轻松通过 SSO 功能登录 NineData。
1. 背景信息
OpenLDAP(Open Lightweight Directory Access Protocol)是一个开源的轻量级目录访问协议(LDAP)服务器,用于存储和管理组织的用户账号和身份信息,在企业中被广泛应用。而多数企业中存在着多个应用系统并行运行的情况,且这些应用系统通常拥有独立的身份认证和授权机制,导致用户需要为每个系统单独登录和管理账号。将 OpenLDAP 接入 SSO 后,用户只需一次登录即可以无缝地访问其他系统,除了简化账号管理和系统登录流程带来的便利之外,还降低了账户信息泄露的风险,提高系统的整体安全性。
2. 前提条件
拥有系统的 Root 权限,您可以在执行本文步骤前,先执行 sudo su 命令切换到 Root 账号。
3. 环境说明
本文从 0 到 1 介绍所有需要的软件工具的安装以及配置方法,您可在阅读时忽略您系统中已有软件的操作步骤。本文所使用的环境说明如下:
-
系统版本:CentOS Linux release 7.9.2009(提示:您可通过在命令行执行 cat /etc/*release 命令查看当前系统版本。)
-
Docker 版本:24.0.0
-
Docker Compose 版本:2.17.3
-
OpenLDAP 版本:2.4.57
-
phpLDAPadmin 版本:1.2.5
-
KeyCloak 版本:9.0.0
4. 安装 Docker 和 Docker Compose
为方便安装和配置,本文使用 Docker 和 Docker Compose 来运行 OpenLDAP、OpenLDAPAdmin 以及 KeyCloak。
以下是 CentOS 或者 Red Hat Enterprise Linux(RHEL)等基于 RPM 包管理的 Linux 系统中使用 yum 命令的安装步骤。
4.1 安装 Docker
1. 打开终端命令行工具,执行下列命令卸载旧版本的 Docker(如有):
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2. 安装 yum 包管理器扩展工具 yum-utils:
sudo yum install -y yum-utils
3. 设置 Docker 稳定版仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4. 安装最新版本的 Docker:
sudo yum install docker-ce docker-ce-cli containerd.io
5. 启动 Docker 服务:
sudo systemctl start docker
6. 验证 Docker 是否安装成功:
sudo docker run hello-world
提示:命令行中输出以下内容,则说明 Docker 已经成功安装
Hello from Docker! This message shows that your installation appears to be working correctly. ...
4.2 安装 Docker Compose
1. 打开终端命令行工具,执行下列命令下载 Docker Compose 二进制内容并保存到 /usr/local/bin/ 目录的 docker-compose 文件中。
curl -SL https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
2. 为 docker-compose 文件设置可执行权限。
sudo chmod u+x /usr/local/bin/docker-compose
3. 为 docker-compose 建立软连接,以便在任意目录下直接执行
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4. 验证 Docker Compose 是否安装成功:
docker-compose
提示:命令行中输出以下内容,则说明 Docker Compose 已经安装成功:
Usage: docker compose [OPTIONS] COMMAND ...
5. 安装 OpenLDAP
为保证最佳实践的完整性,本文提供 OpenLDAP 的安装方式,如果您已经安装了 OpenLDAP,请忽略本节内容