极狐GitLab 安全文件管理功能介绍

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

安全文件管理 (BASIC SELF)

  • 在极狐GitLab 15.6 中 GA,功能标志 ci_secure_files 被移除。

您可以将最多 100 个文件安全地存储为安全文件,以便在 CI/CD 流水线 中使用。 这些文件安全地存储在您的项目库之外,并且不进行版本控制。在这些文件中存储敏感信息是安全的。安全文件支持纯文本和二进制文件类型,必须为 5 MB 或更小。

这些文件的存储位置可以使用下面描述的选项进行配置,但默认位置是:

  • /var/opt/gitlab/gitlab-rails/shared/ci_secure_files 用于使用 Linux 软件包的安装。

  • /home/git/gitlab/shared/ci_secure_files 用于自编译安装。

使用 外部对象存储 配置用于 极狐GitLab Helm chart 安装。

禁用安全文件

您可以禁用整个极狐GitLab 实例中的安全文件。您可能希望禁用安全文件以减少磁盘空间,或者删除对该功能的访问。

要禁用安全文件,请根据您的安装方式按照以下步骤操作。

先决条件:

  • 您必须是管理员。

对于 Linux 软件包安装

1.编辑 /etc/gitlab/gitlab.rb 并添加以下行:

bash 复制代码
gitlab_rails['ci_secure_files_enabled'] = false  

2.保存文件并 重新配置极狐GitLab。

对于自编译安装

1.编辑 /home/git/gitlab/config/gitlab.yml 并添加或修改以下行:

bash 复制代码
ci_secure_files:  
  enabled: false  

2.保存文件并 重启极狐GitLab 以使更改生效。

使用本地存储

默认配置使用本地存储。要更改安全文件的本地存储位置,请按照以下步骤操作。

对于 Linux 软件包安装

1.要更改存储路径,例如为 /mnt/storage/ci_secure_files,编辑

/etc/gitlab/gitlab.rb 并添加以下行:

gitlab_rails'ci_secure_files_storage_path' = "/mnt/storage/ci_secure_files"

2.保存文件并 重新配置极狐GitLab。

对于自编译安装

1.要更改存储路径,例如为 /mnt/storage/ci_secure_files,编辑

/home/git/gitlab/config/gitlab.yml 并添加或修改以下行:

bash 复制代码
ci_secure_files:  
  enabled: true  
  storage_path: /mnt/storage/ci_secure_files  

2。保存文件并 重启极狐GitLab 以使更改生效。

使用对象存储 (BASIC SELF)

您应该使用 支持的对象存储选项之一,而不是在磁盘上存储安全文件。此配置依赖于已经配置的有效凭据。

  • 综合对象存储

支持综合对象存储是在极狐GitLab 17.0 中引入。

推荐使用 综合形式 的对象存储。

特定存储对象存储

以下设置是:

  • 在自编译安装中嵌套在 ci_secure_files: 和 object_store: 下。
  • 在 Linux 软件包安装中以 ci_secure_files_object_store_ 为前缀。
Setting Description Default
enabled 启用/禁用对象存储 false
remote_directory 存储安全文件的桶名称
connection 下文描述的各种连接选项

S3 兼容连接设置

请参阅 不同提供商的可用连接设置。

::Tabs

:::TabTitle Linux 软件包 (Omnibus)

1.编辑 /etc/gitlab/gitlab.rb 并添加以下行,使用您需要的值:

bash 复制代码
gitlab_rails['ci_secure_files_object_store_enabled'] = true  
gitlab_rails['ci_secure_files_object_store_remote_directory'] = "ci_secure_files"  
gitlab_rails['ci_secure_files_object_store_connection'] = {  
  'provider' => 'AWS',  
  'region' => 'eu-central-1',  
  'aws_access_key_id' => 'AWS_ACCESS_KEY_ID',  
  'aws_secret_access_key' => 'AWS_SECRET_ACCESS_KEY'  
}  

NOTE:

如果您使用 AWS IAM 配置文件,请确保省略 AWS 访问密钥和值对:

bash 复制代码
gitlab_rails['ci_secure_files_object_store_connection'] = {  
  'provider' => 'AWS',  
  'region' => 'eu-central-1',  
  'use_iam_profile' => true  
}  

2.保存文件并重新配置极狐GitLab:

bash 复制代码
sudo gitlab-ctl reconfigure  

3.迁移任何现有的本地状态到对象存储。

:::TabTitle 自编译 (source)

1.编辑 /home/git/gitlab/config/gitlab.yml 并添加或修改以下行:

bash 复制代码
ci_secure_files:  
  enabled: true  
  object_store:  
    enabled: true  
    remote_directory: "ci_secure_files"  # 桶名称  
    connection:  
      provider: AWS  # 目前仅支持 AWS  
      aws_access_key_id: AWS_ACCESS_KEY_ID  
      aws_secret_access_key: AWS_SECRET_ACCESS_KEY  
      region: eu-central-1  

2.保存文件并重启极狐GitLab:

bash 复制代码
# 对于运行 systemd 的系统  
sudo systemctl restart gitlab.target  

# 对于运行 SysV init 的系统  
sudo service gitlab restart  

3.迁移任何现有的本地状态到对象存储。

::EndTabs

迁移到对象存储

  • 引入于极狐GitLab 16.1。

WARNING:

不能将安全文件从对象存储迁移回本地存储,因此请谨慎操作。

要将安全文件迁移到对象存储,请按照以下说明操作。

  • 对于 Linux 软件包安装:
bash 复制代码
sudo gitlab-rake gitlab:ci_secure_files:migrate  
  • 对于自编译安装:
bash 复制代码
sudo -u git -H bundle exec rake gitlab:ci_secure_files:migrate RAILS_ENV=production  
相关推荐
呱呱巨基4 分钟前
Linux 查找命令
linux·笔记·学习·查找命令
路由侠内网穿透6 分钟前
本地部署企业级快速开发平台芋道管理后台并实现外部访问
运维·服务器·网络·网络协议
basketball61614 分钟前
软考中级网络工程师 第4章 无线通信网 备考总结
linux·服务器·网络·网络工程师·软考
故乡dee云19 分钟前
AWS 产品太多不会选?按“网站、数据库、文件、日志”4 类需求快速匹配
数据库·云计算·aws
好评1241 小时前
【Linux】进程信号
linux·运维·服务器
zhangrelay1 小时前
ROS 2 Lyrical 第4章 URDF机器人建模与Gazebo Garden仿真
linux·笔记·学习·ubuntu·机器人·ros2
wuminyu1 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
cakeism8251 小时前
Gitee DevOps 平台定位、核心能力与选型指南
运维·gitee·devops
xianyuCcCcCCCcc1 小时前
Nginx 深度解析:从基础架构到反向代理与负载均衡实战全解
linux·运维·nginx·bash·负载均衡
qq_25294131682 小时前
列车车轮缺陷智能检测数据集:800张图像、4大类别,助力铁路安全运维
运维·人工智能·安全·yolo·目标检测·计算机视觉·视觉检测