

Confluence集成进freeIPA进行统一认证
source link: https://bajie.dev/posts/20230216-freeipa_confluence/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Confluence集成进freeIPA进行统一认证
公司决定用统一用户管理系统,那必然是微软的 AD 和开源的 LDAP 二选一了
自然用 Freeipa 作为首选。
花时间仔细调研了一下,先说结论:
如果 confluence 已经有很多用户,那么对不起,这些用户的密码都必须通知到个人,强制进行修改,旧有的密码完全无法导出(除非一个一个人问出来)。
confluence 实际上是用了一个内置的目录软件来管理用户的,用户唯一存在的凭据就是邮箱。
confluence 支持同时从多个目录树中按照顺序来查询用户,查询到的结果会合并。举例来说,排第一的目录树是freeipa,排第二位的目录树是内置目录,两个目录树都有一个用户,两条记录的邮件是一致的,那么会在排第一的 freeipa 树中认证用户,但会把两个目录树中用户的信息拼接合并起来总体返回。
这样就明白了把,我们只用第一个 freeipa 目录树来认证用户,原有的组权限还是用第二个内置目录树中的信息,保持两棵树中用户的 mail 保持一致即可,步骤如下。
我们首先要提前在freeIPA里面建立两个组:
confluence-administrators
confluence-users

然后跑到 Confluence 里,用户目录,添加一个 freeipa 的目录服务放在前面

详细配置的参数如下:
配置如下:
Server Settings:
- Namel: freeipa
- Directory Type: OpenLDAP
- Server: example.com
- Port: 389
- Use SLL: false
- Username: uid=admin,cn=users,cn=accounts,dc=bybon,dc=cn
- Password: <insert password here>
LDAP Schema:
- Base DN: dc=bybon,dc=cn
- Additional User DN: cn=users,cn=accounts
- Additional Group DN:cn=groups,cn=accounts
LDAP Permissions:
Select Read/Write
Advanced Settings: Default
User Schema Settings
- User Object Class: inetorgperson
- User Object Filter: (&(objectclass=inetorgperson)(memberOf=cn=confluence-users,cn=groups,cn=accounts,dc=bybon,dc=cn))
- User Name Attribute: uid
- User Name RDN Attribute: uid
- User First Name Attribute: giveName
- User Last Name Attribute: sn
- User Display Name Attribute: displayName
- User Email Attribute: mail
- User Password Attribute: userPassword
- User Password Encryption: SHA
- User Unique ID Attribute: uid
Group Schema Settings
- Group Object Class: groupofnames # all lowercase
- Group Object Filter: (objectclass=groupofnames) # all lowercase
- Group Name Attribute: cn
- Group Description Attribute: description
Membership Schema Settings
- Group Members Attribute: member #lowercase
- User Membership Attribute:memberOf
放全中文的图如下:





折磨了很久才弄出来,验证一下用户:
跑到 confluence 里面查看,明显是两个目录树合并的结果:

关于 admin 的问题,注意一下,我们上面找用户的 filter 是找不到 admin 用户的。但是第一步认证是 ldap 做的,认证过了以后,freeipa 的 ldap filter 过滤后找不到 admin 这个用户,所以只会在内置目录有 admin 的信息,下面验证一下,admin 只存在于 Confluence Internal Directory 中。

再补充一点,freeipa 是可以匿名访问的,但是匿名状态下,一些属性字段是看不见的,比如 mail 。
所以想要查到全部字段,必须登录,放一个查询的脚本:
ldapsearch -W -D uid=admin,cn=users,cn=accounts,dc=bybon,dc=cn -h localhost -b cn=users,cn=accounts,dc=bybon,dc=cn '(&(objectclass=inetorgperson)(memberOf=cn=confluence-users,cn=groups,cn=accounts,dc=bybon,dc=cn))'
Recommend
-
74
1.1 Confluence简介 Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。 Confluence为团队提...
-
11
xxl-job 是一款 java 开发的、开源的分布式任务调度系统,自带了登录认证功能,不支持对接、扩展 LDAP 、OIDC 等标准认证系统,考虑到单独维护 xxl-job 自有的用户系统不方便,以及存在人员离职、调岗、权限变动等需要及时调整用户权限的情况,需要接入公司统一...
-
8
V2EX › Linux 请教一下 FreeIPA 的 sudo 命令管理 DUDUHA · 6 小时 46 分钟前 · 107 次点击
-
17
How To Configure FreeIPA replication on UbuntuSearch ComputingForGeeksHow can I configure FreeIPA replicatio...
-
15
Install and Configure FreeIPA Server on Rocky Linux 8Search ComputingForGeeksToday’s guide will be on the in...
-
28
审计啊审计,公司使用的华为防火墙需要配置双因子登录认证,这下麻烦了。 查了一下华为手册,支持 Radius 认证,那么没办法,最省钱的办法就是用 FreeIPA 和 FreeRadius 搭一套 OTP 双因子认证了。 系统是 CentOS 7 ,已关闭防火墙服务,方法如下:
-
5
Gitlab集成进freeIPA进行统一认证 2023-02-17 1 分钟阅读 接上一篇,Freeipa接完confluence,接下来是接入Gitlab. 先下结论:同样道理,也是存在先有 Gitlab 账户、然后才有的 FreeIPA LDAP 目录,这也不要紧,因为 Gitla...
-
11
Yearning集成进freeIPA进行统一认证 2023-02-28 2 分钟阅读 接上上一篇,Freeipa接完confluence,接下来是接入数据库上线软件Yearning. 先下结论:同样存在先有 Yearning 账户、然后才有的 FreeIPA LDAP 目录,这次要命了...
-
3
前言: 近期因为某些原因需要批量替换掉 jira 和 confluence中的特定关键字,而且在替换前还希望进行备份(以便后续恢复)和导出(方便查看)atlassian官方的api介绍文档太简陋,很多传参都没有进一步的描述说明,过程...
-
13
Yapi集成进freeIPA进行统一认证 2023-04-12 1 分钟阅读 Freeipa接入Yapi. vi my-api/config.json ... "ldapLogin": { "enable": true, "server": "ldap://ldap.bybon.cn",...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK