InfoGrab Docs

보안 파일 관리

요약

CI/CD 파이프라인에서 보안 파일로 사용하기 위해 최대 100개의 파일을 안전하게 저장할 수 있습니다. 이러한 파일의 저장 위치는 아래에 설명된 옵션을 사용하여 구성할 수 있지만 기본 위치는 다음과 같습니다: GitLab Helm 차트 설치에는 외부 개체 저장소 구성을 사용합니다.

히스토리

CI/CD 파이프라인에서 보안 파일로 사용하기 위해 최대 100개의 파일을 안전하게 저장할 수 있습니다. 이러한 파일은 프로젝트 저장소 외부에 안전하게 저장되며 버전 제어되지 않습니다. 이러한 파일에 민감한 정보를 저장하는 것이 안전합니다. 보안 파일은 일반 텍스트와 바이너리 파일 유형을 모두 지원하며 5 MB 이하여야 합니다.

이러한 파일의 저장 위치는 아래에 설명된 옵션을 사용하여 구성할 수 있지만 기본 위치는 다음과 같습니다:

  • Linux 패키지를 사용하는 설치의 경우 /var/opt/gitlab/gitlab-rails/shared/ci_secure_files.
  • 소스 설치의 경우 /home/git/gitlab/shared/ci_secure_files.

GitLab Helm 차트 설치에는 외부 개체 저장소 구성을 사용합니다.

보안 파일 비활성화#

전체 GitLab 인스턴스에서 보안 파일을 비활성화할 수 있습니다. 디스크 공간을 줄이거나 기능에 대한 액세스를 제거하기 위해 보안 파일을 비활성화할 수 있습니다.

보안 파일을 비활성화하려면 설치에 따라 아래 단계를 따릅니다.

필수 조건:

  • 관리자여야 합니다.

Linux 패키지 설치의 경우

  1. /etc/gitlab/gitlab.rb를 편집하고 다음 줄을 추가합니다:

    gitlab_rails['ci_secure_files_enabled'] = false
    
  2. 파일을 저장하고 GitLab을 재구성합니다.

소스 설치의 경우

  1. /home/git/gitlab/config/gitlab.yml을 편집하고 다음 줄을 추가하거나 수정합니다:

    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을 편집하고 다음 줄을 추가하거나 수정합니다:

    ci_secure_files:
      enabled: true
      storage_path: /mnt/storage/ci_secure_files
    
  2. 파일을 저장하고 변경 사항이 적용되도록 GitLab을 재시작합니다.

개체 저장소 사용#

디스크에 보안 파일을 저장하는 대신 지원되는 개체 저장소 옵션 중 하나를 사용해야 합니다. 이 구성은 이미 구성된 유효한 자격증명에 의존합니다.

통합 개체 저장소#

히스토리
  • 통합 개체 저장소 지원이 GitLab 17.0에서 도입되었습니다.

개체 저장소의 통합 형식을 사용하는 것이 권장됩니다.

저장소별 개체 저장소#

다음 설정은:

  • 소스 설치에서 ci_secure_files: 아래 object_store:에 중첩됩니다.
  • Linux 패키지 설치에서 ci_secure_files_object_store_ 접두사가 붙습니다.
설정 설명 기본값
enabled 개체 저장소 활성화/비활성화 false
remote_directory 보안 파일이 저장되는 버킷 이름
connection 아래에 설명된 다양한 연결 옵션

S3 호환 연결 설정#

다양한 공급자의 사용 가능한 연결 설정을 참조하세요.

  1. /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'
    }
    

    [!note] AWS IAM 프로파일을 사용하는 경우 AWS 액세스 키 및 시크릿 액세스 키/값 쌍을 생략해야 합니다:

    gitlab_rails['ci_secure_files_object_store_connection'] = {
      'provider' => 'AWS',
      'region' => 'eu-central-1',
      'use_iam_profile' => true
    }
    
  2. 파일을 저장하고 GitLab을 재구성합니다:

    sudo gitlab-ctl reconfigure
    
  3. 기존 로컬 상태를 개체 저장소로 마이그레이션합니다.

  1. /home/git/gitlab/config/gitlab.yml을 편집하고 다음 줄을 추가하거나 수정합니다:

    ci_secure_files:
      enabled: true
      object_store:
        enabled: true
        remote_directory: "ci_secure_files"  # The bucket name
        connection:
          provider: AWS  # Only AWS supported at the moment
          aws_access_key_id: AWS_ACCESS_KEY_ID
          aws_secret_access_key: AWS_SECRET_ACCESS_KEY
          region: eu-central-1
    
  2. 파일을 저장하고 GitLab을 재시작합니다:

    # For systems running systemd
    sudo systemctl restart gitlab.target
    
    # For systems running SysV init
    sudo service gitlab restart
    
  3. 기존 로컬 상태를 개체 저장소로 마이그레이션합니다.

개체 저장소로 마이그레이션#

히스토리
  • GitLab 16.1에서 도입되었습니다.
Warning

개체 저장소에서 로컬 저장소로 보안 파일을 다시 마이그레이션하는 것은 불가능하므로 주의하여 진행하세요.

보안 파일을 개체 저장소로 마이그레이션하려면 아래 지침을 따릅니다.

  • Linux 패키지 설치의 경우:

    sudo gitlab-rake gitlab:ci_secure_files:migrate
    
  • 소스 설치의 경우:

    sudo -u git -H bundle exec rake gitlab:ci_secure_files:migrate RAILS_ENV=production
    

보안 파일 관리

Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기
요약

CI/CD 파이프라인에서 보안 파일로 사용하기 위해 최대 100개의 파일을 안전하게 저장할 수 있습니다. 이러한 파일의 저장 위치는 아래에 설명된 옵션을 사용하여 구성할 수 있지만 기본 위치는 다음과 같습니다: GitLab Helm 차트 설치에는 외부 개체 저장소 구성을 사용합니다.

히스토리

CI/CD 파이프라인에서 보안 파일로 사용하기 위해 최대 100개의 파일을 안전하게 저장할 수 있습니다. 이러한 파일은 프로젝트 저장소 외부에 안전하게 저장되며 버전 제어되지 않습니다. 이러한 파일에 민감한 정보를 저장하는 것이 안전합니다. 보안 파일은 일반 텍스트와 바이너리 파일 유형을 모두 지원하며 5 MB 이하여야 합니다.

이러한 파일의 저장 위치는 아래에 설명된 옵션을 사용하여 구성할 수 있지만 기본 위치는 다음과 같습니다:

  • Linux 패키지를 사용하는 설치의 경우 /var/opt/gitlab/gitlab-rails/shared/ci_secure_files.
  • 소스 설치의 경우 /home/git/gitlab/shared/ci_secure_files.

GitLab Helm 차트 설치에는 외부 개체 저장소 구성을 사용합니다.

보안 파일 비활성화#

전체 GitLab 인스턴스에서 보안 파일을 비활성화할 수 있습니다. 디스크 공간을 줄이거나 기능에 대한 액세스를 제거하기 위해 보안 파일을 비활성화할 수 있습니다.

보안 파일을 비활성화하려면 설치에 따라 아래 단계를 따릅니다.

필수 조건:

  • 관리자여야 합니다.

Linux 패키지 설치의 경우

  1. /etc/gitlab/gitlab.rb를 편집하고 다음 줄을 추가합니다:

    gitlab_rails['ci_secure_files_enabled'] = false
    
  2. 파일을 저장하고 GitLab을 재구성합니다.

소스 설치의 경우

  1. /home/git/gitlab/config/gitlab.yml을 편집하고 다음 줄을 추가하거나 수정합니다:

    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을 편집하고 다음 줄을 추가하거나 수정합니다:

    ci_secure_files:
      enabled: true
      storage_path: /mnt/storage/ci_secure_files
    
  2. 파일을 저장하고 변경 사항이 적용되도록 GitLab을 재시작합니다.

개체 저장소 사용#

디스크에 보안 파일을 저장하는 대신 지원되는 개체 저장소 옵션 중 하나를 사용해야 합니다. 이 구성은 이미 구성된 유효한 자격증명에 의존합니다.

통합 개체 저장소#

히스토리
  • 통합 개체 저장소 지원이 GitLab 17.0에서 도입되었습니다.

개체 저장소의 통합 형식을 사용하는 것이 권장됩니다.

저장소별 개체 저장소#

다음 설정은:

  • 소스 설치에서 ci_secure_files: 아래 object_store:에 중첩됩니다.
  • Linux 패키지 설치에서 ci_secure_files_object_store_ 접두사가 붙습니다.
설정 설명 기본값
enabled 개체 저장소 활성화/비활성화 false
remote_directory 보안 파일이 저장되는 버킷 이름
connection 아래에 설명된 다양한 연결 옵션

S3 호환 연결 설정#

다양한 공급자의 사용 가능한 연결 설정을 참조하세요.

  1. /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'
    }
    

    [!note] AWS IAM 프로파일을 사용하는 경우 AWS 액세스 키 및 시크릿 액세스 키/값 쌍을 생략해야 합니다:

    gitlab_rails['ci_secure_files_object_store_connection'] = {
      'provider' => 'AWS',
      'region' => 'eu-central-1',
      'use_iam_profile' => true
    }
    
  2. 파일을 저장하고 GitLab을 재구성합니다:

    sudo gitlab-ctl reconfigure
    
  3. 기존 로컬 상태를 개체 저장소로 마이그레이션합니다.

  1. /home/git/gitlab/config/gitlab.yml을 편집하고 다음 줄을 추가하거나 수정합니다:

    ci_secure_files:
      enabled: true
      object_store:
        enabled: true
        remote_directory: "ci_secure_files"  # The bucket name
        connection:
          provider: AWS  # Only AWS supported at the moment
          aws_access_key_id: AWS_ACCESS_KEY_ID
          aws_secret_access_key: AWS_SECRET_ACCESS_KEY
          region: eu-central-1
    
  2. 파일을 저장하고 GitLab을 재시작합니다:

    # For systems running systemd
    sudo systemctl restart gitlab.target
    
    # For systems running SysV init
    sudo service gitlab restart
    
  3. 기존 로컬 상태를 개체 저장소로 마이그레이션합니다.

개체 저장소로 마이그레이션#

히스토리
  • GitLab 16.1에서 도입되었습니다.
Warning

개체 저장소에서 로컬 저장소로 보안 파일을 다시 마이그레이션하는 것은 불가능하므로 주의하여 진행하세요.

보안 파일을 개체 저장소로 마이그레이션하려면 아래 지침을 따릅니다.

  • Linux 패키지 설치의 경우:

    sudo gitlab-rake gitlab:ci_secure_files:migrate
    
  • 소스 설치의 경우:

    sudo -u git -H bundle exec rake gitlab:ci_secure_files:migrate RAILS_ENV=production