LDAP认证服务器容器化部署
一、LDAP介绍
OpenLDAP是轻量型目录访问协议(Lightweight Directory Access Protocol,缩写:LDAP)的一个开源实现。LDAP服务器本质上是一个为只读访问而优化的非关系型数据库。主要用做地址簿查询(如Email客户端)或对各种服务访问做后台认证以及用户数据权限管控。
二、LDAP容器化部署
2.1 运行OpenLDAP容器
[root@10-27-0-224 ~]# docker run -p 389:389 -p 636:636 / --name stargao_ldap / --network bridge / --hostname stargao-openldap / --env LDAP_ORGANISATION="ldap.starcto" / --env LDAP_DOMAIN="ldap.starcto.com" / --env LDAP_ADMIN_PASSWORD="123456" / --detach osixia/openldap
-p 389:389 # TCP/IP访问端口
-p 636:636 # SSL连接端口
-- name stargao_ldap # 容器名称为stargao_ldap
-- network bridge # 连接默认的bridge网络(docker0)
-- hostname stargao-openldap # 设置容器主机名称为 stargao-openldap
-- env LDAP_ORGANISATION="" # 配置LDAP组织名称
-- env LDAP_DOMAIN="" # 配置LDAP域名
-- env LDAP_ADMIN_PASSWORD="" # 配置LDAP密码
默认登录用户名:admin
2.2 可视化的LDAP管理工具
[root@10-27-0-224 ~]# docker run -d --privileged -p 8080:80 / --name stargao_phpldapadmin / --env PHPLDAPADMIN_HTTPS=false / --env PHPLDAPADMIN_LDAP_HOSTS=10.27.0.224 / --detach osixia/phpldapadmin
-- privileged # 特权模式启动(使用该参数,container内的root才拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限)
-- env PHPLDAPADMIN_HTTPS=false # 禁用HTTPS
-- env PHPLDAPADMIN_LDAP_HOSTS =10.27.0.224 # 配置openLDAP的IP或者域名,我的openLDAP是在本地10.27.0.224启动
2.3 docker-compose部署
openLDAP官方文档:https://github.com/osixia/docker-openldap/blob/stable/example/docker-compose.yml
k8s部署:https://github.com/osixia/docker-openldap
三、LDAP可视化配置
3.1 登录验证
用户名:cn=admin,dc=ldap,dc=starcto,dc=com 密码:123456
3.2 新建组与用户
(1)创建新的条目
(2)创建一个组织单元,比如:创建一个技术部support
(3)然后在support部门中创建组,或者直接创建用户。同样点击刚创建好的support部门的条目,点击create a child entry,选择Posix Group,创建一个IT组。
(4)在新建的组下添加用户,选中IT条目,创建子条目,选择User Account或Account,推荐使用User Account,因为User Account中包含了Account,还增加了更多的属性。
此时用户的 (DN)Distinguished Name: cn=star gao,cn=IT,ou=support,dc=ldap,dc=starcto,dc=com如果想使用uid来识别用户可以在界面中rename修改用户的dn。
(5)修改UID为ustar
3.3 LDAP使用memberOf属性
(1)在一些组件的继承中需要用到memberOf属性去同步用户的一些角色信息,但是posixGroup组并没有提供这个属性,所以我们需要新建一个拥有groupOfUniqueNames的用户组条目。我们在support部门条目下创建一个拥有groupOfUniqueNames的用户组条目,第一步先选择创建子条目,第二部选择默认模板。
(2)rdn选择ou或者cn都可以(rdn:一般指dn逗号最左边的部分,如cn=ustar,cn=IT,ou=support,dc=starcto,dc=com中rdn为cn=ustar。它与RootDN不同,RootDN通常与RootPW同时出现,特指管理LDAP中信息的最高权限用户。)然后选择此组内包含的成员,点击这个搜索按钮,选择对应的人员,我们选择uid=ustar的用户。
作者:UStarGao
链接:https://www.starcto.com/application_of_operational/238.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
UCloud云平台推荐
随便看看
- 2024-09-03UCloud UHost自建K8S集群如何使用基础云产品ULB负载均衡
- 2021-06-26SmokePing网络PING探测监控解决方案
- 2021-08-05Redis持久化机制之AOF日志与RDB快照
- 2022-06-24一文搞懂MySQL日志区别-binlog/redo log/undo log
- 2021-09-13开源为知笔记容器化部署