写点什么

gitlab ldap 配置

作者:阿呆
  • 2022-12-21
    北京
  • 本文字数:1078 字

    阅读完需:约 4 分钟

gitlab ldap配置

背景

在公司中,基本都用统一登陆服务,各个系统都需要接入到统一登录中,员工就可以用一个统一的密码去登录各个平台,gitlab 作为大多数企业使用的代码托管平台,如何配置 ldap?


ldap 配置

1、修改 gitlab.rb 配置

修改 gitlab.rb 的配置,添加 ldap 相关的配置,具体配置可参考如下:

gitlab_rails['ldap_enabled'] = truegitlab_rails['prevent_ldap_sign_in'] = falsegitlab_rails['ldap_servers'] = {  'main' => {    'label' => 'LDAP',    'host' =>  'ldap.mydomain.com',    'port' => 636,    'uid' => 'sAMAccountName',    'encryption' => 'simple_tls',    'verify_certificates' => true,    'bind_dn' => '_the_full_dn_of_the_user_you_will_bind_with',    'password' => '_the_password_of_the_bind_user',    'tls_options' => {      'ca_file' => '',      'ssl_version' => '',      'ciphers' => '',      'cert' => '',      'key' => ''    },    'timeout' => 10,    'active_directory' => true,    'allow_username_or_email_login' => false,    'block_auto_created_users' => false,    'base' => 'dc=example,dc=com',    'user_filter' => '',    'attributes' => {      'username' => ['uid', 'userid', 'sAMAccountName'],      'email' => ['mail', 'email', 'userPrincipalName'],      'name' => 'cn',      'first_name' => 'givenName',      'last_name' => 'sn'    },    'lowercase_usernames' => false,
# EE Only 'group_base' => '', 'admin_group' => '', 'external_groups' => [], 'sync_ssh_keys' => false }}
复制代码

2、使配置生效

执行 reconfigure 命令

gitlab-ctl reconfigure
复制代码

3、检查配置是否成功

  1. 直接打开 gitlab 页面,登录页面出现 ldap 登录选项,并使用统一登录的账号密码登录,登录成功即可。

  2. 在 gitlab 服务器执行命令,查看能否正常获取用户列表 gitlab-rake gitlab:ldap:check


常见问题

1、无法拉代码

我的个人信息在 ldap 中,且 gitlab ldap 已经配置成功,但依然显示无权限拉代码

解决方案

由于 gitlab 配置了 ldap 后,必须用户登录 gitlab,gitlab 会为用户创建一个 identifier,如下:

由于用户未主动登录 gitlab,ldap 无法将用户及有权限的仓库关联起来,从而无法正常推拉代码,因此,我们可以通过两种方式解决:

1、用户主动登录 gitlab;

2、在 gitlab 上创建用户时,将该用户的 identifier 指定,创建用户的 api 可以指定这两个值,分别是:provider 和 extern_uid


参考文档

1、https://docs.gitlab.com/ee/administration/auth/ldap/

发布于: 刚刚阅读数: 3
用户头像

阿呆

关注

坚守准则,认真做事。 2018-05-22 加入

职位:360资深后台开发,主要负责DevOps平台开发 技术:Python 爱好:炉石传说

评论

发布
暂无评论
gitlab ldap配置_gitlab_阿呆_InfoQ写作社区