Secure Files administration
- 소개됨 GitLab 14.8에서 feature flag인
ci_secure_files
로 함께. 기본 설정으로 비활성화됨.- 일반 사용 가능 GitLab 15.7에서.
ci_secure_files
feature flag 제거됨.
CI/CD 파이프라인에서 안전한 파일로서 최대 100개의 파일을 안전하게 저장할 수 있습니다. 이러한 파일은 프로젝트 저장소 외부에 안전하게 저장되며 버전을 관리하지 않습니다. 이러한 파일에 민감한 정보를 안전하게 저장할 수 있습니다. 안전한 파일은 일반 텍스트와 바이너리 파일 유형을 지원하며 5MB 이하이어야 합니다.
이러한 파일의 저장 위치는 아래 설명된 옵션을 사용하여 구성할 수 있지만, 기본 위치는 다음과 같습니다:
- 리눅스 패키지를 사용하는 설치의 경우
/var/opt/gitlab/gitlab-rails/shared/ci_secure_files
. - 직접 컴파일한 설치의 경우
/home/git/gitlab/shared/ci_secure_files
.
GitLab Helm 차트 설치에 대한 외부 객체 저장소 구성을 사용하세요.
안전한 파일 비활성화
전체 GitLab 인스턴스에서 안전한 파일을 비활성화할 수 있습니다. 안전한 파일을 비활성화하여 디스크 공간을 줄이거나 기능에 대한 액세스를 제거할 수 있습니다.
안전한 파일을 비활성화하려면 설치에 따라 아래 단계를 따르세요.
전제 조건:
- 관리자여야 합니다.
리눅스 패키지 설치의 경우
-
/etc/gitlab/gitlab.rb
파일을 편집하고 다음 줄을 추가하세요:gitlab_rails['ci_secure_files_enabled'] = false
-
파일을 저장하고 GitLab 재구성을 수행하세요.
직접 컴파일한 설치의 경우
-
/home/git/gitlab/config/gitlab.yml
파일을 편집하고 다음 줄을 추가하거나 수정하세요:ci_secure_files: enabled: false
-
파일을 저장하고 변경 사항이 적용되려면 GitLab을 다시 시작하세요.
로컬 저장소 사용
기본 구성은 로컬 저장소를 사용합니다. 안전한 파일이 로컬로 저장되는 위치를 변경하려면 아래 단계를 따르세요.
리눅스 패키지 설치의 경우
-
/etc/gitlab/gitlab.rb
파일을 편집하고 예를 들어 저장 위치를/mnt/storage/ci_secure_files
로 변경하려면 다음 줄을 추가하세요:gitlab_rails['ci_secure_files_storage_path'] = "/mnt/storage/ci_secure_files"
-
파일을 저장하고 GitLab 재구성을 수행하세요.
직접 컴파일한 설치의 경우
-
/home/git/gitlab/config/gitlab.yml
파일을 편집하고 예를 들어 저장 위치를/mnt/storage/ci_secure_files
로 변경하려면 다음 줄을 추가하거나 수정하세요:ci_secure_files: enabled: true storage_path: /mnt/storage/ci_secure_files
-
파일을 저장하고 변경 사항이 적용되려면 GitLab을 다시 시작하세요.
객체 저장소 사용
디스크에 안전한 파일을 저장하는 대신 지원되는 객체 저장소 옵션 중 하나를 사용해야 합니다. 이 구성은 이미 유효한 자격 증명이 구성되어 있어야 합니다.
GitLab과 객체 저장소 사용에 대해 자세히 알아보기.
참고: 이 기능은 통합된 객체 저장소 구성에서 지원되지 않습니다. 지원 추가가 제안됨 issue 414673.
객체 저장소 설정
다음 설정은:
- 직접 컴파일한 설치의 경우
ci_secure_files:
및object_store:
하위에 있습니다. - 리눅스 패키지 설치의 경우
ci_secure_files_object_store_
로 접두사가 붙습니다.
설정 | 설명 | 기본값 |
---|---|---|
enabled
| 객체 저장소를 활성화/비활성화 | false
|
remote_directory
| 안전한 파일이 저장된 버킷 이름 | |
connection
| 아래에 설명된 다양한 연결 옵션 |
S3 호환 연결 설정
다양한 제공업체에 대한 연결 설정은 여기에서 확인하세요.
리눅스 패키지 설치의 경우:
-
/etc/gitlab/gitlab.rb
파일을 편집하고 다음 줄을 추가하지만, 원하는 값을 사용하여: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' }
참고: AWS IAM 프로필을 사용하는 경우 AWS 액세스 키 및 비밀 액세스 키/값을 생략해야 합니다.
gitlab_rails['ci_secure_files_object_store_connection'] = { 'provider' => 'AWS', 'region' => 'eu-central-1', 'use_iam_profile' => true }
- 파일을 저장하고 GitLab 재구성을 수행하세요.
- 기존의 로컬 상태를 객체 저장소로 이전하세요.
직접 컴파일한 설치의 경우
-
/home/git/gitlab/config/gitlab.yml
파일을 편집하고 다음 줄을 추가하거나 수정하세요: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
- 파일을 저장하고 변경 사항이 적용되려면 GitLab을 다시 시작하세요.
- 기존의 로컬 상태를 객체 저장소로 이전하세요.
객체 저장소로 이전하기
- GitLab 16.1에서 소개되었습니다.
경고: 보안 파일을 객체 저장소로 이전한 후 로컬 저장소로 되돌릴 수 없으니 주의해서 진행하십시오.
보안 파일을 객체 저장소로 이전하려면 아래 지침을 따르세요.
-
Linux 패키지 설치의 경우:
sudo gitlab-rake gitlab:ci_secure_files:migrate
-
자체 컴파일된 설치의 경우:
sudo -u git -H bundle exec rake gitlab:ci_secure_files:migrate RAILS_ENV=production