OpenLdap管理

一、服务器部署

使用DockerComposer部署

$ git clone https://github.com/gikoluo/openldap
$ cd openldap
$ docker-compose up

使用K8S部署

$ git clone https://github.com/gikoluo/openldap
$ cd openldap
$ kubectl apply -f openldap-etc-pvc.yaml
$ kubectl apply -f openldap-lib-pvc.yaml
$ kubectl apply -f openldap-deployment.yaml
$ kubectl apply -f openldap-service.yaml

# Check services
$ kubectl get deployments openldap
$ kubectl get services openldap
$ kubectl describe services openldap
$ kubectl get pods 

使用Helm部署

helm install --name openldap -f helm.yaml stable/openldap

#get generated passwords
kubectl get secret --namespace devops openldap -o jsonpath="{.data.LDAP_ADMIN_PASSWORD}" | base64 --decode; echo
   kubectl get secret --namespace devops openldap -o jsonpath="{.data.LDAP_CONFIG_PASSWORD}" | base64 --decode; echo

使用传统Yum部署

详细流程参见页面: https://linuxtechlab.com/openldap-complete-guide-install-configure

$ yum install openldap-server

二、管理使用

验证:

# Create a forward port for management temporarily
$ kubectl port-forward svc/openldap 8389:389

$ ldapsearch -x -W -D 'cn=admin,dc=luochunhui,dc=com' -b "" -s base -h 127.0.0.1 -p 8389  #cn一般为admin,但也有被默认为Manager的情况
Enter LDAP Password:
# extended LDIF
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: ALL
#

#
dn:
objectClass: top
objectClass: OpenLDAProotDSE

# search result
search: 2
result: 0 Success
numResponses: 2
numEntries: 1

使用ApacheDirectoryStudio进行管理

从 https://directory.apache.org/studio/ 下载并安装ADS。 适用于MAC,Windows,Linux。

新建LDAP连接,使用以下配置:

Hostname: 127.0.0.1
Port: 8389
Encryption method: No encryption
Provider: Apache Directory LDAP Client API
BindDN or user: cn=admin,dc=luochunhui,dc=com
Bind password: password set in deploy

建立组织和用户结构

建立组织结构,结果按图示:

ou=inner         #内部产品
  - ou=jenkins   #某产品,也用来管理用户和产品之间权限管理
ou=people        #用户列表
  - cn=wo@luochunhui.com   #用户

管理用户和组关系

在需要的授权的组中,增加member属性,其值为用户的DN地址。示例如下图:

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据