애플리케이션 비밀

이 페이지는 애플리케이션 비밀에 대한 개발 가이드입니다.

비밀 항목

입력 설명
secret_key_base 다양한 비밀을 생성하는 데 사용할 기본 키
otp_key_base 사용자 관리에 설명된 일회용 비밀에 대한 기본 키
db_key_base attr_encrypted 열의 데이터를 암호화하는 데 사용하는 기본 키
openid_connect_signing_key OpenID Connect의 서명 키
encrypted_settings_key_base 설정 파일을 암호화하는 데 사용하는 기본 키
ci_jwt_signing_key 미리 정의된 CI/CD 변수인 CI_JOB_JWTCI_JOB_JWT_V2를 암호화하는 데 사용하는 기본 키. GitLab 15.9에서 CI_JOB_JWTCI_JOB_JWT_V2는 Deprecated 처리되었으며 GitLab 17.0에서 삭제 예정입니다.

비밀이 저장된 위치

설치 유형 위치
Linux 패키지 /etc/gitlab/gitlab-secrets.json
Cloud Native GitLab Charts Kubernetes Secrets
자체 컴파일 <path-to-gitlab-rails>/config/secrets.yml (01_secret_token.rb에 의해 자동 생성됨)

경고: 새로운 비밀을 애플리케이션 비밀에 추가하기 전에

config/initializers/01_secret_token.rb에 새로운 비밀을 추가하기 전에, 해당 비밀에 대해 Omnibus GitLab을 업데이트하여야 합니다. Omnibus GitLab은 secrets.yml 파일을 작성합니다. Omnibus가 비밀을 인식하지 못하면, Rails는 파일에 쓰려고 시도하지만 Rails에는 쓰기 권한이 없기 때문에 작업에 실패합니다. Cloud Native GitLab 차트에도 동일한 규칙이 적용됩니다. 우선 차트를 업데이트해야 합니다. 일반적으로 모든 노드에서 동일한 값의 비밀이 필요한 경우 (이게 일반적인 경우임), 이 파일을 변경하기 전에 모든 GitLab.com 환경에 대해 해당 비밀이 구성되어 있는지 확인해야 합니다.

예시

추가적인 반복

미래에 이 자동 비밀 생성 01_secret_token.rb을 폐기하거나 제거할 수 있습니다. 자세한 내용은 이슈 222690를 참조하세요.