InfoGrab DocsInfoGrab Docs

GitLab Secrets Manager

요약

기능 플래그 ci_tanukey_ui는 GitLab 18.4에서 제거됨. GitLab 18.8에서 일부 사용자에게 비공개 베타로 제공됩니다. 그룹 시크릿 관리자가 GitLab 18.10에서 group_secrets_manager 기능 플래그와 함께 도입되어 비공개 베타 사용자에게 제공됩니다.

Status: Beta

히스토리
  • 기능 플래그 ci_tanukey_ui는 GitLab 18.4에서 제거됨.

  • GitLab 18.8에서 일부 사용자에게 비공개 베타로 제공됩니다.

  • 그룹 시크릿 관리자가 GitLab 18.10에서 group_secrets_manager 기능 플래그와 함께 도입되어 비공개 베타 사용자에게 제공됩니다.

  • GitLab 19.0에서 비공개 베타에서 공개 베타로 전환됨.

시크릿은 CI/CD job이 작동하는 데 필요한 민감한 정보를 나타냅니다. 시크릿에는 액세스 토큰, 데이터베이스 자격 증명, 프라이빗 키 등이 포함될 수 있습니다.

기본적으로 항상 job에서 사용 가능한 CI/CD 변수와 달리 시크릿은 job에서 명시적으로 요청해야 합니다.

GitLab Secrets Manager를 사용하여 프로젝트와 그룹의 시크릿과 자격 증명을 안전하게 저장하고 관리합니다.

GitLab Secrets Manager는 공개 베타 기간 동안 무료로 제공되지만, 일반 공개 출시 시 GitLab 크레딧을 소비합니다. 서비스 중단을 방지하기 위해 일반 공개 전에 GitLab 크레딧의 온디맨드 과금을 선택할 수 있도록 사전에 알림이 제공됩니다.

클릭 연습 데모는 GitLab Secrets Manager를 참조하세요.

공개 베타 기간 동안 피드백 이슈 598100에서 의견을 공유해 주세요.

GitLab Secrets Manager 활성화#

Secrets Manager가 최상위 그룹에서 활성화되면 해당 그룹의 모든 하위 그룹과 프로젝트에서도 사용할 수 있습니다.

GitLab Self-Managed에서는 관리자가 먼저 인스턴스에 대해 GitLab Secrets Manager를 설치하고 활성화해야 합니다. Secrets Manager가 설치되고 활성화된 후 인스턴스의 특정 그룹 및 프로젝트에 대해 활성화할 수 있습니다.

프로젝트의 경우#

사전 요구 사항:

  • 프로젝트에 대한 Owner 권한이 있어야 합니다.

프로젝트에 대한 GitLab Secrets Manager를 활성화하거나 비활성화하려면:

  • 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Visibility, project features, permissions를 펼칩니다.

  • Secrets manager 토글을 켜고 시크릿 관리자가 프로비저닝될 때까지 기다립니다.

    나중에 프로젝트에 대한 Secrets Manager를 비활성화하면 모든 프로젝트 시크릿이 영구적으로 삭제됩니다. 이 시크릿은 복구할 수 없습니다.

프로젝트에 대해 정의된 시크릿은 동일한 프로젝트의 파이프라인에서만 액세스할 수 있습니다.

그룹의 경우#

사전 요구 사항:

  • 그룹에 대한 Owner 권한이 있어야 합니다.

그룹에 대한 GitLab Secrets Manager를 활성화하거나 비활성화하려면:

  • 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Permissions and group features를 펼칩니다.

  • Secrets manager 토글을 켜고 시크릿 관리자가 프로비저닝될 때까지 기다립니다.

    나중에 그룹에 대한 Secrets Manager를 비활성화하면 모든 그룹 시크릿이 영구적으로 삭제됩니다. 이 시크릿은 복구할 수 없습니다.

그룹에 대해 정의된 시크릿은 해당 그룹 또는 하위 그룹 계층 구조에 속하는 프로젝트의 파이프라인에서만 액세스할 수 있습니다.

시크릿 정의#

보안 CI/CD 파이프라인과 워크플로에 사용할 수 있도록 시크릿 관리자에 시크릿을 추가할 수 있습니다.

  • 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  • Secure > Secrets manager를 선택합니다.

  • Add secret을 선택하고 세부 정보를 입력합니다:

Name: 프로젝트에서 고유해야 합니다.

  • Value: 10 KB(10,000바이트) 이하여야 합니다.

  • Description: 최대 200자.

  • Environments: 다음으로 설정 가능합니다:

All (default) (*)

  • 특정 환경.

  • 와일드카드 환경.

  • Branch: 프로젝트 설정에만 존재하는 옵션입니다. 다음으로 설정 가능합니다:

특정 브랜치.

  • 와일드카드 브랜치(* 문자가 있어야 함).

  • Protected: 그룹 설정에만 존재하는 옵션입니다. 선택 사항. 보호된 브랜치에서 실행되는 파이프라인에만 시크릿을 내보냅니다.

  • Rotation reminder: 선택 사항. 지정된 일수 후 시크릿을 교체하도록 이메일 알림을 보냅니다. 최소 7일.

시크릿을 생성한 후 파이프라인 구성 또는 job 스크립트에서 사용할 수 있습니다.

시크릿의 값은 시크릿이 생성되거나 업데이트될 때 정의된 특정 환경 또는 브랜치에 대해 실행되는 모든 CI/CD 파이프라인 job에서 액세스할 수 있습니다. 이러한 시크릿의 값에 액세스할 권한이 있는 사용자만 지정된 환경 또는 브랜치의 job을 실행할 수 있는지 확인하세요.

job 스크립트에서 시크릿 사용#

기본적으로 파일 유형 CI/CD 변수와 유사하게 시크릿은 연관된 환경 변수와 함께 파일로 job에 제공됩니다:

  • 시크릿의 키가 환경 변수 이름으로 사용됩니다.

  • 시크릿의 값이 임시 파일에 저장됩니다. 마스킹된 CI/CD 변수와 달리 시크릿에는 공백과 줄 바꿈이 포함될 수 있습니다.

  • 임시 파일의 경로가 환경 변수 값으로 사용됩니다.

파일을 입력으로 받는 명령어와 함께 job 스크립트에서 시크릿을 사용하거나, 선택적으로 시크릿을 환경 변수로 직접 사용할 수 있습니다.

job이 시크릿의 값을 출력하는 경우 GitLab은 job 로그에서 해당 값을 [MASKED]로 대체합니다.

프로젝트 시크릿의 경우#

사전 요구 사항:

  • GitLab Runner 19.0 이상.

프로젝트의 Secret Manager에 저장된 시크릿에 액세스하려면 secretsgitlab_secrets_manager 키워드를 사용하세요.

예를 들어:

job:
  secrets:
    KUBE_CA_PEM:
      gitlab_secrets_manager:
        name: kube-cert
  script:
   - kubectl config set-cluster e2e --server="https://example.com" --certificate-authority="$KUBE_CA_PEM"

그룹 시크릿의 경우#

사전 요구 사항:

  • GitLab Runner 19.0 이상.

그룹의 Secret Manager에 저장된 시크릿에 액세스하려면:

  • secretsgitlab_secrets_manager 키워드를 사용하세요.

  • source 필드에 group/<그룹-전체-경로> 형식으로 시크릿 관리자 소스를 지정하세요.

예를 들어:

job:
  secrets:
    KUBE_CA_PEM:
      gitlab_secrets_manager:
        name: kube-cert
        source: group/my-group/my-subgroup
  script:
   - kubectl config set-cluster e2e --server="https://example.com" --certificate-authority="$KUBE_CA_PEM"

file: false로 시크릿을 환경 변수로 사용#

시크릿을 파일에 저장하지 않고 환경 변수로 사용하려면 시크릿에 file: false를 설정하세요. 예를 들어:

job:
  secrets:
    DEPLOY_SECRET:
      gitlab_secrets_manager:
        name: deploy-credentials
      file: false
  script:
    - my_deploy_command --user username --pass $DEPLOY_SECRET

이 예시에서 시크릿은 DEPLOY_SECRET 변수로 job에 제공되며, 다른 환경 변수처럼 사용할 수 있습니다.

시크릿 권한 관리#

프로젝트의 경우#

사전 요구 사항:

  • 시크릿 권한을 관리하려면 프로젝트에 대한 Owner 권한이 있어야 합니다.

  • 프로젝트에 대한 Maintainer 권한을 가진 사용자는 정의된 권한을 볼 수 있습니다.

  • 프로젝트에 대해 Secrets Manager가 활성화되어 있어야 합니다.

프로젝트의 시크릿 권한을 업데이트하려면:

  • 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Visibility, project features, permissions를 펼칩니다.

  • Secrets manager 아래의 Secrets manager user permissions 섹션에서 사용자 권한을 관리할 수 있습니다:

Add를 선택하여 특정 사용자, 그룹 또는 권한에 대한 권한 규칙을 추가합니다.

  • 시크릿 읽기, 쓰기(생성 및 업데이트), 삭제에 대한 권한 범위를 설정할 수 있습니다.

그룹의 경우#

사전 요구 사항:

  • 시크릿 권한을 관리하려면 그룹에 대한 Owner 권한이 있어야 합니다. 그룹의 Owner 권한을 가진 사용자만 정의된 권한을 볼 수 있습니다.

  • 그룹에 대해 Secrets Manager가 활성화되어 있어야 합니다.

그룹의 시크릿 권한을 업데이트하려면:

  • 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Permissions and group features를 펼칩니다.

  • Secrets manager 아래의 Secrets manager user permissions 섹션에서 사용자 권한을 관리할 수 있습니다:

Add를 선택하여 특정 사용자, 그룹 또는 권한에 대한 권한 규칙을 추가합니다.

  • 시크릿 읽기, 쓰기(생성 및 업데이트), 삭제에 대한 권한 범위를 설정할 수 있습니다.

그룹의 Owner 권한을 가진 사용자는 항상 Secrets Manager에서 모든 작업을 수행할 권한이 있습니다.

프로젝트 또는 그룹 삭제#

시크릿이 있는 프로젝트를 삭제하거나 그룹을 삭제할 때:

  • 프로젝트 또는 그룹의 시크릿 관리자가 비활성화되고 시크릿 스토리지 엔진에서 제거됩니다.

  • 모든 시크릿이 영구적으로 삭제됩니다.

프로젝트 또는 그룹 전송#

시크릿이 있는 프로젝트를 전송하거나 그룹을 전송할 때:

  • 프로젝트 또는 그룹에 정의된 시크릿은 새 네임스페이스의 프로젝트 또는 그룹으로 전송되지 않습니다.

  • 프로젝트 또는 그룹의 시크릿 관리자가 비활성화되고 시크릿 스토리지 엔진에서 제거됩니다.

  • 모든 시크릿이 영구적으로 삭제됩니다.

시크릿 교체 알림#

프로젝트의 Owner 권한을 가진 사용자는 시크릿 구성에 지정된 날짜에 시크릿을 교체하라는 이메일 알림을 받습니다.

비 CI/CD 워크로드에서 시크릿 접근#

GitLab CI/CD job으로 실행되지 않는 워크로드는 Secrets Manager API를 통해 시크릿을 읽을 수 있습니다. 자세한 내용은 비 CI/CD 워크로드에서 시크릿 접근을 참고하세요.

관련 주제#

  • 변수용 시크릿 감사 도구: GitLab 그룹 계층 구조를 스캔하여 이름상 자격 증명(비밀번호, 토큰, API 키 등)을 담고 있을 가능성이 있는 CI/CD 변수를 찾는 커뮤니티 도구입니다. GitLab Secrets Manager로 마이그레이션할 변수를 식별하는 데 도움이 되는 HTML 보고서를 생성합니다.

트러블슈팅#

오류: reading from Vault: api error: status code 403#

CI/CD 파이프라인 job이 시크릿 가져오기를 시도할 때 이 오류가 반환될 수 있습니다:

ERROR: Job failed (system failure): resolving secrets: getting secret: get secret data: reading from Vault: api error: status code 403: 1 error occurred: * permission denied

이 오류는 job이 존재하지 않거나 삭제된 시크릿을 가져오려고 할 때 발생합니다.

오류: inline auth JWT is required#

CI/CD 파이프라인 job이 시크릿 가져오기를 시도할 때 이 오류가 반환될 수 있습니다:

ERROR: Job failed (system failure): resolving secrets: creating vault client: configuring inline auth: inline auth JWT is required

이 오류는 시크릿이 속해야 할 프로젝트 또는 그룹에 대한 시크릿 관리자 인스턴스가 아직 프로비저닝되지 않았을 때 발생합니다. 시크릿 관리자 역할이 아직 없기 때문에 러너가 인증을 구성할 수 없습니다.

이 오류를 해결하려면 프로젝트 또는 그룹에 대해 Secrets Manager를 활성화하세요.

프로비저닝이 완료될 때까지 기다린 후 시크릿을 생성하고 파이프라인을 다시 실행하세요.

GitLab Secrets Manager

GitLab v19.2
Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed
원문 보기
요약

기능 플래그 ci_tanukey_ui는 GitLab 18.4에서 제거됨. GitLab 18.8에서 일부 사용자에게 비공개 베타로 제공됩니다. 그룹 시크릿 관리자가 GitLab 18.10에서 group_secrets_manager 기능 플래그와 함께 도입되어 비공개 베타 사용자에게 제공됩니다.

Status: Beta

히스토리
  • 기능 플래그 ci_tanukey_ui는 GitLab 18.4에서 제거됨.

  • GitLab 18.8에서 일부 사용자에게 비공개 베타로 제공됩니다.

  • 그룹 시크릿 관리자가 GitLab 18.10에서 group_secrets_manager 기능 플래그와 함께 도입되어 비공개 베타 사용자에게 제공됩니다.

  • GitLab 19.0에서 비공개 베타에서 공개 베타로 전환됨.

시크릿은 CI/CD job이 작동하는 데 필요한 민감한 정보를 나타냅니다. 시크릿에는 액세스 토큰, 데이터베이스 자격 증명, 프라이빗 키 등이 포함될 수 있습니다.

기본적으로 항상 job에서 사용 가능한 CI/CD 변수와 달리 시크릿은 job에서 명시적으로 요청해야 합니다.

GitLab Secrets Manager를 사용하여 프로젝트와 그룹의 시크릿과 자격 증명을 안전하게 저장하고 관리합니다.

GitLab Secrets Manager는 공개 베타 기간 동안 무료로 제공되지만, 일반 공개 출시 시 GitLab 크레딧을 소비합니다. 서비스 중단을 방지하기 위해 일반 공개 전에 GitLab 크레딧의 온디맨드 과금을 선택할 수 있도록 사전에 알림이 제공됩니다.

클릭 연습 데모는 GitLab Secrets Manager를 참조하세요.

공개 베타 기간 동안 피드백 이슈 598100에서 의견을 공유해 주세요.

GitLab Secrets Manager 활성화#

Secrets Manager가 최상위 그룹에서 활성화되면 해당 그룹의 모든 하위 그룹과 프로젝트에서도 사용할 수 있습니다.

GitLab Self-Managed에서는 관리자가 먼저 인스턴스에 대해 GitLab Secrets Manager를 설치하고 활성화해야 합니다. Secrets Manager가 설치되고 활성화된 후 인스턴스의 특정 그룹 및 프로젝트에 대해 활성화할 수 있습니다.

프로젝트의 경우#

사전 요구 사항:

  • 프로젝트에 대한 Owner 권한이 있어야 합니다.

프로젝트에 대한 GitLab Secrets Manager를 활성화하거나 비활성화하려면:

  • 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Visibility, project features, permissions를 펼칩니다.

  • Secrets manager 토글을 켜고 시크릿 관리자가 프로비저닝될 때까지 기다립니다.

    나중에 프로젝트에 대한 Secrets Manager를 비활성화하면 모든 프로젝트 시크릿이 영구적으로 삭제됩니다. 이 시크릿은 복구할 수 없습니다.

프로젝트에 대해 정의된 시크릿은 동일한 프로젝트의 파이프라인에서만 액세스할 수 있습니다.

그룹의 경우#

사전 요구 사항:

  • 그룹에 대한 Owner 권한이 있어야 합니다.

그룹에 대한 GitLab Secrets Manager를 활성화하거나 비활성화하려면:

  • 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Permissions and group features를 펼칩니다.

  • Secrets manager 토글을 켜고 시크릿 관리자가 프로비저닝될 때까지 기다립니다.

    나중에 그룹에 대한 Secrets Manager를 비활성화하면 모든 그룹 시크릿이 영구적으로 삭제됩니다. 이 시크릿은 복구할 수 없습니다.

그룹에 대해 정의된 시크릿은 해당 그룹 또는 하위 그룹 계층 구조에 속하는 프로젝트의 파이프라인에서만 액세스할 수 있습니다.

시크릿 정의#

보안 CI/CD 파이프라인과 워크플로에 사용할 수 있도록 시크릿 관리자에 시크릿을 추가할 수 있습니다.

  • 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  • Secure > Secrets manager를 선택합니다.

  • Add secret을 선택하고 세부 정보를 입력합니다:

Name: 프로젝트에서 고유해야 합니다.

  • Value: 10 KB(10,000바이트) 이하여야 합니다.

  • Description: 최대 200자.

  • Environments: 다음으로 설정 가능합니다:

All (default) (*)

  • 특정 환경.

  • 와일드카드 환경.

  • Branch: 프로젝트 설정에만 존재하는 옵션입니다. 다음으로 설정 가능합니다:

특정 브랜치.

  • 와일드카드 브랜치(* 문자가 있어야 함).

  • Protected: 그룹 설정에만 존재하는 옵션입니다. 선택 사항. 보호된 브랜치에서 실행되는 파이프라인에만 시크릿을 내보냅니다.

  • Rotation reminder: 선택 사항. 지정된 일수 후 시크릿을 교체하도록 이메일 알림을 보냅니다. 최소 7일.

시크릿을 생성한 후 파이프라인 구성 또는 job 스크립트에서 사용할 수 있습니다.

시크릿의 값은 시크릿이 생성되거나 업데이트될 때 정의된 특정 환경 또는 브랜치에 대해 실행되는 모든 CI/CD 파이프라인 job에서 액세스할 수 있습니다. 이러한 시크릿의 값에 액세스할 권한이 있는 사용자만 지정된 환경 또는 브랜치의 job을 실행할 수 있는지 확인하세요.

job 스크립트에서 시크릿 사용#

기본적으로 파일 유형 CI/CD 변수와 유사하게 시크릿은 연관된 환경 변수와 함께 파일로 job에 제공됩니다:

  • 시크릿의 키가 환경 변수 이름으로 사용됩니다.

  • 시크릿의 값이 임시 파일에 저장됩니다. 마스킹된 CI/CD 변수와 달리 시크릿에는 공백과 줄 바꿈이 포함될 수 있습니다.

  • 임시 파일의 경로가 환경 변수 값으로 사용됩니다.

파일을 입력으로 받는 명령어와 함께 job 스크립트에서 시크릿을 사용하거나, 선택적으로 시크릿을 환경 변수로 직접 사용할 수 있습니다.

job이 시크릿의 값을 출력하는 경우 GitLab은 job 로그에서 해당 값을 [MASKED]로 대체합니다.

프로젝트 시크릿의 경우#

사전 요구 사항:

  • GitLab Runner 19.0 이상.

프로젝트의 Secret Manager에 저장된 시크릿에 액세스하려면 secretsgitlab_secrets_manager 키워드를 사용하세요.

예를 들어:

job:
  secrets:
    KUBE_CA_PEM:
      gitlab_secrets_manager:
        name: kube-cert
  script:
   - kubectl config set-cluster e2e --server="https://example.com" --certificate-authority="$KUBE_CA_PEM"

그룹 시크릿의 경우#

사전 요구 사항:

  • GitLab Runner 19.0 이상.

그룹의 Secret Manager에 저장된 시크릿에 액세스하려면:

  • secretsgitlab_secrets_manager 키워드를 사용하세요.

  • source 필드에 group/<그룹-전체-경로> 형식으로 시크릿 관리자 소스를 지정하세요.

예를 들어:

job:
  secrets:
    KUBE_CA_PEM:
      gitlab_secrets_manager:
        name: kube-cert
        source: group/my-group/my-subgroup
  script:
   - kubectl config set-cluster e2e --server="https://example.com" --certificate-authority="$KUBE_CA_PEM"

file: false로 시크릿을 환경 변수로 사용#

시크릿을 파일에 저장하지 않고 환경 변수로 사용하려면 시크릿에 file: false를 설정하세요. 예를 들어:

job:
  secrets:
    DEPLOY_SECRET:
      gitlab_secrets_manager:
        name: deploy-credentials
      file: false
  script:
    - my_deploy_command --user username --pass $DEPLOY_SECRET

이 예시에서 시크릿은 DEPLOY_SECRET 변수로 job에 제공되며, 다른 환경 변수처럼 사용할 수 있습니다.

시크릿 권한 관리#

프로젝트의 경우#

사전 요구 사항:

  • 시크릿 권한을 관리하려면 프로젝트에 대한 Owner 권한이 있어야 합니다.

  • 프로젝트에 대한 Maintainer 권한을 가진 사용자는 정의된 권한을 볼 수 있습니다.

  • 프로젝트에 대해 Secrets Manager가 활성화되어 있어야 합니다.

프로젝트의 시크릿 권한을 업데이트하려면:

  • 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Visibility, project features, permissions를 펼칩니다.

  • Secrets manager 아래의 Secrets manager user permissions 섹션에서 사용자 권한을 관리할 수 있습니다:

Add를 선택하여 특정 사용자, 그룹 또는 권한에 대한 권한 규칙을 추가합니다.

  • 시크릿 읽기, 쓰기(생성 및 업데이트), 삭제에 대한 권한 범위를 설정할 수 있습니다.

그룹의 경우#

사전 요구 사항:

  • 시크릿 권한을 관리하려면 그룹에 대한 Owner 권한이 있어야 합니다. 그룹의 Owner 권한을 가진 사용자만 정의된 권한을 볼 수 있습니다.

  • 그룹에 대해 Secrets Manager가 활성화되어 있어야 합니다.

그룹의 시크릿 권한을 업데이트하려면:

  • 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.

  • 왼쪽 사이드바에서 Settings > General을 선택합니다.

  • Permissions and group features를 펼칩니다.

  • Secrets manager 아래의 Secrets manager user permissions 섹션에서 사용자 권한을 관리할 수 있습니다:

Add를 선택하여 특정 사용자, 그룹 또는 권한에 대한 권한 규칙을 추가합니다.

  • 시크릿 읽기, 쓰기(생성 및 업데이트), 삭제에 대한 권한 범위를 설정할 수 있습니다.

그룹의 Owner 권한을 가진 사용자는 항상 Secrets Manager에서 모든 작업을 수행할 권한이 있습니다.

프로젝트 또는 그룹 삭제#

시크릿이 있는 프로젝트를 삭제하거나 그룹을 삭제할 때:

  • 프로젝트 또는 그룹의 시크릿 관리자가 비활성화되고 시크릿 스토리지 엔진에서 제거됩니다.

  • 모든 시크릿이 영구적으로 삭제됩니다.

프로젝트 또는 그룹 전송#

시크릿이 있는 프로젝트를 전송하거나 그룹을 전송할 때:

  • 프로젝트 또는 그룹에 정의된 시크릿은 새 네임스페이스의 프로젝트 또는 그룹으로 전송되지 않습니다.

  • 프로젝트 또는 그룹의 시크릿 관리자가 비활성화되고 시크릿 스토리지 엔진에서 제거됩니다.

  • 모든 시크릿이 영구적으로 삭제됩니다.

시크릿 교체 알림#

프로젝트의 Owner 권한을 가진 사용자는 시크릿 구성에 지정된 날짜에 시크릿을 교체하라는 이메일 알림을 받습니다.

비 CI/CD 워크로드에서 시크릿 접근#

GitLab CI/CD job으로 실행되지 않는 워크로드는 Secrets Manager API를 통해 시크릿을 읽을 수 있습니다. 자세한 내용은 비 CI/CD 워크로드에서 시크릿 접근을 참고하세요.

관련 주제#

  • 변수용 시크릿 감사 도구: GitLab 그룹 계층 구조를 스캔하여 이름상 자격 증명(비밀번호, 토큰, API 키 등)을 담고 있을 가능성이 있는 CI/CD 변수를 찾는 커뮤니티 도구입니다. GitLab Secrets Manager로 마이그레이션할 변수를 식별하는 데 도움이 되는 HTML 보고서를 생성합니다.

트러블슈팅#

오류: reading from Vault: api error: status code 403#

CI/CD 파이프라인 job이 시크릿 가져오기를 시도할 때 이 오류가 반환될 수 있습니다:

ERROR: Job failed (system failure): resolving secrets: getting secret: get secret data: reading from Vault: api error: status code 403: 1 error occurred: * permission denied

이 오류는 job이 존재하지 않거나 삭제된 시크릿을 가져오려고 할 때 발생합니다.

오류: inline auth JWT is required#

CI/CD 파이프라인 job이 시크릿 가져오기를 시도할 때 이 오류가 반환될 수 있습니다:

ERROR: Job failed (system failure): resolving secrets: creating vault client: configuring inline auth: inline auth JWT is required

이 오류는 시크릿이 속해야 할 프로젝트 또는 그룹에 대한 시크릿 관리자 인스턴스가 아직 프로비저닝되지 않았을 때 발생합니다. 시크릿 관리자 역할이 아직 없기 때문에 러너가 인증을 구성할 수 없습니다.

이 오류를 해결하려면 프로젝트 또는 그룹에 대해 Secrets Manager를 활성화하세요.

프로비저닝이 완료될 때까지 기다린 후 시크릿을 생성하고 파이프라인을 다시 실행하세요.