/img/avatar.jpg

GitLab AD/LDAP配置说明

1. AD/LDAP集成

1.1 配置

修改 /etc/gitlab/gitlab.rb,内容如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
gitlab_rails['ldap_enabled'] = true
gitlab_rails['prevent_ldap_sign_in'] = false
gitlab_rails['ldap_servers'] = {
  'main' => {
    # 登录页显示名称
    'label' => 'LDAP',
    # AD/LDAP域名或IP
    'host' =>  'ldap.mydomain.com',
    # AD/LDAP端口
    'port' => 389,
    # LDAP映射到GitLab用户的唯一ID,如sAMAccountName是将LDAP的用户名作为GitLab用户的UID
    'uid' => 'sAMAccountName',
    # LDAP管理员DN
    'bind_dn' => 'xxx@xxx.com 或 CN=Gitlab,OU=Users,DC=domain,DC=com',
    # LDAP管理员密码
    'password' => 'xxxxxx',
    # LDAP TLS相关,若encryption=plain,则不使用TLS通信,也不需要配置verify_certificates和tls_options
    'encryption' => 'simple_tls',
    'verify_certificates' => true,
    'tls_options' => {
      'ca_file' => '',
      'ssl_version' => '',
      'ciphers' => '',
      'cert' => '',
      'key' => ''
    },
    'timeout' => 10,
    # AD域为true,其他LDAP为false
    'active_directory' => true,
    'allow_username_or_email_login' => false,
    # 设置为true,自动将LDAP创建的GitLab新账号设置为Block防止许可证超用,需GitLab管理员解除Block
    'block_auto_created_users' => false,
    # AD/LDAP用户的base
    'base' => 'dc=domain,dc=com',
    # LDAP过滤器,无需要可置空
    'user_filter' => '',
    # GitLab用户属性与LDAP属性的映射关系
    'attributes' => {
      'username' => ['uid', 'userid', 'sAMAccountName'],
      'email' => ['mail', 'email', 'userPrincipalName'],
      'name' => 'cn',
        'first_name' => 'givenName',
      'last_name' => 'sn'
    },
    'lowercase_usernames' => false,

    # 企业版功能
    # LDAP组同步需要设置group_base,可以base保持一致
    'group_base' => 'OU=Users,DC=domain,DC=com',
    # 作为GitLab管理员的AD/LDAP组,仅需要写CN,该CN需要在group_base覆盖下
    'admin_group' => 'gitlab',
    'external_groups' => [],
    'sync_ssh_keys' => false
  }
}

修改完成后运行gitlab-ctl reconfigure命令。

如何将GitLab漏洞报告导出为HTML或PDF格式或导出到Jira

翻译:RangWu 原文:《How to export vulnerability reports to HTML/PDF and Jira — Siddharth Mathur》

GitLab的漏洞报告功能可以让开发人员在统一的平台上面管理代码,对其进行安全扫描,管理漏洞报告并修复漏洞。但有些团队更喜欢使用类似Jira的单独工具来管理他们的安全漏洞。他们也可能需要以易于理解的格式向领导层展示漏洞报告。

在GitLab SaaS上保护您的代码

使用ChatGPT翻译,RangWu校审。 原文:《The ultimate guide to securing your code on GitLab.com — Steve Grossman》

/the_ultimate_guide_to_securing_your_code_on_gitlab/image-20230614130312365.png

DevSecOps方法论的一个关键方面是在开发环境中应用最佳实践来保护您的软件免受恶意和意外的暴露或修改。本文介绍了如何控制和管理JihuLab.com和GitLab.com的访问以及与之相关的源代码管理、流水线构建、依赖和软件包仓库以及部署密钥,这些都涉及到软件供应链安全。以下最佳实践专门针对多租户JihuLab.com和GitLab.com上的最终用户,并针对旗舰版Ultimate许可证编写。并非所有这些功能都适用于专业版Premium许可证。

嵌入式开发场景下的代码管理方案

特别鸣谢:感谢ChatGPT和New Bing,真是写作之利器。

版本控制,也称为源码控制、代码管理,是跟踪和管理软件代码的工作实践。随着信息化、数字化技术的发展,源代码逐渐成为企业的核心数据资产,在企业中有着非常重要的地位。所以如何管理好代码这个数据资产,是每一个企业都需要考虑和解决的问题。而作为数字化时代的先行者,大部分互联网和科技型企业已经完成或者部分完成了这项工作,并借助敏捷开发、DevOps等方法论和工具实现了代码的规范、可靠管理,以及高效高质量的产品交付。