timzaak / blog

8 stars 1 forks source link

OpenLDAP 使用记录 #31

Closed timzaak closed 5 years ago

timzaak commented 5 years ago

OpenLDAP 主要是用来解决人员账号权限问题。我自己调研用的是 osixia/openldap:1.2.2 osixia/phpldapadmin:0.7.2 两个镜像,至于备档,osixia也提供了完整的方案,我还未开始研究。

本来以为很简单的东西,但理念以及应用上却十分麻烦。网上文档也没有一份应用指南,只能边搜索边应用。这里做个备档。 DN 和 ObjectClass 有概念的基本讲解。 应用的时候,则如下:

创建组织结构

  1. 创建 OU(Organisational Unit)为 people 的,把所有 uid 都放进去。
  2. 再用 OU+ 地域属性 创建组织结构,用 Organisational Role 创建角色,将相应的 uid 塞进去。 这么做的目的是为了解决一个 uid 存在于多个 group。

第三方功能对接

这里以 gitlab 举例:

  1. 创建 OU 为 projects
  2. 在 projects 下创建 OU gitlab
  3. 在 gitlab 下创建 GroupOfNames, 通过 member 进行筛选,将组织结构中的相应角色添加进去

如果某一应用只在某个OU下使用的的话,则直接是young组织结构即可。

PS: 如果期望无缝对接Linux 权限系统,可以基于 PosixGroup 替代 GroupOfNames