gitlab同步AD中的组

Python013

gitlab同步AD中的组,第1张

网上的gitlab集成ad域控的教程基本上都是只集成了ad中的用户,而依然需要把用户拉到对应群组,查看了gitlab官网的说明是支持group sync的,即把ad的安全组同步到gitlab的群组,本文在同步用户的基础上进一步同步了组。

前提:已搭建 gitlab-ee (必须是Premium或Ultimate计划)和内部AD域

该实例中把用户创建在Coding组织目录下,用户组创建在Groups组织目录下。

将权限分成guest和developer两种,每个Gitlab中的xx群组所对应的AD用户组名称为xx_guest和xx_developer两个组。(实际使用中根据需求创建)

配置文件/etc/gitlab/gitlab.rb,在集成LDAP登录的基础上再加上group_base和gitlab_rails['ldap_group_sync_worker_cron']两项。

[root@mq01 ~]# gitlab-ctl reconfigure

[root@mq01 ~]# gitlab-ctl restart

本例子将AD域中的java_guest和java_developer组同步到Java群组中。

新建一个用户Developer01,将其加入到Java_Developer组中。

该新建用户登录到gitlab中,查看“你的群组“中是否自动加入了指定的群组。

如需修改用户权限,如guest修改为developer,直接在AD域中将用户从xx_guest组中删除,加入到xx_developer中即可。

参考文章: https://docs.gitlab.com/ee/administration/auth/ldap/

https://about.gitlab.com/blog/2014/07/10/feature-highlight-ldap-sync/

此设置适合Windows AD域(Windows LDAP),非Windows AD域(比如 Free LDAP)请参考 LDAP用户统一登录 。

1、进入“系统常用管理功能 ” ->“Windows域用户统一登录 ”, 如下图:

2、设置域验证的方式,域名称和域IP等参数

3、设置参数后重启文档服务,可以用域账号直接登录文档系统

可以用域账号直接登录,也可以实现混合用户登录

4、同步域组和域用户

可以导入选择的域组、用户账号,实现组织结构同步