InfoGrab Docs

GitLab Secrets Manager (OpenBao)

GitLab Secrets Manager (OpenBao)에 대해 설명합니다.

히스토리 GitLab 18.8에서 실험으로 도입 되었으며, GitLab 18.8의 클로즈드 베타 에서 일부 초기 테스터에게 제공되었습니다. GitLab Secrets Manager 는 오픈 소스 시크릿 관리 솔루션인 OpenBao 를 사용합니다. OpenBao는 GitLab 인스턴스에서 사용되는 시크릿에 대해 안전한 저장, 액세스 제어, 라이프사이클 관리를 제공합니다. GitLab Secrets Manager에서 시크릿을 사용하는 GitLab CI/CD 잡은 GitLab Runner 18.6 이상을 사용해야 합니다. OpenBao 아키텍처 # OpenBao는 기존 GitLab 서비스와 병렬로 실행되는 선택적 컴포넌트로 GitLab과 통합됩니다. Rails 백엔드와 러너는 로드 밸런서를 통해 OpenBao API에 연결합니다. OpenBao는 데이터를 PostgreSQL에 저장합니다. Helm 차트는 기본적으로 데이터를 주 GitLab 데이터베이스에 저장하도록 OpenBao를 구성합니다. OpenBao는 시크릿 저장소에서 unseal 키를 가져옵니다. OpenBao는 Helm 차트가 마운트한 Kubernetes 시크릿에서 unseal 키를 읽습니다. 감사 로그가 활성화된 경우 OpenBao는 Rails 백엔드에 감사 로그를 게시합니다. Mermaid 다이어그램 (11줄) 소스 코드 보기 flowchart TB SecretStore[Secret store] PostgreSQL[PostgreSQL] LB[Load balancer] OpenBao[OpenBao active node] Rails-- Write secrets and permissions -->LB Runner-- Get pipeline secrets -->LB LB-->OpenBao OpenBao-- Get unseal key -->SecretStore OpenBao-- Store -->PostgreSQL</code></pre></details></div> OpenBao는 모든 요청을 처리하는 단일 활성 노드로 실행되며, 선택적으로 활성 노드가 실패할 경우 대신하는 여러 대기 노드도 있습니다. OpenBao 설치 # 사전 요구 사항: 인스턴스에 대한 관리자 액세스 권한이 있어야 합니다. GitLab 18.8 이상을 실행하고 있어야 합니다. Kubernetes 클러스터가 있어야 합니다. OpenBao를 설치하려면 Kubernetes 배포를 위한 OpenBao Helm 차트 를 사용합니다. 설치 후 GitLab Secrets Manager 사용자 문서 를 따라 시크릿 작업을 테스트하여 OpenBao가 작동하는지 확인합니다. OpenBao 리소스 요구 사항은 GitLab 인스턴스 크기와 시크릿 사용 패턴에 따라 다릅니다. 실제 사용 패턴에 따라 배포를 모니터링하고 리소스를 필요에 따라 조정합니다. CPU 요구 사항 # OpenBao CPU 사용량은 주로 다음에 의해 결정됩니다: C