애플리케이션 비밀

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

비밀 항목

항목 설명
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를 암호화하는 데 사용되는 기본 키. CI_JOB_JWTCI_JOB_JWT_V2GitLab 15.9에서 폐기 예정되었으며 GitLab 16.5에서 삭제 예정입니다.

비밀이 저장된 위치

설치 유형 위치
Linux 패키지 /etc/gitlab/gitlab-secrets.json
클라우드 네이티브 GitLab 차트 Kubernetes Secrets
직접 컴파일 <path-to-gitlab-rails>/config/secrets.yml (자동으로 생성됨, 01_secret_token.rb에 의해)

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

config/initializers/01_secret_token.rb에 새로운 비밀을 추가하기 전에, Omnibus GitLab을 업데이트해서 설정하세요. Omnibus는 secrets.yml 파일을 작성하는 역할을 합니다. Omnibus가 비밀을 모르면 Rails는 파일에 쓰려고 시도하지만, 이 작업은 실패하게 됩니다. Rails는 쓰기 액세스 권한을 갖고 있지 않기 때문입니다. 이와 같은 규칙은 클라우드 네이티브 GitLab 차트에도 적용됩니다. 먼저 차트를 업데이트해야 합니다. 대부분의 경우 노드별로 동일한 값이어야 하는 경우(일반적으로 그렇습니다), 이 파일을 변경하기 전에 모든 GitLab.com 환경에 대해 구성되었는지 확인해야 합니다.

예시

추가적인 반복

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